clang API Documentation

Public Member Functions | Static Public Member Functions | Friends
clang::VariableArrayType Class Reference

#include <Type.h>

Inheritance diagram for clang::VariableArrayType:
Inheritance graph
[legend]
Collaboration diagram for clang::VariableArrayType:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Expr * getSizeExpr () const
SourceRange getBracketsRange () const
SourceLocation getLBracketLoc () const
SourceLocation getRBracketLoc () const
bool isSugared () const
QualType desugar () const
void Profile (llvm::FoldingSetNodeID &ID)

Static Public Member Functions

static bool classof (const Type *T)

Friends

class ASTContext
class StmtIteratorBase

Detailed Description

VariableArrayType - This class represents C arrays with a specified size which is not an integer-constant-expression. For example, 'int s[x+foo()]'. Since the size expression is an arbitrary expression, we store it as such.

Note: VariableArrayType's aren't uniqued (since the expressions aren't) and should not be: two lexically equivalent variable array types could mean different things, for example, these variables do not have the same type dynamically:

void foo(int x) { int Y[x]; ++x; int Z[x]; }

Definition at line 2386 of file Type.h.


Member Function Documentation

static bool clang::VariableArrayType::classof ( const Type *  T) [inline, static]

Reimplemented from clang::ArrayType.

Definition at line 2414 of file Type.h.

References clang::Type::getTypeClass().

Definition at line 2412 of file Type.h.

Definition at line 2408 of file Type.h.

Definition at line 2409 of file Type.h.

Definition at line 2411 of file Type.h.

void clang::VariableArrayType::Profile ( llvm::FoldingSetNodeID &  ID) [inline]

Definition at line 2420 of file Type.h.


Friends And Related Function Documentation

friend class ASTContext [friend]

Reimplemented from clang::ArrayType.

Definition at line 2399 of file Type.h.

friend class StmtIteratorBase [friend]

Definition at line 2418 of file Type.h.


The documentation for this class was generated from the following file: