clang
10.0.0git
|
#include "clang/Sema/DeclSpec.h"
Public Member Functions | |
void | freeParams () |
Reset the parameter list to having zero parameters. More... | |
void | destroy () |
DeclSpec & | getOrCreateMethodQualifiers () |
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. More... | |
SourceLocation | getVolatileQualifierLoc () const |
Retrieve the location of the 'volatile' qualifier. More... | |
SourceLocation | getRestrictQualifierLoc () const |
Retrieve the location of the 'restrict' qualifier. 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... | |
bool | hasMethodTypeQualifiers () const |
Determine whether this method has qualifiers. More... | |
ExceptionSpecificationType | getExceptionSpecType () const |
Get the type of exception specification this function has. More... | |
unsigned | getNumExceptions () const |
Get the number of dynamic exception specifications. More... | |
ArrayRef< NamedDecl * > | getDeclsInPrototype () const |
Get the non-parameter decls defined within this function prototype. 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 | 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 | NumExceptionsOrDecls |
NumExceptionsOrDecls - 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 | 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... | |
DeclSpec * | MethodQualifiers |
DeclSpec for the function with the qualifier related info. More... | |
AttributeFactory * | QualAttrFactory |
AtttibuteFactory for the MethodQualifiers. 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... | |
NamedDecl ** DeclsInPrototype | |
Pointer to a new[]'d array of declarations that need to be available for lookup inside the function body, if one exists. More... | |
}; | |
UnionParsedType | TrailingReturnType |
If HasTrailingReturnType is true, this is the trailing return type specified. More... | |
Definition at line 1275 of file DeclSpec.h.
|
inline |
Definition at line 1384 of file DeclSpec.h.
References clang::EST_Dynamic, clang::EST_None, and clang::EST_Unparsed.
|
inline |
Reset the parameter list to having zero parameters.
This is used in various places for error recovery.
Definition at line 1374 of file DeclSpec.h.
Referenced by clang::Sema::CheckConversionDeclarator(), and clang::Sema::CheckDestructorDeclarator().
|
inline |
Retrieve the location of the 'const' qualifier.
Definition at line 1447 of file DeclSpec.h.
References clang::DeclSpec::getConstSpecLoc().
|
inline |
Get the non-parameter decls defined within this function prototype.
Typically these are tag declarations.
Definition at line 1496 of file DeclSpec.h.
References clang::EST_None.
|
inline |
Definition at line 1421 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Definition at line 1429 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Definition at line 1433 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Definition at line 1437 of file DeclSpec.h.
|
inline |
Get the type of exception specification this function has.
Definition at line 1484 of file DeclSpec.h.
Referenced by clang::Sema::containsUnexpandedParameterPacks().
|
inline |
Definition at line 1417 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Retrieve the location of the 'mutable' qualifier, if any.
Definition at line 1465 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Get the number of dynamic exception specifications.
Definition at line 1489 of file DeclSpec.h.
References clang::EST_None.
Referenced by clang::Sema::containsUnexpandedParameterPacks().
|
inline |
Definition at line 1404 of file DeclSpec.h.
|
inline |
Retrieve the location of the ref-qualifier, if any.
Definition at line 1442 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
Referenced by clang::Sema::CheckConstructorDeclarator(), and clang::Sema::CheckDestructorDeclarator().
|
inline |
Retrieve the location of the 'restrict' qualifier.
Definition at line 1459 of file DeclSpec.h.
References clang::DeclSpec::getRestrictSpecLoc().
|
inline |
Definition at line 1425 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Get the trailing-return-type for this function declarator.
Definition at line 1506 of file DeclSpec.h.
Referenced by clang::Sema::containsUnexpandedParameterPacks().
|
inline |
Retrieve the location of the 'volatile' qualifier.
Definition at line 1453 of file DeclSpec.h.
References clang::DeclSpec::getVolatileSpecLoc().
|
inline |
Determine whether this method has qualifiers.
Definition at line 1478 of file DeclSpec.h.
References clang::DeclSpec::getAttributes(), clang::DeclSpec::getTypeQualifiers(), and clang::ParsedAttributesView::size().
Referenced by checkMethodTypeQualifiers().
|
inline |
Determine whether this lambda-declarator contains a 'mutable' qualifier.
Definition at line 1475 of file DeclSpec.h.
|
inline |
Determine whether this function declaration contains a ref-qualifier.
Definition at line 1471 of file DeclSpec.h.
Referenced by clang::Sema::CheckConstructorDeclarator(), and clang::Sema::CheckDestructorDeclarator().
|
inline |
Determine whether this function declarator had a trailing-return-type.
Definition at line 1503 of file DeclSpec.h.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), and diagnoseRedundantReturnTypeQualifiers().
|
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 1415 of file DeclSpec.h.
Referenced by clang::Parser::ParseTopLevelDecl().
union { ... } |
NamedDecl** clang::DeclaratorChunk::FunctionTypeInfo::DeclsInPrototype |
Pointer to a new[]'d array of declarations that need to be available for lookup inside the function body, if one exists.
Does not exist in C++.
Definition at line 1364 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::DeleteParams |
DeleteParams - If this is true, we need to delete[] Params.
Definition at line 1297 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::EllipsisLoc |
When isVariadic is true, the location of the ellipsis in the source.
Definition at line 1307 of file DeclSpec.h.
Referenced by 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 1351 of file DeclSpec.h.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecLocBeg |
The beginning location of the exception specification, if any.
Definition at line 1331 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecLocEnd |
The end location of the exception specification, if any.
Definition at line 1334 of file DeclSpec.h.
Referenced by 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 1359 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecType |
ExceptionSpecType - An ExceptionSpecificationType value.
Definition at line 1294 of file DeclSpec.h.
Referenced by 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 1279 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction(), and maybeSynthesizeBlockSignature().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::HasTrailingReturnType |
HasTrailingReturnType - If this is true, a trailing return type was specified.
Definition at line 1301 of file DeclSpec.h.
Referenced by diagnoseDynamicExceptionSpecification(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::isAmbiguous |
Can this declaration be a constructor-style initializer?
Definition at line 1287 of file DeclSpec.h.
Referenced by 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 1284 of file DeclSpec.h.
Referenced by clang::Sema::CheckDestructorDeclarator(), clang::FTIHasSingleVoidParameter(), getCCForDeclaratorChunk(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::LParenLoc |
The location of the left parenthesis in the source.
Definition at line 1304 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
DeclSpec* clang::DeclaratorChunk::FunctionTypeInfo::MethodQualifiers |
DeclSpec for the function with the qualifier related info.
Definition at line 1342 of file DeclSpec.h.
Referenced by checkMethodTypeQualifiers(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::MutableLoc |
The location of the 'mutable' qualifer in a lambda-declarator, if any.
Definition at line 1328 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
Expr* clang::DeclaratorChunk::FunctionTypeInfo::NoexceptExpr |
Pointer to the expression in the noexcept-specifier of this function, if it has one.
Definition at line 1355 of file DeclSpec.h.
Referenced by clang::Sema::containsUnexpandedParameterPacks(), and clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::NumExceptionsOrDecls |
NumExceptionsOrDecls - This is the number of types in the dynamic-exception-decl, if the function has one.
In C, this is the number of declarations in the function prototype.
Definition at line 1319 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::NumParams |
NumParams - This is the number of formal parameters specified by the declarator.
Definition at line 1314 of file DeclSpec.h.
Referenced by clang::Sema::CheckExtraCXXDefaultArguments(), clang::Sema::containsUnexpandedParameterPacks(), clang::FTIHasNonVoidParameters(), clang::FTIHasSingleVoidParameter(), clang::DeclaratorChunk::getFunction(), clang::Parser::ParseTopLevelDecl(), 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 1339 of file DeclSpec.h.
Referenced by clang::Sema::CheckExtraCXXDefaultArguments(), clang::Sema::containsUnexpandedParameterPacks(), clang::FTIHasSingleVoidParameter(), clang::DeclaratorChunk::getFunction(), and clang::Parser::ParseTopLevelDecl().
AttributeFactory* clang::DeclaratorChunk::FunctionTypeInfo::QualAttrFactory |
AtttibuteFactory for the MethodQualifiers.
Definition at line 1345 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::RefQualifierIsLValueRef |
Whether the ref-qualifier (if any) is an lvalue reference.
Otherwise, it's an rvalue reference.
Definition at line 1291 of file DeclSpec.h.
Referenced by clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), 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 1324 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::RParenLoc |
The location of the right parenthesis in the source.
Definition at line 1310 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().
UnionParsedType clang::DeclaratorChunk::FunctionTypeInfo::TrailingReturnType |
If HasTrailingReturnType is true, this is the trailing return type specified.
Definition at line 1369 of file DeclSpec.h.
Referenced by clang::DeclaratorChunk::getFunction().