|
clang
3.8.0
|
One instance of this struct is used for each type in a declarator that is parsed. More...
#include <DeclSpec.h>
Classes | |
| struct | ArrayTypeInfo |
| struct | BlockPointerTypeInfo |
| struct | FunctionTypeInfo |
| struct | MemberPointerTypeInfo |
| struct | ParamInfo |
| ParamInfo - An array of paraminfo objects is allocated whenever a function declarator is parsed. More... | |
| struct | PipeTypeInfo |
| struct | PointerTypeInfo |
| struct | ReferenceTypeInfo |
| struct | TypeAndRange |
| struct | TypeInfoCommon |
Public Types | |
| enum | { Pointer, Reference, Array, Function, BlockPointer, MemberPointer, Paren, Pipe } |
Public Member Functions | |
| SourceRange | getSourceRange () const |
| void | destroy () |
| const AttributeList * | getAttrs () const |
| If there are attributes applied to this declaratorchunk, return them. More... | |
| AttributeList *& | getAttrListRef () |
| bool | isParen () const |
Public Attributes | |
| enum clang::DeclaratorChunk:: { ... } | Kind |
| SourceLocation | Loc |
| Loc - The place where this type was defined. More... | |
| SourceLocation | EndLoc |
| EndLoc - If valid, the place where this chunck ends. More... | |
| union { | |
| TypeInfoCommon Common | |
| PointerTypeInfo Ptr | |
| ReferenceTypeInfo Ref | |
| ArrayTypeInfo Arr | |
| FunctionTypeInfo Fun | |
| BlockPointerTypeInfo Cls | |
| MemberPointerTypeInfo Mem | |
| PipeTypeInfo PipeInfo | |
| }; | |
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 1091 of file DeclSpec.h.
| anonymous enum |
| Enumerator | |
|---|---|
| Pointer | |
| Reference | |
| Array | |
| Function | |
| BlockPointer | |
| MemberPointer | |
| Paren | |
| Pipe | |
Definition at line 1092 of file DeclSpec.h.
|
inline |
Definition at line 1439 of file DeclSpec.h.
References Arr, Array, BlockPointer, Cls, clang::DeclaratorChunk::PointerTypeInfo::destroy(), clang::DeclaratorChunk::ReferenceTypeInfo::destroy(), clang::DeclaratorChunk::ArrayTypeInfo::destroy(), clang::DeclaratorChunk::FunctionTypeInfo::destroy(), clang::DeclaratorChunk::BlockPointerTypeInfo::destroy(), clang::DeclaratorChunk::MemberPointerTypeInfo::destroy(), clang::DeclaratorChunk::PipeTypeInfo::destroy(), Fun, Function, Mem, MemberPointer, Paren, Pipe, PipeInfo, Pointer, Ptr, Ref, and Reference.
|
inlinestatic |
Return a DeclaratorChunk for an array.
Definition at line 1493 of file DeclSpec.h.
References Arr, Array, clang::DeclaratorChunk::TypeInfoCommon::AttrList, EndLoc, clang::DeclaratorChunk::ArrayTypeInfo::hasStatic, I, clang::DeclaratorChunk::ArrayTypeInfo::isStar, Kind, Loc, clang::DeclaratorChunk::ArrayTypeInfo::NumElts, and clang::DeclaratorChunk::ArrayTypeInfo::TypeQuals.
|
inline |
Definition at line 1458 of file DeclSpec.h.
References clang::DeclaratorChunk::TypeInfoCommon::AttrList, and Common.
Referenced by addContextSensitiveTypeNullability(), distributeFunctionTypeAttr(), distributeFunctionTypeAttrToInnermost(), distributeNullabilityTypeAttr(), distributeObjCPointerTypeAttr(), distributeObjCPointerTypeAttrFromDeclarator(), GetFullTypeForDeclarator(), and transferARCOwnershipToDeclaratorChunk().
|
inline |
If there are attributes applied to this declaratorchunk, return them.
Definition at line 1454 of file DeclSpec.h.
References clang::DeclaratorChunk::TypeInfoCommon::AttrList, and Common.
Referenced by clang::Sema::checkUnusedDeclAttributes(), GetFullTypeForDeclarator(), clang::Sema::GetTypeSourceInfoForDeclarator(), hasParsedAttr(), inferARCWriteback(), clang::Sema::ProcessDeclAttributes(), takeDeclAttributes(), and transferARCOwnershipToDeclaratorChunk().
|
inlinestatic |
Return a DeclaratorChunk for a block.
Definition at line 1537 of file DeclSpec.h.
References clang::DeclaratorChunk::TypeInfoCommon::AttrList, BlockPointer, Cls, I, Kind, Loc, and clang::DeclaratorChunk::BlockPointerTypeInfo::TypeQuals.
|
static |
DeclaratorChunk::getFunction - Return a DeclaratorChunk for a function.
"TheDeclarator" is the declarator that this will be added to.
Definition at line 152 of file DeclSpec.cpp.
References clang::DeclaratorChunk::TypeInfoCommon::AttrList, clang::DeclaratorChunk::FunctionTypeInfo::ConstQualifierLoc, clang::DeclaratorChunk::FunctionTypeInfo::DeleteParams, clang::DeclaratorChunk::FunctionTypeInfo::EllipsisLoc, EndLoc, clang::EST_ComputedNoexcept, clang::EST_Dynamic, clang::EST_Unparsed, clang::DeclaratorChunk::FunctionTypeInfo::Exceptions, clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecLocBeg, clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecLocEnd, clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecTokens, clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecType, Fun, Function, clang::ActionResult< PtrTy, CompressInvalid >::get(), clang::SourceRange::getBegin(), clang::SourceRange::getEnd(), clang::SourceLocation::getRawEncoding(), clang::DeclaratorChunk::FunctionTypeInfo::hasPrototype, clang::DeclaratorChunk::FunctionTypeInfo::HasTrailingReturnType, I, clang::DeclaratorChunk::FunctionTypeInfo::isAmbiguous, clang::ActionResult< PtrTy, CompressInvalid >::isInvalid(), clang::ActionResult< PtrTy, CompressInvalid >::isUsable(), clang::SourceLocation::isValid(), clang::DeclaratorChunk::FunctionTypeInfo::isVariadic, Kind, Loc, clang::DeclaratorChunk::FunctionTypeInfo::LParenLoc, clang::DeclaratorChunk::FunctionTypeInfo::MutableLoc, clang::DeclaratorChunk::FunctionTypeInfo::NoexceptExpr, clang::DeclaratorChunk::FunctionTypeInfo::NumExceptions, clang::DeclaratorChunk::FunctionTypeInfo::NumParams, clang::DeclaratorChunk::FunctionTypeInfo::Params, clang::DeclaratorChunk::TypeAndRange::Range, clang::DeclaratorChunk::FunctionTypeInfo::RefQualifierIsLValueRef, clang::DeclaratorChunk::FunctionTypeInfo::RefQualifierLoc, clang::DeclaratorChunk::FunctionTypeInfo::RestrictQualifierLoc, clang::DeclaratorChunk::FunctionTypeInfo::RParenLoc, clang::DeclSpec::TQ_atomic, clang::DeclaratorChunk::FunctionTypeInfo::TrailingReturnType, clang::DeclaratorChunk::TypeAndRange::Ty, clang::DeclaratorChunk::FunctionTypeInfo::TypeQuals, and clang::DeclaratorChunk::FunctionTypeInfo::VolatileQualifierLoc.
Referenced by clang::Sema::ImplicitlyDefineFunction(), and maybeSynthesizeBlockSignature().
|
inlinestatic |
Definition at line 1558 of file DeclSpec.h.
References clang::DeclaratorChunk::TypeInfoCommon::AttrList, EndLoc, clang::CXXScopeSpec::getBeginLoc(), I, Kind, Loc, clang::DeclaratorChunk::MemberPointerTypeInfo::Mem, Mem, MemberPointer, clang::DeclaratorChunk::MemberPointerTypeInfo::ScopeMem, and clang::DeclaratorChunk::MemberPointerTypeInfo::TypeQuals.
|
inlinestatic |
Return a DeclaratorChunk for a paren.
Definition at line 1572 of file DeclSpec.h.
References clang::DeclaratorChunk::TypeInfoCommon::AttrList, Common, EndLoc, I, Kind, Loc, and Paren.
|
inlinestatic |
Return a DeclaratorChunk for a block.
Definition at line 1548 of file DeclSpec.h.
References clang::DeclaratorChunk::TypeInfoCommon::AttrList, Cls, I, Kind, Loc, Pipe, and clang::DeclaratorChunk::BlockPointerTypeInfo::TypeQuals.
|
inlinestatic |
Return a DeclaratorChunk for a pointer.
Definition at line 1463 of file DeclSpec.h.
References clang::DeclaratorChunk::PointerTypeInfo::AtomicQualLoc, clang::DeclaratorChunk::TypeInfoCommon::AttrList, clang::DeclaratorChunk::PointerTypeInfo::ConstQualLoc, clang::SourceLocation::getRawEncoding(), I, Kind, Loc, Pointer, Ptr, clang::DeclaratorChunk::PointerTypeInfo::RestrictQualLoc, clang::DeclaratorChunk::PointerTypeInfo::TypeQuals, and clang::DeclaratorChunk::PointerTypeInfo::VolatileQualLoc.
Referenced by clang::Sema::actOnObjCTypeArgsOrProtocolQualifiers().
|
inlinestatic |
Return a DeclaratorChunk for a reference.
Definition at line 1481 of file DeclSpec.h.
References clang::DeclaratorChunk::TypeInfoCommon::AttrList, clang::DeclaratorChunk::ReferenceTypeInfo::HasRestrict, I, Kind, Loc, clang::DeclaratorChunk::ReferenceTypeInfo::LValueRef, Ref, Reference, and clang::DeclSpec::TQ_restrict.
Referenced by clang::Sema::ActOnCXXForRangeIdentifier().
|
inline |
Definition at line 1101 of file DeclSpec.h.
References EndLoc, clang::SourceLocation::isInvalid(), and Loc.
|
inline |
Definition at line 1582 of file DeclSpec.h.
References Paren.
| union { ... } |
| ArrayTypeInfo clang::DeclaratorChunk::Arr |
Definition at line 1432 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNew(), clang::Sema::containsUnexpandedParameterPacks(), destroy(), getArray(), GetFullTypeForDeclarator(), and clang::Declarator::isArrayOfUnknownBound().
| BlockPointerTypeInfo clang::DeclaratorChunk::Cls |
Definition at line 1434 of file DeclSpec.h.
Referenced by destroy(), getBlockPointer(), GetFullTypeForDeclarator(), and getPipe().
| TypeInfoCommon clang::DeclaratorChunk::Common |
Definition at line 1429 of file DeclSpec.h.
Referenced by getAttrListRef(), getAttrs(), and getParen().
| SourceLocation clang::DeclaratorChunk::EndLoc |
EndLoc - If valid, the place where this chunck ends.
Definition at line 1099 of file DeclSpec.h.
Referenced by getArray(), GetFullTypeForDeclarator(), getFunction(), getMemberPointer(), getParen(), getSourceRange(), and warnAboutAmbiguousFunction().
| FunctionTypeInfo clang::DeclaratorChunk::Fun |
Definition at line 1433 of file DeclSpec.h.
Referenced by clang::Sema::CheckExtraCXXDefaultArguments(), clang::Sema::containsUnexpandedParameterPacks(), destroy(), diagnoseRedundantReturnTypeQualifiers(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), getFunction(), and warnAboutAmbiguousFunction().
| enum { ... } clang::DeclaratorChunk::Kind |
Referenced by clang::Sema::ActOnCXXNew(), clang::Sema::CheckExtraCXXDefaultArguments(), classifyPointerDeclarator(), clang::Sema::containsUnexpandedParameterPacks(), diagnoseRedundantReturnTypeQualifiers(), distributeFunctionTypeAttr(), distributeFunctionTypeAttrToInnermost(), distributeNullabilityTypeAttr(), distributeObjCPointerTypeAttr(), distributeObjCPointerTypeAttrFromDeclarator(), fillAtomicQualLoc(), getArray(), getBlockPointer(), getCCForDeclaratorChunk(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), getFunction(), getMemberPointer(), getParen(), getPipe(), getPointer(), getReference(), inferARCWriteback(), clang::Declarator::isArrayOfUnknownBound(), isOmittedBlockReturnType(), isPipeDeclerator(), maybeMovePastReturnType(), RebuildDeclaratorInCurrentInstantiation(), and transferARCOwnership().
| SourceLocation clang::DeclaratorChunk::Loc |
Loc - The place where this type was defined.
Definition at line 1097 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNew(), distributeNullabilityTypeAttr(), getArray(), getBlockPointer(), GetFullTypeForDeclarator(), getFunction(), getMemberPointer(), getParen(), getPipe(), getPointer(), getReference(), getSourceRange(), and warnAboutAmbiguousFunction().
| MemberPointerTypeInfo clang::DeclaratorChunk::Mem |
Definition at line 1435 of file DeclSpec.h.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), destroy(), GetFullTypeForDeclarator(), getMemberPointer(), and RebuildDeclaratorInCurrentInstantiation().
| PipeTypeInfo clang::DeclaratorChunk::PipeInfo |
Definition at line 1436 of file DeclSpec.h.
Referenced by destroy().
| PointerTypeInfo clang::DeclaratorChunk::Ptr |
Definition at line 1430 of file DeclSpec.h.
Referenced by destroy(), diagnoseRedundantReturnTypeQualifiers(), fillAtomicQualLoc(), GetFullTypeForDeclarator(), and getPointer().
| ReferenceTypeInfo clang::DeclaratorChunk::Ref |
Definition at line 1431 of file DeclSpec.h.
Referenced by destroy(), GetFullTypeForDeclarator(), and getReference().
1.8.6