clang API Documentation
#include <Expr.h>
Public Types | |
enum | Kind { Array = 0x00, Field = 0x01, Identifier = 0x02, Base = 0x03 } |
The kind of offsetof node we have. More... | |
Public Member Functions | |
OffsetOfNode (SourceLocation LBracketLoc, unsigned Index, SourceLocation RBracketLoc) | |
Create an offsetof node that refers to an array element. | |
OffsetOfNode (SourceLocation DotLoc, FieldDecl *Field, SourceLocation NameLoc) | |
Create an offsetof node that refers to a field. | |
OffsetOfNode (SourceLocation DotLoc, IdentifierInfo *Name, SourceLocation NameLoc) | |
Create an offsetof node that refers to an identifier. | |
OffsetOfNode (const CXXBaseSpecifier *Base) | |
Create an offsetof node that refers into a C++ base class. | |
Kind | getKind () const |
Determine what kind of offsetof node this is. | |
unsigned | getArrayExprIndex () const |
For an array element node, returns the index into the array of expressions. | |
FieldDecl * | getField () const |
For a field offsetof node, returns the field. | |
IdentifierInfo * | getFieldName () const |
For a field or identifier offsetof node, returns the name of the field. | |
CXXBaseSpecifier * | getBase () const |
For a base class node, returns the base specifier. | |
SourceRange | getSourceRange () const LLVM_READONLY |
Retrieve the source range that covers this offsetof node. | |
SourceLocation | getLocStart () const LLVM_READONLY |
SourceLocation | getLocEnd () const LLVM_READONLY |
clang::OffsetOfExpr::OffsetOfNode::OffsetOfNode | ( | SourceLocation | LBracketLoc, |
unsigned | Index, | ||
SourceLocation | RBracketLoc | ||
) | [inline] |
clang::OffsetOfExpr::OffsetOfNode::OffsetOfNode | ( | SourceLocation | DotLoc, |
FieldDecl * | Field, | ||
SourceLocation | NameLoc | ||
) | [inline] |
clang::OffsetOfExpr::OffsetOfNode::OffsetOfNode | ( | SourceLocation | DotLoc, |
IdentifierInfo * | Name, | ||
SourceLocation | NameLoc | ||
) | [inline] |
clang::OffsetOfExpr::OffsetOfNode::OffsetOfNode | ( | const CXXBaseSpecifier * | Base | ) | [inline, explicit] |
unsigned clang::OffsetOfExpr::OffsetOfNode::getArrayExprIndex | ( | ) | const [inline] |
CXXBaseSpecifier* clang::OffsetOfExpr::OffsetOfNode::getBase | ( | ) | const [inline] |
FieldDecl* clang::OffsetOfExpr::OffsetOfNode::getField | ( | ) | const [inline] |
For a field offsetof node, returns the field.
Definition at line 1846 of file Expr.h.
References Field, and getKind().
Referenced by getFieldName().
For a field or identifier offsetof node, returns the name of the field.
Definition at line 1354 of file Expr.cpp.
References Field, getField(), clang::NamedDecl::getIdentifier(), getKind(), and Identifier.
Kind clang::OffsetOfExpr::OffsetOfNode::getKind | ( | ) | const [inline] |
Determine what kind of offsetof node this is.
Definition at line 1834 of file Expr.h.
Referenced by getArrayExprIndex(), getBase(), getField(), and getFieldName().
SourceLocation clang::OffsetOfExpr::OffsetOfNode::getLocEnd | ( | ) | const [inline] |
Definition at line 1869 of file Expr.h.
References clang::SourceRange::getEnd().
SourceLocation clang::OffsetOfExpr::OffsetOfNode::getLocStart | ( | ) | const [inline] |
Definition at line 1868 of file Expr.h.
References clang::SourceRange::getBegin().
SourceRange clang::OffsetOfExpr::OffsetOfNode::getSourceRange | ( | ) | const [inline] |
Retrieve the source range that covers this offsetof node.
For an array element node, the source range contains the locations of the square brackets. For a field or identifier node, the source range contains the location of the period (if there is one) and the identifier.