clang
3.7.0
|
Information about one declarator, including the parsed type information and the identifier. More...
#include <DeclSpec.h>
Public Types | |
enum | TheContext { FileContext, PrototypeContext, ObjCResultContext, ObjCParameterContext, KNRTypeListContext, TypeNameContext, MemberContext, BlockContext, ForContext, ConditionContext, TemplateParamContext, CXXNewContext, CXXCatchContext, ObjCCatchContext, BlockLiteralContext, LambdaExprContext, LambdaExprParameterContext, ConversionIdContext, TrailingReturnContext, TemplateTypeArgContext, AliasDeclContext, AliasTemplateContext } |
typedef SmallVectorImpl < DeclaratorChunk > ::const_iterator | type_object_iterator |
typedef llvm::iterator_range < type_object_iterator > | type_object_range |
Friends | |
struct | DeclaratorChunk |
Information about one declarator, including the parsed type information and the identifier.
When the declarator is fully formed, this is turned into the appropriate Decl object.
Declarators come in two types: normal declarators and abstract declarators. Abstract declarators are used when parsing types, and don't have an identifier. Normal declarators do have ID's.
Instances of this class should be a transient object that lives on the stack, not objects that are allocated in large quantities on the heap.
Definition at line 1572 of file DeclSpec.h.
typedef SmallVectorImpl<DeclaratorChunk>::const_iterator clang::Declarator::type_object_iterator |
Definition at line 1960 of file DeclSpec.h.
typedef llvm::iterator_range<type_object_iterator> clang::Declarator::type_object_range |
Definition at line 1961 of file DeclSpec.h.
Definition at line 1574 of file DeclSpec.h.
|
inline |
Definition at line 1661 of file DeclSpec.h.
|
inline |
Definition at line 1671 of file DeclSpec.h.
References clear().
|
inline |
Add a new innermost chunk to this declarator.
Definition at line 1942 of file DeclSpec.h.
Referenced by maybeSynthesizeBlockSignature().
|
inline |
AddTypeInfo - Add a chunk to this declarator. Also extend the range to EndLoc, which should be the last token of the chunk.
Definition at line 1930 of file DeclSpec.h.
References getAttributePool(), clang::ParsedAttributes::getList(), clang::ParsedAttributes::getPool(), clang::SourceLocation::isInvalid(), SetRangeEnd(), and clang::AttributePool::takeAllFrom().
Referenced by clang::Sema::ActOnCXXForRangeIdentifier(), clang::Sema::actOnObjCTypeArgsOrProtocolQualifiers(), and clang::Sema::ImplicitlyDefineFunction().
|
inline |
Reset the contents of this Declarator.
Definition at line 1735 of file DeclSpec.h.
References clang::CXXScopeSpec::clear(), clang::ParsedAttributes::clear(), clang::UnqualifiedId::clear(), and clang::DeclSpec::getSourceRange().
Referenced by clang::ParsingDeclarator::clear(), and ~Declarator().
|
inline |
diagnoseIdentifier - Return true if the identifier is prohibited and should be diagnosed (because it cannot be anything else).
Definition at line 1822 of file DeclSpec.h.
References AliasDeclContext, AliasTemplateContext, BlockContext, BlockLiteralContext, ConditionContext, Context, ConversionIdContext, CXXCatchContext, CXXNewContext, FileContext, ForContext, KNRTypeListContext, LambdaExprContext, LambdaExprParameterContext, MemberContext, ObjCCatchContext, ObjCParameterContext, ObjCResultContext, PrototypeContext, TemplateParamContext, TemplateTypeArgContext, TrailingReturnContext, and TypeNameContext.
|
inline |
Definition at line 1968 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNew().
|
inline |
ExtendWithDeclSpec - Extend the declarator source range to include the given declspec, unless its location is invalid. Adopts the range start if the current range start is invalid.
Definition at line 1726 of file DeclSpec.h.
References clang::SourceRange::getBegin(), clang::SourceRange::getEnd(), clang::DeclSpec::getSourceRange(), clang::SourceLocation::isInvalid(), clang::SourceRange::setBegin(), and clang::SourceRange::setEnd().
|
inline |
Definition at line 2151 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), and clang::Sema::ActOnVariableDeclarator().
|
inline |
Definition at line 1685 of file DeclSpec.h.
References clang::ParsedAttributes::getPool().
Referenced by addContextSensitiveTypeNullability(), AddTypeInfo(), takeDeclAttributes(), and transferARCOwnershipToDeclaratorChunk().
|
inline |
Definition at line 2125 of file DeclSpec.h.
References clang::ParsedAttributes::getList().
Referenced by clang::Sema::checkUnusedDeclAttributes(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), clang::Sema::GetTypeSourceInfoForDeclarator(), hasAttributes(), hasParsedAttr(), clang::Sema::ProcessDeclAttributes(), and takeDeclAttributes().
|
inline |
Definition at line 2126 of file DeclSpec.h.
References clang::ParsedAttributes::getList().
|
inline |
Definition at line 2128 of file DeclSpec.h.
References clang::ParsedAttributes::getListRef().
Referenced by distributeFunctionTypeAttrFromDeclarator(), and distributeObjCPointerTypeAttrFromDeclarator().
|
inline |
Definition at line 2171 of file DeclSpec.h.
Referenced by warnAboutAmbiguousFunction().
|
inline |
Definition at line 1697 of file DeclSpec.h.
References Context.
Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnTypeName(), ConvertDeclSpecToType(), getCCForDeclaratorChunk(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), isFirstDeclarationOfMember(), isOmittedBlockReturnType(), isStaticMember(), and warnAboutAmbiguousFunction().
|
inline |
Return a source range list of C++11 attributes associated with the declarator.
Definition at line 2141 of file DeclSpec.h.
References clang::ParsedAttributes::getList(), clang::AttributeList::getNext(), clang::AttributeList::getRange(), and clang::AttributeList::isCXX11Attribute().
|
inline |
getCXXScopeSpec - Return the C++ scope specifier (global scope or nested-name-specifier) that is part of the declarator-id.
Definition at line 1691 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExceptionDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), GetFullTypeForDeclarator(), clang::Sema::HandleDeclarator(), and SetNestedNameSpecifier().
|
inline |
Definition at line 1692 of file DeclSpec.h.
|
inline |
getDeclSpec - Return the declaration-specifier that this declarator was declared with.
Definition at line 1676 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXConditionDeclaration(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnIvar(), clang::Sema::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::canDelayFunctionBody(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), clang::Sema::CheckFieldDecl(), clang::Sema::checkUnusedDeclAttributes(), clang::Sema::containsUnexpandedParameterPacks(), ConvertDeclSpecToType(), CreateNewFunctionDecl(), diagnoseRedundantReturnTypeQualifiers(), getCCForDeclaratorChunk(), clang::ParsingDeclarator::getDeclSpec(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), getFunctionStorageClass(), clang::Sema::GetTypeSourceInfoForDeclarator(), clang::Sema::HandleDeclarator(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), hasAttributes(), hasParsedAttr(), isFirstDeclarationOfMember(), isFunctionDeclarationContext(), isOmittedBlockReturnType(), isStaticMember(), mayBeFollowedByCXXDirectInit(), clang::Sema::ParseTypedefDecl(), clang::Sema::ProcessDeclAttributes(), takeDeclAttributes(), and warnAboutAmbiguousFunction().
|
inline |
Definition at line 2175 of file DeclSpec.h.
Referenced by GetFullTypeForDeclarator(), and clang::Sema::GetTypeSourceInfoForDeclarator().
|
inline |
Definition at line 2154 of file DeclSpec.h.
|
inline |
Definition at line 2186 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), GetFullTypeForDeclarator(), isFunctionDefinition(), and warnAboutAmbiguousFunction().
|
inline |
getFunctionTypeInfo - Retrieves the function type info object (looking through parentheses).
Definition at line 2039 of file DeclSpec.h.
References isFunctionDeclarator().
Referenced by clang::Sema::ActOnFinishKNRParamDeclarations(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnStartOfFunctionTemplateDef(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), CreateNewFunctionDecl(), getFunctionTypeInfo(), and maybeSynthesizeBlockSignature().
|
inline |
getFunctionTypeInfo - Retrieves the function type info object (looking through parentheses).
Definition at line 2048 of file DeclSpec.h.
References getFunctionTypeInfo().
|
inline |
Definition at line 1915 of file DeclSpec.h.
References clang::UnqualifiedId::getKind(), clang::UnqualifiedId::Identifier, and clang::UnqualifiedId::IK_Identifier.
Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnExceptionDeclarator(), clang::Sema::ActOnIvar(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypeName(), clang::Sema::CreatePropertyDecl(), GetFullTypeForDeclarator(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), clang::Sema::HandlePropertyInClassExtension(), clang::Sema::isLibstdcxxEagerExceptionSpecHack(), clang::Sema::ParseTypedefDecl(), and warnAboutAmbiguousFunction().
|
inline |
Definition at line 1921 of file DeclSpec.h.
References clang::UnqualifiedId::StartLocation.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExceptionDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnIvar(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::ActOnVarTemplateSpecialization(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), ConvertDeclSpecToType(), CreateNewFunctionDecl(), clang::Sema::CreatePropertyDecl(), diagnoseRedundantReturnTypeQualifiers(), GetFullTypeForDeclarator(), clang::Sema::HandleDeclarator(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), clang::Sema::HandlePropertyInClassExtension(), clang::Sema::ParseTypedefDecl(), RebuildDeclaratorInCurrentInstantiation(), and warnAboutAmbiguousFunction().
|
inline |
Return the innermost (closest to the declarator) chunk of this declarator that is not a parens chunk, or null if there are no non-parens chunks.
Definition at line 1977 of file DeclSpec.h.
Referenced by GetFullTypeForDeclarator(), and isArrayOfUnknownBound().
|
inline |
Definition at line 1709 of file DeclSpec.h.
References clang::SourceRange::getEnd().
Referenced by clang::Sema::ActOnCXXNew().
|
inline |
Definition at line 1708 of file DeclSpec.h.
References clang::SourceRange::getBegin().
Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExceptionDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnVariableDeclarator(), ConvertDeclSpecToType(), CreateNewFunctionDecl(), GetFullTypeForDeclarator(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), clang::Sema::isLibstdcxxEagerExceptionSpecHack(), maybeSynthesizeBlockSignature(), and clang::Sema::ParseTypedefDecl().
|
inline |
getMutableDeclSpec - Return a non-const version of the DeclSpec. This should be used with extreme care: declspecs can often be shared between multiple declarators, so mutating the DeclSpec affects all of the Declarators. This should only be done when the declspec is known to not be shared or when in error recovery etc.
Definition at line 1683 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), addContextSensitiveTypeNullability(), distributeObjCPointerTypeAttrFromDeclarator(), GetFullTypeForDeclarator(), and RebuildDeclaratorInCurrentInstantiation().
|
inline |
Retrieve the name specified by this declarator.
Definition at line 1695 of file DeclSpec.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::ActOnVarTemplateSpecialization(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), diagnoseRedundantReturnTypeQualifiers(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), getMissingDeclaratorIdLoc(), clang::Sema::GetNameForDeclarator(), and isStaticMember().
|
inline |
Return the number of types applied to this declarator.
Definition at line 1947 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNew(), clang::Sema::ActOnStartOfLambdaDefinition(), addContextSensitiveTypeNullability(), clang::Sema::canDelayFunctionBody(), clang::Sema::CheckExtraCXXDefaultArguments(), clang::Sema::checkUnusedDeclAttributes(), classifyPointerDeclarator(), clang::Sema::containsUnexpandedParameterPacks(), diagnoseRedundantReturnTypeQualifiers(), distributeFunctionTypeAttrToInnermost(), distributeObjCPointerTypeAttrFromDeclarator(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), clang::Sema::GetTypeSourceInfoForDeclarator(), handleObjCOwnershipTypeAttr(), hasAttributes(), hasParsedAttr(), inferARCWriteback(), isFunctionDeclaratorAFunctionDeclaration(), isOmittedBlockReturnType(), maybeMovePastReturnType(), maybeSynthesizeBlockSignature(), clang::Sema::ProcessDeclAttributes(), RebuildDeclaratorInCurrentInstantiation(), takeDeclAttributes(), and transferARCOwnership().
|
inline |
Return the outermost (furthest from the declarator) chunk of this declarator that is not a parens chunk, or null if there are no non-parens chunks.
Definition at line 1988 of file DeclSpec.h.
|
inline |
Get the source range that spans this declarator.
Definition at line 1707 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXConditionDeclaration(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnObjCExceptionDecl(), clang::Sema::ActOnStartOfLambdaDefinition(), GetFullTypeForDeclarator(), clang::Sema::HandleDeclarator(), and clang::Parser::ParseTypeName().
|
inline |
Return the specified TypeInfo from this declarator. TypeInfo #0 is closest to the identifier.
Definition at line 1951 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNew(), addContextSensitiveTypeNullability(), clang::Sema::canDelayFunctionBody(), clang::Sema::CheckExtraCXXDefaultArguments(), clang::Sema::checkUnusedDeclAttributes(), classifyPointerDeclarator(), clang::Sema::containsUnexpandedParameterPacks(), diagnoseRedundantReturnTypeQualifiers(), distributeFunctionTypeAttr(), distributeFunctionTypeAttrToInnermost(), distributeNullabilityTypeAttr(), distributeObjCPointerTypeAttr(), distributeObjCPointerTypeAttrFromDeclarator(), getCCForDeclaratorChunk(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), clang::Sema::GetTypeSourceInfoForDeclarator(), hasAttributes(), hasParsedAttr(), inferARCWriteback(), isFunctionDeclaratorAFunctionDeclaration(), isOmittedBlockReturnType(), maybeMovePastReturnType(), clang::Sema::ProcessDeclAttributes(), RebuildDeclaratorInCurrentInstantiation(), takeDeclAttributes(), transferARCOwnership(), and transferARCOwnershipToDeclaratorChunk().
|
inline |
Definition at line 1955 of file DeclSpec.h.
|
inline |
hasAttributes - do we contain any attributes?
Definition at line 2131 of file DeclSpec.h.
References getAttributes(), getDeclSpec(), getNumTypeObjects(), and getTypeObject().
|
inline |
Definition at line 2174 of file DeclSpec.h.
References clang::SourceLocation::isValid().
Referenced by clang::Sema::ActOnNonTypeTemplateParameter(), ConvertDeclSpecToType(), and GetFullTypeForDeclarator().
|
inline |
Definition at line 2168 of file DeclSpec.h.
Referenced by mayBeFollowedByCXXDirectInit().
|
inline |
hasName - Whether this declarator has a name, which might be an identifier (accessible via getIdentifier()) or some kind of special C++ name (constructor, destructor, etc.).
Definition at line 1911 of file DeclSpec.h.
References clang::UnqualifiedId::getKind(), clang::UnqualifiedId::Identifier, and clang::UnqualifiedId::IK_Identifier.
Referenced by clang::Sema::ActOnParamDeclarator().
|
inline |
isArrayOfUnknownBound - This method returns true if the declarator is a declarator for an array of unknown bound (looking through parentheses).
Definition at line 1999 of file DeclSpec.h.
References clang::DeclaratorChunk::Arr, clang::DeclaratorChunk::Array, getInnermostNonParenChunk(), clang::DeclaratorChunk::Kind, and clang::DeclaratorChunk::ArrayTypeInfo::NumElts.
bool Declarator::isDeclarationOfFunction | ( | ) | const |
Determine whether the declaration that will be produced from this declaration will be a function.
A declaration can declare a function even if the declarator itself isn't a function declarator, if the type specifier refers to a function type. This routine checks for both cases.
Definition at line 270 of file DeclSpec.cpp.
References clang::DeclaratorChunk::Array, clang::DeclaratorChunk::BlockPointer, clang::DeclaratorChunk::Function, clang::OpaquePtr< PtrTy >::get(), clang::DeclSpec::getRepAsExpr(), clang::DeclSpec::getRepAsType(), clang::DeclSpec::getTypeSpecType(), clang::Type::isFunctionType(), clang::QualType::isNull(), clang::DeclaratorChunk::MemberPointer, clang::DeclaratorChunk::Paren, clang::DeclaratorChunk::Pointer, clang::DeclaratorChunk::Reference, clang::TST_atomic, clang::TST_auto, clang::TST_bool, clang::TST_char, clang::TST_char16, clang::TST_char32, clang::TST_class, clang::TST_decimal128, clang::TST_decimal32, clang::TST_decimal64, clang::TST_decltype, clang::TST_decltype_auto, clang::TST_double, clang::TST_enum, clang::TST_error, clang::TST_float, clang::TST_half, clang::TST_int, clang::TST_int128, clang::TST_interface, clang::TST_struct, clang::TST_typename, clang::TST_typeofExpr, clang::TST_typeofType, clang::TST_underlyingType, clang::TST_union, clang::TST_unknown_anytype, clang::TST_unspecified, clang::TST_void, and clang::TST_wchar.
Referenced by clang::Sema::ActOnCXXMemberDeclarator().
|
inline |
Returns true if this declares a real member and not a friend.
Definition at line 2191 of file DeclSpec.h.
References getContext(), getDeclSpec(), clang::DeclSpec::isFriendSpecified(), and MemberContext.
Referenced by clang::Sema::ActOnFunctionDeclarator(), and getCCForDeclaratorChunk().
|
inline |
Definition at line 2170 of file DeclSpec.h.
References clang::SourceLocation::isValid().
Referenced by warnAboutAmbiguousFunction().
|
inline |
Return true if this declaration appears in a context where a function declarator would be a function declaration.
Definition at line 2062 of file DeclSpec.h.
References AliasDeclContext, AliasTemplateContext, BlockContext, BlockLiteralContext, ConditionContext, Context, ConversionIdContext, CXXCatchContext, CXXNewContext, FileContext, ForContext, getDeclSpec(), KNRTypeListContext, LambdaExprContext, LambdaExprParameterContext, MemberContext, ObjCCatchContext, ObjCParameterContext, ObjCResultContext, PrototypeContext, clang::DeclSpec::SCS_typedef, TemplateParamContext, TemplateTypeArgContext, TrailingReturnContext, and TypeNameContext.
Referenced by clang::Sema::CheckExtraCXXDefaultArguments(), GetFullTypeForDeclarator(), and isFunctionDeclaratorAFunctionDeclaration().
isFunctionDeclarator - This method returns true if the declarator is a function declarator (looking through parentheses). If true is returned, then the reference type parameter idx is assigned with the index of the declaration chunk.
Definition at line 2009 of file DeclSpec.h.
References clang::DeclaratorChunk::Array, clang::DeclaratorChunk::BlockPointer, clang::DeclaratorChunk::Function, clang::DeclaratorChunk::MemberPointer, clang::DeclaratorChunk::Paren, clang::DeclaratorChunk::Pointer, and clang::DeclaratorChunk::Reference.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnStartOfFunctionDef(), clang::Sema::ActOnStartOfLambdaDefinition(), CreateNewFunctionDecl(), getCCForDeclaratorChunk(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), maybeSynthesizeBlockSignature(), and warnAboutAmbiguousFunction().
|
inline |
isFunctionDeclarator - Once this declarator is fully parsed and formed, this method returns true if the identifier is a function declarator (looking through parentheses).
Definition at line 2032 of file DeclSpec.h.
Referenced by getFunctionTypeInfo().
|
inline |
Return true if a function declarator at this position would be a function declaration.
Definition at line 2098 of file DeclSpec.h.
References getNumTypeObjects(), getTypeObject(), isFunctionDeclarationContext(), and clang::DeclaratorChunk::Paren.
|
inline |
Definition at line 2182 of file DeclSpec.h.
References clang::FDK_Declaration, and getFunctionDefinitionKind().
Referenced by clang::Sema::ActOnFriendFunctionDecl(), and clang::Sema::ActOnFunctionDeclarator().
|
inline |
Definition at line 2163 of file DeclSpec.h.
References clang::DeclSpec::getTypeSpecType(), and clang::DeclSpec::TST_error.
Referenced by clang::Sema::ActOnCastExpr(), clang::Sema::ActOnCXXNamedCast(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnExceptionDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnIvar(), clang::Sema::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypeName(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), clang::Sema::CheckFieldDecl(), CreateNewFunctionDecl(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), clang::Sema::HandleDeclarator(), clang::Sema::ParseTypedefDecl(), and clang::Parser::ParseTypeName().
|
inline |
Definition at line 2157 of file DeclSpec.h.
|
inline |
Definition at line 2160 of file DeclSpec.h.
|
inline |
isPastIdentifier - Return true if we have parsed beyond the point where the
Definition at line 1906 of file DeclSpec.h.
References clang::UnqualifiedId::isValid().
|
inline |
Definition at line 1699 of file DeclSpec.h.
References Context, LambdaExprParameterContext, ObjCParameterContext, ObjCResultContext, and PrototypeContext.
Referenced by GetFullTypeForDeclarator(), and clang::Sema::GetTypeForDeclarator().
|
inline |
Definition at line 2201 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), and clang::Sema::HandleDeclarator().
bool Declarator::isStaticMember | ( | ) |
Returns true if this declares a static member. This cannot be called on a declarator outside of a MemberContext because we won't know until redeclaration time if the decl is static.
Definition at line 345 of file DeclSpec.cpp.
References getContext(), getDeclSpec(), getName(), clang::DeclSpec::getStorageClassSpec(), clang::UnqualifiedId::IK_OperatorFunctionId, clang::CXXMethodDecl::isStaticOverloadedOperator(), clang::UnqualifiedId::Kind, MemberContext, and clang::DeclSpec::SCS_static.
Referenced by clang::Sema::ActOnFunctionDeclarator(), and getCCForDeclaratorChunk().
|
inline |
mayBeFollowedByCXXDirectInit - Return true if the declarator can be followed by a C++ direct initializer, e.g. "int x(1);".
Definition at line 1855 of file DeclSpec.h.
References AliasDeclContext, AliasTemplateContext, BlockContext, BlockLiteralContext, ConditionContext, Context, ConversionIdContext, CXXCatchContext, CXXNewContext, FileContext, ForContext, getDeclSpec(), clang::UnqualifiedId::getKind(), hasGroupingParens(), clang::UnqualifiedId::IK_Identifier, KNRTypeListContext, LambdaExprContext, LambdaExprParameterContext, MemberContext, ObjCCatchContext, ObjCParameterContext, ObjCResultContext, PrototypeContext, clang::DeclSpec::SCS_extern, clang::DeclSpec::SCS_typedef, TemplateParamContext, TemplateTypeArgContext, TrailingReturnContext, and TypeNameContext.
|
inline |
mayHaveIdentifier - Return true if the identifier is either optional or required. This is true for normal declarators and prototypes, but not typenames.
Definition at line 1789 of file DeclSpec.h.
References AliasDeclContext, AliasTemplateContext, BlockContext, BlockLiteralContext, ConditionContext, Context, ConversionIdContext, CXXCatchContext, CXXNewContext, FileContext, ForContext, KNRTypeListContext, LambdaExprContext, LambdaExprParameterContext, MemberContext, ObjCCatchContext, ObjCParameterContext, ObjCResultContext, PrototypeContext, TemplateParamContext, TemplateTypeArgContext, TrailingReturnContext, and TypeNameContext.
|
inline |
mayOmitIdentifier - Return true if the identifier is either optional or not allowed. This is true for typenames, prototypes, and template parameter lists.
Definition at line 1755 of file DeclSpec.h.
References AliasDeclContext, AliasTemplateContext, BlockContext, BlockLiteralContext, ConditionContext, Context, ConversionIdContext, CXXCatchContext, CXXNewContext, FileContext, ForContext, KNRTypeListContext, LambdaExprContext, LambdaExprParameterContext, MemberContext, ObjCCatchContext, ObjCParameterContext, ObjCResultContext, PrototypeContext, TemplateParamContext, TemplateTypeArgContext, TrailingReturnContext, and TypeNameContext.
|
inline |
Definition at line 2150 of file DeclSpec.h.
|
inline |
Definition at line 2172 of file DeclSpec.h.
|
inline |
Definition at line 2176 of file DeclSpec.h.
Referenced by GetFullTypeForDeclarator().
Definition at line 2153 of file DeclSpec.h.
|
inline |
Definition at line 2178 of file DeclSpec.h.
Referenced by clang::Sema::ActOnDeclarator(), clang::Sema::ActOnStartOfFunctionDef(), and clang::Sema::ActOnStartOfFunctionTemplateDef().
|
inline |
Definition at line 2167 of file DeclSpec.h.
|
inline |
Set the name of this declarator to be the given identifier.
Definition at line 1924 of file DeclSpec.h.
References clang::UnqualifiedId::setIdentifier().
Referenced by clang::Sema::ActOnCXXForRangeIdentifier(), clang::Sema::ActOnFinishKNRParamDeclarations(), clang::Sema::ActOnParamDeclarator(), and clang::Sema::ImplicitlyDefineFunction().
Definition at line 2162 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnIvar(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), checkIsValidOpenCLKernelParameter(), ConvertDeclSpecToType(), CreateNewFunctionDecl(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), getFunctionStorageClass(), clang::Sema::HandleDeclarator(), clang::Sema::HandleField(), and clang::Sema::HandleMSProperty().
Definition at line 2156 of file DeclSpec.h.
Definition at line 2159 of file DeclSpec.h.
Referenced by clang::Sema::ActOnProperty().
|
inline |
SetRangeBegin - Set the start of the source range to Loc, unless it's invalid.
Definition at line 1714 of file DeclSpec.h.
References clang::SourceLocation::isInvalid(), and clang::SourceRange::setBegin().
|
inline |
SetRangeEnd - Set the end of the source range to Loc, unless it's invalid.
Definition at line 1719 of file DeclSpec.h.
References clang::SourceLocation::isInvalid(), and clang::SourceRange::setEnd().
Referenced by AddTypeInfo(), and takeAttributes().
|
inline |
Definition at line 2200 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), and clang::Sema::ActOnVarTemplateSpecialization().
|
inline |
Definition at line 1711 of file DeclSpec.h.
|
inline |
takeAttributes - Takes attributes from the given parsed-attributes set and add them to this declarator.
These examples both add 3 attributes to "var": short int var attribute((aligned(16),common,deprecated)); short int x, attribute((aligned(16)) var attribute((common,deprecated));
Also extends the range of the declarator.
Definition at line 2118 of file DeclSpec.h.
References clang::SourceLocation::isInvalid(), SetRangeEnd(), and clang::ParsedAttributes::takeAllFrom().
Referenced by clang::Sema::ActOnCXXForRangeIdentifier().
|
inline |
Returns the range of type objects, from the identifier outwards.
Definition at line 1964 of file DeclSpec.h.
Referenced by clang::Sema::CheckConversionDeclarator().
|
friend |
Definition at line 1658 of file DeclSpec.h.