clang 17.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. | |
void | FreeExprs (Sema &Actions) |
FreeExprs - Release any unclaimed memory for the expressions in this designator. | |
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 175 of file Designator.h.
|
inline |
FreeExprs - Release any unclaimed memory for the expressions in this designator.
Definition at line 179 of file Designator.h.
|
inlinestatic |
Definition at line 138 of file Designator.h.
References ArrayDesignator, and ArrayInfo.
|
inline |
Definition at line 90 of file Designator.h.
References ArrayInfo, and isArrayDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inlinestatic |
Definition at line 149 of file Designator.h.
References ArrayRangeDesignator, and ArrayRangeInfo.
|
inline |
Definition at line 99 of file Designator.h.
References ArrayRangeInfo, and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 95 of file Designator.h.
References ArrayRangeInfo, and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 80 of file Designator.h.
References FieldInfo, and isFieldDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 122 of file Designator.h.
References ArrayRangeInfo, and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 75 of file Designator.h.
References FieldInfo, and isFieldDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inlinestatic |
Definition at line 127 of file Designator.h.
References FieldDesignator, and FieldInfo.
|
inline |
Definition at line 85 of file Designator.h.
References FieldInfo, and isFieldDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 70 of file Designator.h.
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 104 of file Designator.h.
References ArrayInfo, ArrayRangeInfo, isArrayDesignator(), and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 113 of file Designator.h.
References ArrayInfo, ArrayRangeInfo, isArrayDesignator(), and isArrayRangeDesignator().
Referenced by clang::Sema::ActOnDesignatedInitializer().
|
inline |
Definition at line 72 of file Designator.h.
References ArrayDesignator.
Referenced by CheckArrayDesignatorSyntax(), getArrayIndex(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
|
inline |
Definition at line 73 of file Designator.h.
References ArrayRangeDesignator.
Referenced by CheckArrayDesignatorSyntax(), getArrayRangeEnd(), getArrayRangeStart(), getEllipsisLoc(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
|
inline |
Definition at line 71 of file Designator.h.
References FieldDesignator.
Referenced by getDotLoc(), getField(), and getFieldLoc().
|
inline |
Definition at line 164 of file Designator.h.
References ArrayInfo, ArrayRangeInfo, isArrayDesignator(), and isArrayRangeDesignator().
ArrayDesignatorInfo clang::Designator::ArrayInfo |
Definition at line 64 of file Designator.h.
Referenced by getArray(), getArrayIndex(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
ArrayRangeDesignatorInfo clang::Designator::ArrayRangeInfo |
Definition at line 65 of file Designator.h.
Referenced by getArrayRange(), getArrayRangeEnd(), getArrayRangeStart(), getEllipsisLoc(), getLBracketLoc(), getRBracketLoc(), and setRBracketLoc().
FieldDesignatorInfo clang::Designator::FieldInfo |
Definition at line 63 of file Designator.h.
Referenced by getDotLoc(), getField(), and getFieldLoc().