clang 20.0.0git
Classes | Public Member Functions | Static Public Member Functions | List of all members
clang::DesignatedInitExpr::Designator Class Reference

Represents a single C99 designator. More...

#include "clang/AST/Expr.h"

Public Member Functions

 Designator ()
 
bool isFieldDesignator () const
 
bool isArrayDesignator () const
 
bool isArrayRangeDesignator () const
 
const IdentifierInfogetFieldName () const
 
FieldDeclgetFieldDecl () const
 
void setFieldDecl (FieldDecl *FD)
 
SourceLocation getDotLoc () const
 
SourceLocation getFieldLoc () const
 
unsigned getArrayIndex () const
 
SourceLocation getLBracketLoc () const
 
SourceLocation getEllipsisLoc () const
 
SourceLocation getRBracketLoc () const
 
SourceLocation getBeginLoc () const LLVM_READONLY
 
SourceLocation getEndLoc () const LLVM_READONLY
 
SourceRange getSourceRange () const LLVM_READONLY
 

Static Public Member Functions

static Designator CreateFieldDesignator (const IdentifierInfo *FieldName, SourceLocation DotLoc, SourceLocation FieldLoc)
 Creates a field designator.
 
static Designator CreateArrayDesignator (unsigned Index, SourceLocation LBracketLoc, SourceLocation RBracketLoc)
 Creates an array designator.
 
static Designator CreateArrayRangeDesignator (unsigned Index, SourceLocation LBracketLoc, SourceLocation EllipsisLoc, SourceLocation RBracketLoc)
 Creates a GNU array-range designator.
 

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 5376 of file Expr.h.

Constructor & Destructor Documentation

◆ Designator()

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

Definition at line 5447 of file Expr.h.

Member Function Documentation

◆ CreateArrayDesignator()

static Designator clang::DesignatedInitExpr::Designator::CreateArrayDesignator ( unsigned  Index,
SourceLocation  LBracketLoc,
SourceLocation  RBracketLoc 
)
inlinestatic

Creates an array designator.

Definition at line 5493 of file Expr.h.

References D.

Referenced by clang::ASTNodeImporter::import().

◆ CreateArrayRangeDesignator()

static Designator clang::DesignatedInitExpr::Designator::CreateArrayRangeDesignator ( unsigned  Index,
SourceLocation  LBracketLoc,
SourceLocation  EllipsisLoc,
SourceLocation  RBracketLoc 
)
inlinestatic

Creates a GNU array-range designator.

Definition at line 5503 of file Expr.h.

References D.

Referenced by clang::ASTNodeImporter::import().

◆ CreateFieldDesignator()

static Designator clang::DesignatedInitExpr::Designator::CreateFieldDesignator ( const IdentifierInfo FieldName,
SourceLocation  DotLoc,
SourceLocation  FieldLoc 
)
inlinestatic

Creates a field designator.

Definition at line 5457 of file Expr.h.

References D.

Referenced by clang::ASTNodeImporter::import().

◆ getArrayIndex()

unsigned clang::DesignatedInitExpr::Designator::getArrayIndex ( ) const
inline

Definition at line 5514 of file Expr.h.

References ArrayOrRangeInfo, isArrayDesignator(), and isArrayRangeDesignator().

◆ getBeginLoc()

SourceLocation clang::DesignatedInitExpr::Designator::getBeginLoc ( ) const
inline

◆ getDotLoc()

SourceLocation clang::DesignatedInitExpr::Designator::getDotLoc ( ) const
inline

◆ getEllipsisLoc()

SourceLocation clang::DesignatedInitExpr::Designator::getEllipsisLoc ( ) const
inline

Definition at line 5526 of file Expr.h.

References ArrayOrRangeInfo, and isArrayRangeDesignator().

◆ getEndLoc()

SourceLocation clang::DesignatedInitExpr::Designator::getEndLoc ( ) const
inline

Definition at line 5544 of file Expr.h.

References getFieldLoc(), getRBracketLoc(), and isFieldDesignator().

Referenced by getSourceRange().

◆ getFieldDecl()

FieldDecl * clang::DesignatedInitExpr::Designator::getFieldDecl ( ) const
inline

Definition at line 5467 of file Expr.h.

References FieldInfo, and isFieldDesignator().

Referenced by getFieldName().

◆ getFieldLoc()

SourceLocation clang::DesignatedInitExpr::Designator::getFieldLoc ( ) const
inline

◆ getFieldName()

const IdentifierInfo * DesignatedInitExpr::Designator::getFieldName ( ) const

◆ getLBracketLoc()

SourceLocation clang::DesignatedInitExpr::Designator::getLBracketLoc ( ) const
inline

Definition at line 5520 of file Expr.h.

References ArrayOrRangeInfo, isArrayDesignator(), and isArrayRangeDesignator().

Referenced by getBeginLoc().

◆ getRBracketLoc()

SourceLocation clang::DesignatedInitExpr::Designator::getRBracketLoc ( ) const
inline

Definition at line 5532 of file Expr.h.

References ArrayOrRangeInfo, isArrayDesignator(), and