clang API Documentation
#include <Designator.h>
Designator - A designator in a C99 designated initializer.
This class is a discriminated union which holds the various different sorts of designators possible. A Designation is an array of these. An example of a designator are things like this: [8] .field [47] // C99 designation: 3 designators [8 ... 47] field: // GNU extensions: 2 designators These occur in initializers, e.g.: int a[10] = {2, 4, [8]=9, 10};
Definition at line 37 of file Designator.h.
Definition at line 39 of file Designator.h.
void clang::Designator::ClearExprs | ( | Sema & | Actions | ) | [inline] |
ClearExprs - Null out any expression references, which prevents them from being 'delete'd later.
Definition at line 171 of file Designator.h.
void clang::Designator::FreeExprs | ( | Sema & | Actions | ) | [inline] |
FreeExprs - Release any unclaimed memory for the expressions in this designator.
Definition at line 175 of file Designator.h.
static Designator clang::Designator::getArray | ( | Expr * | Index, |
SourceLocation | LBracketLoc | ||
) | [inline, static] |
Definition at line 136 of file Designator.h.
References ArrayDesignator, ArrayInfo, and clang::SourceLocation::getRawEncoding().
Expr* clang::Designator::getArrayIndex | ( | ) | const [inline] |
Definition at line 89 of file Designator.h.
References ArrayInfo, and isArrayDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
static Designator clang::Designator::getArrayRange | ( | Expr * | Start, |
Expr * | End, | ||
SourceLocation | LBracketLoc, | ||
SourceLocation | EllipsisLoc | ||
) | [inline, static] |
Definition at line 146 of file Designator.h.
References ArrayRangeDesignator, ArrayRangeInfo, and clang::SourceLocation::getRawEncoding().
Expr* clang::Designator::getArrayRangeEnd | ( | ) | const [inline] |
Definition at line 98 of file Designator.h.
References ArrayRangeInfo, and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
Expr* clang::Designator::getArrayRangeStart | ( | ) | const [inline] |
Definition at line 94 of file Designator.h.
References ArrayRangeInfo, and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
SourceLocation clang::Designator::getDotLoc | ( | ) | const [inline] |
Definition at line 79 of file Designator.h.
References FieldInfo, clang::SourceLocation::getFromRawEncoding(), and isFieldDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
SourceLocation clang::Designator::getEllipsisLoc | ( | ) | const [inline] |
Definition at line 121 of file Designator.h.
References ArrayRangeInfo, clang::SourceLocation::getFromRawEncoding(), and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
const IdentifierInfo* clang::Designator::getField | ( | ) | const [inline] |
Definition at line 74 of file Designator.h.
References FieldInfo, and isFieldDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
static Designator clang::Designator::getField | ( | const IdentifierInfo * | II, |
SourceLocation | DotLoc, | ||
SourceLocation | NameLoc | ||
) | [inline, static] |
Definition at line 126 of file Designator.h.
References FieldDesignator, FieldInfo, and clang::SourceLocation::getRawEncoding().
SourceLocation clang::Designator::getFieldLoc | ( | ) | const [inline] |
Definition at line 84 of file Designator.h.
References FieldInfo, clang::SourceLocation::getFromRawEncoding(), and isFieldDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
DesignatorKind clang::Designator::getKind | ( | ) | const [inline] |
Definition at line 69 of file Designator.h.
Referenced by clang::Sema::ActOnDesignatedInitializer().
SourceLocation clang::Designator::getLBracketLoc | ( | ) | const [inline] |
Definition at line 103 of file Designator.h.
References ArrayInfo, ArrayRangeInfo, clang::SourceLocation::getFromRawEncoding(), isArrayDesignator(), and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
SourceLocation clang::Designator::getRBracketLoc | ( | ) | const [inline] |
Definition at line 112 of file Designator.h.
References ArrayInfo, ArrayRangeInfo, clang::SourceLocation::getFromRawEncoding(), isArrayDesignator(), and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
bool clang::Designator::isArrayDesignator | ( | ) | const [inline] |
Definition at line 71 of file Designator.h.
References ArrayDesignator.
Referenced by CheckArrayDesignatorSyntax(), getArrayIndex(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
bool clang::Designator::isArrayRangeDesignator | ( | ) | const [inline] |
Definition at line 72 of file Designator.h.
References ArrayRangeDesignator.
Referenced by CheckArrayDesignatorSyntax(), getArrayRangeEnd(), getArrayRangeStart(), getEllipsisLoc(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
bool clang::Designator::isFieldDesignator | ( | ) | const [inline] |
Definition at line 70 of file Designator.h.
References FieldDesignator.
Referenced by getDotLoc(), getField(), and getFieldLoc().
void clang::Designator::setRBracketLoc | ( | SourceLocation | RBracketLoc | ) | const [inline] |
Definition at line 160 of file Designator.h.
References ArrayInfo, ArrayRangeInfo, clang::SourceLocation::getRawEncoding(), isArrayDesignator(), and isArrayRangeDesignator().
ArrayDesignatorInfo clang::Designator::ArrayInfo |
Definition at line 63 of file Designator.h.
Referenced by getArray(), getArrayIndex(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
ArrayRangeDesignatorInfo clang::Designator::ArrayRangeInfo |
Definition at line 64 of file Designator.h.
Referenced by getArrayRange(), getArrayRangeEnd(), getArrayRangeStart(), getEllipsisLoc(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
FieldDesignatorInfo clang::Designator::FieldInfo |
Definition at line 62 of file Designator.h.
Referenced by getDotLoc(), getField(), and getFieldLoc().