class ArrayTypeTraitExpr

Declaration

class ArrayTypeTraitExpr : public Expr { /* full declaration omitted */ };

Description

An Embarcadero array type trait, as used in the implementation of __array_rank and __array_extent. Example:

Declared at: clang/include/clang/AST/ExprCXX.h:2770

Inherits from: Expr

Member Variables

private unsigned int ATT
The trait. An ArrayTypeTrait enum in MSVC compat unsigned.
private uint64_t Value = 0
The value of the type trait. Unspecified if dependent.
private clang::Expr* Dimension
The array dimension being queried, or -1 if not used.
private clang::SourceLocation Loc
The location of the type trait keyword.
private clang::SourceLocation RParen
The location of the closing paren.
private clang::TypeSourceInfo* QueriedType = nullptr
The type being queried.

Inherited from Stmt:

protected

Method Overview

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

ArrayTypeTraitExpr(clang::SourceLocation loc,
                   clang::ArrayTypeTrait att,
                   clang::TypeSourceInfo* queried,
                   uint64_t value,
                   clang::Expr* dimension,
                   clang::SourceLocation rparen,
                   clang::QualType ty)

Declared at: clang/include/clang/AST/ExprCXX.h:2792

Parameters

clang::SourceLocation loc
clang::ArrayTypeTrait att
clang::TypeSourceInfo* queried
uint64_t value
clang::Expr* dimension
clang::SourceLocation rparen
clang::QualType ty

ArrayTypeTraitExpr(clang::Stmt::EmptyShell Empty)

Declared at: clang/include/clang/AST/ExprCXX.h:2803

Parameters

clang::Stmt::EmptyShell Empty

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/ExprCXX.h:2824

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/ExprCXX.h:2828

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/ExprCXX.h:2819

Parameters

const clang::Stmt* T

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:2806

clang::Expr* getDimensionExpression() const

Declared at: clang/include/clang/AST/ExprCXX.h:2817

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:2807

clang::QualType getQueriedType() const

Declared at: clang/include/clang/AST/ExprCXX.h:2811

clang::TypeSourceInfo* getQueriedTypeSourceInfo()
    const

Declared at: clang/include/clang/AST/ExprCXX.h:2813

clang::ArrayTypeTrait getTrait() const

Declared at: clang/include/clang/AST/ExprCXX.h:2809

uint64_t getValue() const

Declared at: clang/include/clang/AST/ExprCXX.h:2815