clang  3.7.0
Public Member Functions | Friends | List of all members
clang::DesignatedInitExpr::Designator Class Reference

Represents a single C99 designator. More...

#include <Expr.h>

Collaboration diagram for clang::DesignatedInitExpr::Designator:
[legend]

Public Member Functions

 Designator ()
 
 Designator (const IdentifierInfo *FieldName, SourceLocation DotLoc, SourceLocation FieldLoc)
 Initializes a field designator. More...
 
 Designator (unsigned Index, SourceLocation LBracketLoc, SourceLocation RBracketLoc)
 Initializes an array designator. More...
 
 Designator (unsigned Index, SourceLocation LBracketLoc, SourceLocation EllipsisLoc, SourceLocation RBracketLoc)
 Initializes a GNU array-range designator. More...
 
bool isFieldDesignator () const
 
bool isArrayDesignator () const
 
bool isArrayRangeDesignator () const
 
IdentifierInfogetFieldName () const
 
FieldDeclgetField () const
 
void setField (FieldDecl *FD)
 
SourceLocation getDotLoc () const
 
SourceLocation getFieldLoc () const
 
SourceLocation getLBracketLoc () const
 
SourceLocation getRBracketLoc () const
 
SourceLocation getEllipsisLoc () const
 
unsigned getFirstExprIndex () const
 
SourceLocation getLocStart () const LLVM_READONLY
 
SourceLocation getLocEnd () const LLVM_READONLY
 
SourceRange getSourceRange () const LLVM_READONLY
 

Friends

class DesignatedInitExpr
 

Detailed Description

Represents a single C99 designator.

Todo:
This class is infuriatingly similar to clang::Designator, but minor differences (storing indices vs. storing pointers) keep us from reusing it. Try harder, later, to rectify these differences.

Definition at line 4035 of file Expr.h.

Constructor & Destructor Documentation

clang::DesignatedInitExpr::Designator::Designator ( )
inline

Definition at line 4052 of file Expr.h.

clang::DesignatedInitExpr::Designator::Designator ( const IdentifierInfo FieldName,
SourceLocation  DotLoc,
SourceLocation  FieldLoc 
)
inline
clang::DesignatedInitExpr::Designator::Designator ( unsigned  Index,
SourceLocation  LBracketLoc,
SourceLocation  RBracketLoc 
)
inline
clang::DesignatedInitExpr::Designator::Designator ( unsigned  Index,
SourceLocation  LBracketLoc,
SourceLocation  EllipsisLoc,
SourceLocation  RBracketLoc 
)
inline

Member Function Documentation

SourceLocation clang::DesignatedInitExpr::Designator::getDotLoc ( ) const
inline
SourceLocation clang::DesignatedInitExpr::Designator::getEllipsisLoc ( ) const
inline
FieldDecl* clang::DesignatedInitExpr::Designator::getField ( ) const
inline

Definition at line 4089 of file Expr.h.

References Field, and clang::DesignatedInitExpr::FieldDesignator::NameOrField.

Referenced by getFieldName().

SourceLocation clang::DesignatedInitExpr::Designator::getFieldLoc ( ) const
inline
IdentifierInfo * DesignatedInitExpr::Designator::getFieldName ( ) const
unsigned clang::DesignatedInitExpr::Designator::getFirstExprIndex ( ) const
inline
SourceLocation clang::DesignatedInitExpr::Designator::getLBracketLoc ( ) const
inline
SourceLocation clang::DesignatedInitExpr::Designator::getLocEnd ( ) const
inline
SourceLocation clang::DesignatedInitExpr::Designator::getLocStart ( ) const
inline
SourceLocation clang::DesignatedInitExpr::Designator::getRBracketLoc ( ) const
inline
SourceRange clang::DesignatedInitExpr::Designator::getSourceRange ( ) const
inline

Definition at line 4145 of file Expr.h.

References getLocEnd(), and getLocStart().

Referenced by clang::DesignatedInitExpr::getDesignatorsSourceRange().

bool clang::DesignatedInitExpr::Designator::isArrayDesignator ( ) const
inline

Definition at line 4084 of file Expr.h.

bool clang::DesignatedInitExpr::Designator::isArrayRangeDesignator ( ) const
inline

Definition at line 4085 of file Expr.h.

bool clang::DesignatedInitExpr::Designator::isFieldDesignator ( ) const
inline

Definition at line 4083 of file Expr.h.

Referenced by clang::DesignatedInitExpr::getLocStart().

void clang::DesignatedInitExpr::Designator::setField ( FieldDecl FD)
inline

Definition at line 4097 of file Expr.h.

References Field, and clang::DesignatedInitExpr::FieldDesignator::NameOrField.

Friends And Related Function Documentation

friend class DesignatedInitExpr
friend

Definition at line 4049 of file Expr.h.

Member Data Documentation

struct ArrayOrRangeDesignator clang::DesignatedInitExpr::Designator::ArrayOrRange
struct FieldDesignator clang::DesignatedInitExpr::Designator::Field

A field designator, e.g., ".x".

Definition at line 4045 of file Expr.h.

Referenced by Designator(), getDotLoc(), getField(), getFieldLoc(), getFieldName(), clang::DesignatedInitExpr::getLocStart(), and setField().


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