clang
10.0.0git
|
Designator - A designator in a C99 designated initializer. More...
#include "clang/Sema/Designator.h"
Public Types | |
enum | DesignatorKind { FieldDesignator, ArrayDesignator, ArrayRangeDesignator } |
Public Member Functions | |
DesignatorKind | getKind () const |
bool | isFieldDesignator () const |
bool | isArrayDesignator () const |
bool | isArrayRangeDesignator () const |
const IdentifierInfo * | getField () const |
SourceLocation | getDotLoc () const |
SourceLocation | getFieldLoc () const |
Expr * | getArrayIndex () const |
Expr * | getArrayRangeStart () const |
Expr * | getArrayRangeEnd () const |
SourceLocation | getLBracketLoc () const |
SourceLocation | getRBracketLoc () const |
SourceLocation | getEllipsisLoc () const |
void | setRBracketLoc (SourceLocation RBracketLoc) const |
void | ClearExprs (Sema &Actions) |
ClearExprs - Null out any expression references, which prevents them from being 'delete'd later. More... | |
void | FreeExprs (Sema &Actions) |
FreeExprs - Release any unclaimed memory for the expressions in this designator. More... | |
Static Public Member Functions | |
static Designator | getField (const IdentifierInfo *II, SourceLocation DotLoc, SourceLocation NameLoc) |
static Designator | getArray (Expr *Index, SourceLocation LBracketLoc) |
static Designator | getArrayRange (Expr *Start, Expr *End, SourceLocation LBracketLoc, SourceLocation EllipsisLoc) |
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 36 of file Designator.h.
Enumerator | |
---|---|
FieldDesignator | |
ArrayDesignator | |
ArrayRangeDesignator |
Definition at line 38 of file Designator.h.
|
inline |
ClearExprs - Null out any expression references, which prevents them from being 'delete'd later.
Definition at line 170 of file Designator.h.
|
inline |
FreeExprs - Release any unclaimed memory for the expressions in this designator.
Definition at line 174 of file Designator.h.
|
inlinestatic |
Definition at line 135 of file Designator.h.
Referenced by CheckArrayDesignatorSyntax().
|
inline |
Definition at line 88 of file Designator.h.
References ArrayInfo, and isArrayDesignator().
|
inlinestatic |
Definition at line 145 of file Designator.h.
References ArrayRangeDesignator, ArrayRangeInfo, End, and clang::SourceLocation::getRawEncoding().
Referenced by CheckArrayDesignatorSyntax().
|
inline |
Definition at line 97 of file Designator.h.
References ArrayRangeInfo, and isArrayRangeDesignator().
|
inline |
Definition at line 93 of file Designator.h.
References ArrayRangeInfo, and isArrayRangeDesignator().
|
inline |
Definition at line 78 of file Designator.h.
References FieldInfo, clang::SourceLocation::getFromRawEncoding(), and isFieldDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 120 of file Designator.h.
References ArrayRangeInfo, clang::SourceLocation::getFromRawEncoding(), and isArrayRangeDesignator().
|
inline |
Definition at line 73 of file Designator.h.
References FieldInfo, and isFieldDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer(), and CheckArrayDesignatorSyntax().
|
inlinestatic |
Definition at line 125 of file Designator.h.
References FieldDesignator, FieldInfo, and clang::SourceLocation::getRawEncoding().
|
inline |
Definition at line 83 of file Designator.h.
References FieldInfo, clang::SourceLocation::getFromRawEncoding(), and isFieldDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 68 of file Designator.h.
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 102 of file Designator.h.
References ArrayInfo, ArrayRangeInfo, clang::SourceLocation::getFromRawEncoding(), isArrayDesignator(), and isArrayRangeDesignator().
|
inline |
Definition at line 111 of file Designator.h.
References ArrayInfo, ArrayRangeInfo, clang::SourceLocation::getFromRawEncoding(), isArrayDesignator(), and isArrayRangeDesignator().
|
inline |
Definition at line 70 of file Designator.h.
References ArrayDesignator.
Referenced by CheckArrayDesignatorSyntax(), getArrayIndex(), getLBracketLoc(), getRBracketLoc(), isParenthesizedADLCallee(), and setRBracketLoc().
|
inline |
Definition at line 71 of file Designator.h.
References ArrayRangeDesignator.
Referenced by CheckArrayDesignatorSyntax(), getArrayRangeEnd(), getArrayRangeStart(), getEllipsisLoc(), getLBracketLoc(), getRBracketLoc(), isParenthesizedADLCallee(), and setRBracketLoc().
|
inline |
Definition at line 69 of file Designator.h.
References FieldDesignator.
Referenced by getDotLoc(), getField(), getFieldLoc(), and isParenthesizedADLCallee().
|
inline |
Definition at line 159 of file Designator.h.
References ArrayInfo, ArrayRangeInfo, clang::SourceLocation::getRawEncoding(), isArrayDesignator(), and isArrayRangeDesignator().
ArrayDesignatorInfo clang::Designator::ArrayInfo |
Definition at line 62 of file Designator.h.
Referenced by getArrayIndex(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
ArrayRangeDesignatorInfo clang::Designator::ArrayRangeInfo |
Definition at line 63 of file Designator.h.
Referenced by getArrayRange(), getArrayRangeEnd(), getArrayRangeStart(), getEllipsisLoc(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
FieldDesignatorInfo clang::Designator::FieldInfo |
Definition at line 61 of file Designator.h.
Referenced by getDotLoc(), getField(), and getFieldLoc().