clang API Documentation

Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
clang::DeclaratorChunk Struct Reference

#include <DeclSpec.h>

Collaboration diagram for clang::DeclaratorChunk:
Collaboration graph
[legend]

List of all members.

Classes

struct  ArrayTypeInfo
struct  BlockPointerTypeInfo
struct  FunctionTypeInfo
struct  MemberPointerTypeInfo
struct  ParamInfo
struct  PointerTypeInfo
struct  ReferenceTypeInfo
struct  TypeAndRange
struct  TypeInfoCommon

Public Types

enum  {
  Pointer, Reference, Array, Function,
  BlockPointer, MemberPointer, Paren
}

Public Member Functions

void destroy ()
const AttributeListgetAttrs () const
AttributeList *& getAttrListRef ()

Static Public Member Functions

static DeclaratorChunk getPointer (unsigned TypeQuals, SourceLocation Loc, SourceLocation ConstQualLoc, SourceLocation VolatileQualLoc, SourceLocation RestrictQualLoc)
static DeclaratorChunk getReference (unsigned TypeQuals, SourceLocation Loc, bool lvalue)
static DeclaratorChunk getArray (unsigned TypeQuals, bool isStatic, bool isStar, Expr *NumElts, SourceLocation LBLoc, SourceLocation RBLoc)
static DeclaratorChunk getFunction (bool hasProto, bool isVariadic, SourceLocation EllipsisLoc, ParamInfo *ArgInfo, unsigned NumArgs, unsigned TypeQuals, bool RefQualifierIsLvalueRef, SourceLocation RefQualifierLoc, SourceLocation ConstQualifierLoc, SourceLocation VolatileQualifierLoc, SourceLocation MutableLoc, ExceptionSpecificationType ESpecType, SourceLocation ESpecLoc, ParsedType *Exceptions, SourceRange *ExceptionRanges, unsigned NumExceptions, Expr *NoexceptExpr, SourceLocation LocalRangeBegin, SourceLocation LocalRangeEnd, Declarator &TheDeclarator, ParsedType TrailingReturnType=ParsedType())
static DeclaratorChunk getBlockPointer (unsigned TypeQuals, SourceLocation Loc)
static DeclaratorChunk getMemberPointer (const CXXScopeSpec &SS, unsigned TypeQuals, SourceLocation Loc)
static DeclaratorChunk getParen (SourceLocation LParenLoc, SourceLocation RParenLoc)

Public Attributes

enum clang::DeclaratorChunk:: { ... }  Kind
SourceLocation Loc
 Loc - The place where this type was defined.
SourceLocation EndLoc
 EndLoc - If valid, the place where this chunck ends.
union {
   TypeInfoCommon   Common
   PointerTypeInfo   Ptr
   ReferenceTypeInfo   Ref
   ArrayTypeInfo   Arr
   FunctionTypeInfo   Fun
   BlockPointerTypeInfo   Cls
   MemberPointerTypeInfo   Mem
}; 

Detailed Description

DeclaratorChunk - One instance of this struct is used for each type in a declarator that is parsed.

This is intended to be a small value object.

Definition at line 993 of file DeclSpec.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
Pointer 
Reference 
Array 
Function 
BlockPointer 
MemberPointer 
Paren 

Definition at line 994 of file DeclSpec.h.


Member Function Documentation

void clang::DeclaratorChunk::destroy ( ) [inline]
static DeclaratorChunk clang::DeclaratorChunk::getArray ( unsigned  TypeQuals,
bool  isStatic,
bool  isStar,
Expr NumElts,
SourceLocation  LBLoc,
SourceLocation  RBLoc 
) [inline, static]
AttributeList*& clang::DeclaratorChunk::getAttrListRef ( ) [inline]
const AttributeList* clang::DeclaratorChunk::getAttrs ( ) const [inline]
static DeclaratorChunk clang::DeclaratorChunk::getBlockPointer ( unsigned  TypeQuals,
SourceLocation  Loc 
) [inline, static]
DeclaratorChunk DeclaratorChunk::getFunction ( bool  hasProto,
bool  isVariadic,
SourceLocation  EllipsisLoc,
ParamInfo ArgInfo,
unsigned  NumArgs,
unsigned  TypeQuals,
bool  RefQualifierIsLvalueRef,
SourceLocation  RefQualifierLoc,
SourceLocation  ConstQualifierLoc,
SourceLocation  VolatileQualifierLoc,
SourceLocation  MutableLoc,
ExceptionSpecificationType  ESpecType,
SourceLocation  ESpecLoc,
ParsedType Exceptions,
SourceRange ExceptionRanges,
unsigned  NumExceptions,
Expr NoexceptExpr,
SourceLocation  LocalRangeBegin,
SourceLocation  LocalRangeEnd,
Declarator TheDeclarator,
ParsedType  TrailingReturnType = ParsedType() 
) [static]

DeclaratorChunk::getFunction - Return a DeclaratorChunk for a function. "TheDeclarator" is the declarator that this will be added to.

Definition at line 147 of file DeclSpec.cpp.

References clang::DeclaratorChunk::FunctionTypeInfo::ArgInfo, clang::DeclaratorChunk::TypeInfoCommon::AttrList, clang::DeclaratorChunk::FunctionTypeInfo::ConstQualifierLoc, clang::DeclaratorChunk::FunctionTypeInfo::DeleteArgInfo, clang::DeclaratorChunk::FunctionTypeInfo::EllipsisLoc, EndLoc, clang::EST_ComputedNoexcept, clang::EST_Dynamic, clang::DeclaratorChunk::FunctionTypeInfo::Exceptions, clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecLoc, clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecType, Fun, Function, clang::OpaquePtr< PtrTy >::getAsOpaquePtr(), clang::SourceLocation::getRawEncoding(), clang::DeclaratorChunk::FunctionTypeInfo::hasPrototype, clang::DeclaratorChunk::FunctionTypeInfo::isVariadic, Kind, Loc, clang::DeclaratorChunk::FunctionTypeInfo::MutableLoc, clang::DeclaratorChunk::FunctionTypeInfo::NoexceptExpr, clang::DeclaratorChunk::FunctionTypeInfo::NumArgs, NumArgs, clang::DeclaratorChunk::FunctionTypeInfo::NumExceptions, clang::DeclaratorChunk::TypeAndRange::Range, clang::DeclaratorChunk::FunctionTypeInfo::RefQualifierIsLValueRef, clang::DeclaratorChunk::FunctionTypeInfo::RefQualifierLoc, clang::DeclaratorChunk::FunctionTypeInfo::TrailingReturnType, clang::DeclaratorChunk::TypeAndRange::Ty, clang::DeclaratorChunk::FunctionTypeInfo::TypeQuals, and clang::DeclaratorChunk::FunctionTypeInfo::VolatileQualifierLoc.

Referenced by clang::Sema::ImplicitlyDefineFunction(), and maybeSynthesizeBlockSignature().

static DeclaratorChunk clang::DeclaratorChunk::getMemberPointer ( const CXXScopeSpec SS,
unsigned  TypeQuals,
SourceLocation  Loc 
) [inline, static]
static DeclaratorChunk clang::DeclaratorChunk::getParen ( SourceLocation  LParenLoc,
SourceLocation  RParenLoc 
) [inline, static]

getParen - Return a DeclaratorChunk for a paren.

Definition at line 1384 of file DeclSpec.h.

References clang::DeclaratorChunk::TypeInfoCommon::AttrList, Common, EndLoc, Kind, Loc, and Paren.

static DeclaratorChunk clang::DeclaratorChunk::getPointer ( unsigned  TypeQuals,
SourceLocation  Loc,
SourceLocation  ConstQualLoc,
SourceLocation  VolatileQualLoc,
SourceLocation  RestrictQualLoc 
) [inline, static]
static DeclaratorChunk clang::DeclaratorChunk::getReference ( unsigned  TypeQuals,
SourceLocation  Loc,
bool  lvalue 
) [inline, static]

Member Data Documentation

union { ... }

Definition at line 1260 of file DeclSpec.h.

Referenced by clang::Sema::ActOnCXXNew(), destroy(), getArray(), and GetFullTypeForDeclarator().

Definition at line 1262 of file DeclSpec.h.

Referenced by destroy(), getBlockPointer(), and GetFullTypeForDeclarator().

Definition at line 1257 of file DeclSpec.h.

Referenced by getAttrListRef(), getAttrs(), and getParen().

EndLoc - If valid, the place where this chunck ends.

Definition at line 1001 of file DeclSpec.h.

Referenced by clang::Sema::ActOnFunctionDeclarator(), getArray(), GetFullTypeForDeclarator(), getFunction(), and getParen().

Definition at line 1258 of file DeclSpec.h.

Referenced by destroy(), GetFullTypeForDeclarator(), and getPointer().

Definition at line 1259 of file DeclSpec.h.

Referenced by destroy(), GetFullTypeForDeclarator(), and getReference().


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