clang
3.9.0
|
#include <DeclSpec.h>
Public Member Functions | |
void | freeParams () |
Reset the parameter list to having zero parameters. More... | |
void | destroy () |
bool | isKNRPrototype () const |
isKNRPrototype - Return true if this is a K&R style identifier list, like "void foo(a,b,c)". More... | |
SourceLocation | getLParenLoc () const |
SourceLocation | getEllipsisLoc () const |
SourceLocation | getRParenLoc () const |
SourceLocation | getExceptionSpecLocBeg () const |
SourceLocation | getExceptionSpecLocEnd () const |
SourceRange | getExceptionSpecRange () const |
SourceLocation | getRefQualifierLoc () const |
Retrieve the location of the ref-qualifier, if any. More... | |
SourceLocation | getConstQualifierLoc () const |
Retrieve the location of the 'const' qualifier, if any. More... | |
SourceLocation | getVolatileQualifierLoc () const |
Retrieve the location of the 'volatile' qualifier, if any. More... | |
SourceLocation | getRestrictQualifierLoc () const |
Retrieve the location of the 'restrict' qualifier, if any. More... | |
SourceLocation | getMutableLoc () const |
Retrieve the location of the 'mutable' qualifier, if any. More... | |
bool | hasRefQualifier () const |
Determine whether this function declaration contains a ref-qualifier. More... | |
bool | hasMutableQualifier () const |
Determine whether this lambda-declarator contains a 'mutable' qualifier. More... | |
ExceptionSpecificationType | getExceptionSpecType () const |
Get the type of exception specification this function has. More... | |
bool | hasTrailingReturnType () const |
Determine whether this function declarator had a trailing-return-type. More... | |
ParsedType | getTrailingReturnType () const |
Get the trailing-return-type for this function declarator. More... | |
Public Attributes | |
unsigned | hasPrototype: 1 |
hasPrototype - This is true if the function had at least one typed parameter. More... | |
unsigned | isVariadic: 1 |
isVariadic - If this function has a prototype, and if that proto ends with ',...)', this is true. More... | |
unsigned | isAmbiguous: 1 |
Can this declaration be a constructor-style initializer? More... | |
unsigned | RefQualifierIsLValueRef: 1 |
Whether the ref-qualifier (if any) is an lvalue reference. More... | |
unsigned | TypeQuals: 4 |
The type qualifiers: const/volatile/restrict/__unaligned The qualifier bitmask values are the same as in QualType. More... | |
unsigned | ExceptionSpecType: 4 |
ExceptionSpecType - An ExceptionSpecificationType value. More... | |
unsigned | DeleteParams: 1 |
DeleteParams - If this is true, we need to delete[] Params. More... | |
unsigned | HasTrailingReturnType: 1 |
HasTrailingReturnType - If this is true, a trailing return type was specified. More... | |
unsigned | LParenLoc |
The location of the left parenthesis in the source. More... | |
unsigned | EllipsisLoc |
When isVariadic is true, the location of the ellipsis in the source. More... | |
unsigned | RParenLoc |
The location of the right parenthesis in the source. More... | |
unsigned | NumParams |
NumParams - This is the number of formal parameters specified by the declarator. More... | |
unsigned | NumExceptions |
NumExceptions - This is the number of types in the dynamic-exception- decl, if the function has one. More... | |
unsigned | RefQualifierLoc |
The location of the ref-qualifier, if any. More... | |
unsigned | ConstQualifierLoc |
The location of the const-qualifier, if any. More... | |
unsigned | VolatileQualifierLoc |
The location of the volatile-qualifier, if any. More... | |
unsigned | RestrictQualifierLoc |
The location of the restrict-qualifier, if any. More... | |
unsigned | MutableLoc |
The location of the 'mutable' qualifer in a lambda-declarator, if any. More... | |
unsigned | ExceptionSpecLocBeg |
The beginning location of the exception specification, if any. More... | |
unsigned | ExceptionSpecLocEnd |
The end location of the exception specification, if any. More... | |
ParamInfo * | Params |
Params - This is a pointer to a new[]'d array of ParamInfo objects that describe the parameters specified by this function declarator. More... | |
union { | |
TypeAndRange * Exceptions | |
Pointer to a new[]'d array of TypeAndRange objects that contain the types in the function's dynamic exception specification and their locations, if there is one. More... | |
Expr * NoexceptExpr | |
Pointer to the expression in the noexcept-specifier of this function, if it has one. More... | |
CachedTokens * ExceptionSpecTokens | |
Pointer to the cached tokens for an exception-specification that has not yet been parsed. More... | |
}; | |
UnionParsedType | TrailingReturnType |
If HasTrailingReturnType is true, this is the trailing return type specified. More... | |
![]() | |
AttributeList * | AttrList |
Definition at line 1204 of file DeclSpec.h.
|
inline |
Definition at line 1322 of file DeclSpec.h.
References DeleteParams, clang::EST_Dynamic, clang::EST_Unparsed, Exceptions, ExceptionSpecTokens, getExceptionSpecType(), and Params.
Referenced by clang::DeclaratorChunk::destroy().
|
inline |
Reset the parameter list to having zero parameters.
This is used in various places for error recovery.
Definition at line 1310 of file DeclSpec.h.
References clang::DeclaratorChunk::ParamInfo::DefaultArgTokens, DeleteParams, I, NumParams, and Params.
Referenced by clang::Sema::CheckConversionDeclarator(), and clang::Sema::CheckDestructorDeclarator().
|
inline |
Retrieve the location of the 'const' qualifier, if any.
Definition at line 1366 of file DeclSpec.h.
References ConstQualifierLoc, and clang::SourceLocation::getFromRawEncoding().
Referenced by GetFullTypeForDeclarator().
|
inline |
Definition at line 1340 of file DeclSpec.h.
References EllipsisLoc, and clang::SourceLocation::getFromRawEncoding().
Referenced by GetFullTypeForDeclarator().
|
inline |
Definition at line 1348 of file DeclSpec.h.
References ExceptionSpecLocBeg, and clang::SourceLocation::getFromRawEncoding().
Referenced by getExceptionSpecRange(), and GetFullTypeForDeclarator().
|
inline |
Definition at line 1352 of file DeclSpec.h.
References ExceptionSpecLocEnd, and clang::SourceLocation::getFromRawEncoding().
Referenced by getExceptionSpecRange().
|
inline |
Definition at line 1356 of file DeclSpec.h.
References getExceptionSpecLocBeg(), and getExceptionSpecLocEnd().
Referenced by clang::Sema::ActOnFunctionDeclarator().
|
inline |
Get the type of exception specification this function has.
Definition at line 1394 of file DeclSpec.h.
References ExceptionSpecType.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), destroy(), and GetFullTypeForDeclarator().
|
inline |
Definition at line 1336 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding(), and LParenLoc.
|
inline |
Retrieve the location of the 'mutable' qualifier, if any.
Definition at line 1381 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding(), and MutableLoc.
Referenced by hasMutableQualifier().
|
inline |
Retrieve the location of the ref-qualifier, if any.
Definition at line 1361 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding(), and RefQualifierLoc.
Referenced by clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), GetFullTypeForDeclarator(), and hasRefQualifier().
|
inline |
Retrieve the location of the 'restrict' qualifier, if any.
Definition at line 1376 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding(), and RestrictQualifierLoc.
Referenced by GetFullTypeForDeclarator().
|
inline |
Definition at line 1344 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding(), and RParenLoc.
|
inline |
Get the trailing-return-type for this function declarator.
Definition at line 1403 of file DeclSpec.h.
References TrailingReturnType.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), and GetFullTypeForDeclarator().
|
inline |
Retrieve the location of the 'volatile' qualifier, if any.
Definition at line 1371 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding(), and VolatileQualifierLoc.
Referenced by GetFullTypeForDeclarator().
|
inline |
Determine whether this lambda-declarator contains a 'mutable' qualifier.
Definition at line 1391 of file DeclSpec.h.
References getMutableLoc(), and clang::SourceLocation::isValid().
|
inline |
Determine whether this function declaration contains a ref-qualifier.
Definition at line 1387 of file DeclSpec.h.
References getRefQualifierLoc(), and clang::SourceLocation::isValid().
Referenced by clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), and GetFullTypeForDeclarator().
|
inline |
Determine whether this function declarator had a trailing-return-type.
Definition at line 1400 of file DeclSpec.h.
References HasTrailingReturnType.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), diagnoseRedundantReturnTypeQualifiers(), GetDeclSpecTypeForDeclarator(), and GetFullTypeForDeclarator().
|
inline |
isKNRPrototype - Return true if this is a K&R style identifier list, like "void foo(a,b,c)".
In a function definition, this will be followed by the parameter type definitions.
Definition at line 1334 of file DeclSpec.h.
References hasPrototype, and NumParams.
union { ... } |
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ConstQualifierLoc |
The location of the const-qualifier, if any.
If this is an invalid location, there is no const-qualifier.
Definition at line 1261 of file DeclSpec.h.
Referenced by getConstQualifierLoc(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::DeleteParams |
DeleteParams - If this is true, we need to delete[] Params.
Definition at line 1230 of file DeclSpec.h.
Referenced by destroy(), freeParams(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::EllipsisLoc |
When isVariadic is true, the location of the ellipsis in the source.
Definition at line 1240 of file DeclSpec.h.
Referenced by getEllipsisLoc(), and clang::DeclaratorChunk::getFunction().
TypeAndRange* clang::DeclaratorChunk::FunctionTypeInfo::Exceptions |
Pointer to a new[]'d array of TypeAndRange objects that contain the types in the function's dynamic exception specification and their locations, if there is one.
Definition at line 1292 of file DeclSpec.h.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), destroy(), GetFullTypeForDeclarator(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecLocBeg |
The beginning location of the exception specification, if any.
Definition at line 1278 of file DeclSpec.h.
Referenced by getExceptionSpecLocBeg(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecLocEnd |
The end location of the exception specification, if any.
Definition at line 1281 of file DeclSpec.h.
Referenced by getExceptionSpecLocEnd(), and clang::DeclaratorChunk::getFunction().
CachedTokens* clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecTokens |
Pointer to the cached tokens for an exception-specification that has not yet been parsed.
Definition at line 1300 of file DeclSpec.h.
Referenced by destroy(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecType |
ExceptionSpecType - An ExceptionSpecificationType value.
Definition at line 1227 of file DeclSpec.h.
Referenced by getExceptionSpecType(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::hasPrototype |
hasPrototype - This is true if the function had at least one typed parameter.
If the function is () or (a,b,c), then it has no prototype, and is treated as a K&R-style function.
Definition at line 1208 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFinishKNRParamDeclarations(), CreateNewFunctionDecl(), GetFullTypeForDeclarator(), clang::DeclaratorChunk::getFunction(), isKNRPrototype(), and maybeSynthesizeBlockSignature().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::HasTrailingReturnType |
HasTrailingReturnType - If this is true, a trailing return type was specified.
Definition at line 1234 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction(), and hasTrailingReturnType().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::isAmbiguous |
Can this declaration be a constructor-style initializer?
Definition at line 1216 of file DeclSpec.h.
Referenced by GetFullTypeForDeclarator(), clang::DeclaratorChunk::getFunction(), and warnAboutAmbiguousFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::isVariadic |
isVariadic - If this function has a prototype, and if that proto ends with ',...)', this is true.
When true, EllipsisLoc contains the location of the ellipsis.
Definition at line 1213 of file DeclSpec.h.
Referenced by clang::Sema::CheckDestructorDeclarator(), clang::FTIHasSingleVoidParameter(), getCCForDeclaratorChunk(), GetFullTypeForDeclarator(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::LParenLoc |
The location of the left parenthesis in the source.
Definition at line 1237 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction(), and getLParenLoc().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::MutableLoc |
The location of the 'mutable' qualifer in a lambda-declarator, if any.
Definition at line 1275 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction(), and getMutableLoc().
Expr* clang::DeclaratorChunk::FunctionTypeInfo::NoexceptExpr |
Pointer to the expression in the noexcept-specifier of this function, if it has one.
Definition at line 1296 of file DeclSpec.h.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), GetFullTypeForDeclarator(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::NumExceptions |
NumExceptions - This is the number of types in the dynamic-exception- decl, if the function has one.
Definition at line 1251 of file DeclSpec.h.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), GetFullTypeForDeclarator(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::NumParams |
NumParams - This is the number of formal parameters specified by the declarator.
Definition at line 1247 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFinishKNRParamDeclarations(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::CheckExtraCXXDefaultArguments(), clang::Sema::containsUnexpandedParameterPacks(), freeParams(), clang::FTIHasNonVoidParameters(), clang::FTIHasSingleVoidParameter(), GetFullTypeForDeclarator(), clang::DeclaratorChunk::getFunction(), isKNRPrototype(), and warnAboutAmbiguousFunction().
ParamInfo* clang::DeclaratorChunk::FunctionTypeInfo::Params |
Params - This is a pointer to a new[]'d array of ParamInfo objects that describe the parameters specified by this function declarator.
null if there are no parameters specified.
Definition at line 1286 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFinishKNRParamDeclarations(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::CheckExtraCXXDefaultArguments(), clang::Sema::containsUnexpandedParameterPacks(), destroy(), freeParams(), clang::FTIHasSingleVoidParameter(), GetFullTypeForDeclarator(), clang::DeclaratorChunk::getFunction(), and warnAboutAmbiguousFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::RefQualifierIsLValueRef |
Whether the ref-qualifier (if any) is an lvalue reference.
Otherwise, it's an rvalue reference.
Definition at line 1220 of file DeclSpec.h.
Referenced by clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), GetFullTypeForDeclarator(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::RefQualifierLoc |
The location of the ref-qualifier, if any.
If this is an invalid location, there is no ref-qualifier.
Definition at line 1256 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction(), and getRefQualifierLoc().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::RestrictQualifierLoc |
The location of the restrict-qualifier, if any.
If this is an invalid location, there is no restrict-qualifier.
Definition at line 1271 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction(), and getRestrictQualifierLoc().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::RParenLoc |
The location of the right parenthesis in the source.
Definition at line 1243 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction(), and getRParenLoc().
UnionParsedType clang::DeclaratorChunk::FunctionTypeInfo::TrailingReturnType |
If HasTrailingReturnType is true, this is the trailing return type specified.
Definition at line 1305 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction(), and getTrailingReturnType().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::TypeQuals |
The type qualifiers: const/volatile/restrict/__unaligned The qualifier bitmask values are the same as in QualType.
Definition at line 1224 of file DeclSpec.h.
Referenced by clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), GetFullTypeForDeclarator(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::VolatileQualifierLoc |
The location of the volatile-qualifier, if any.
If this is an invalid location, there is no volatile-qualifier.
Definition at line 1266 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction(), and getVolatileQualifierLoc().