clang
7.0.0
|
#include "clang/Sema/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... | |
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 | 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 | 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 | 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... | |
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 1239 of file DeclSpec.h.
|
inline |
Definition at line 1361 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 1351 of file DeclSpec.h.
Referenced by clang::Sema::CheckConversionDeclarator(), and clang::Sema::CheckDestructorDeclarator().
|
inline |
Retrieve the location of the 'const' qualifier, if any.
Definition at line 1414 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Get the non-parameter decls defined within this function prototype.
Typically these are tag declarations.
Definition at line 1454 of file DeclSpec.h.
References clang::EST_None.
|
inline |
Definition at line 1388 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Definition at line 1396 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Definition at line 1400 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Definition at line 1404 of file DeclSpec.h.
|
inline |
Get the type of exception specification this function has.
Definition at line 1442 of file DeclSpec.h.
|
inline |
Definition at line 1384 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Retrieve the location of the 'mutable' qualifier, if any.
Definition at line 1429 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Get the number of dynamic exception specifications.
Definition at line 1447 of file DeclSpec.h.
References clang::EST_None.
|
inline |
Retrieve the location of the ref-qualifier, if any.
Definition at line 1409 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, if any.
Definition at line 1424 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Definition at line 1392 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Get the trailing-return-type for this function declarator.
Definition at line 1464 of file DeclSpec.h.
|
inline |
Retrieve the location of the 'volatile' qualifier, if any.
Definition at line 1419 of file DeclSpec.h.
References clang::SourceLocation::getFromRawEncoding().
|
inline |
Determine whether this lambda-declarator contains a 'mutable' qualifier.
Definition at line 1439 of file DeclSpec.h.
|
inline |
Determine whether this function declaration contains a ref-qualifier.
Definition at line 1435 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 1461 of file DeclSpec.h.
Referenced by 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 1382 of file DeclSpec.h.
Referenced by clang::Parser::ParseTopLevelDecl().
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 1297 of file DeclSpec.h.
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 1341 of file DeclSpec.h.
unsigned clang::DeclaratorChunk::FunctionTypeInfo::DeleteParams |
DeleteParams - If this is true, we need to delete[] Params.
Definition at line 1265 of file DeclSpec.h.
unsigned clang::DeclaratorChunk::FunctionTypeInfo::EllipsisLoc |
When isVariadic is true, the location of the ellipsis in the source.
Definition at line 1275 of file DeclSpec.h.
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 1328 of file DeclSpec.h.
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecLocBeg |
The beginning location of the exception specification, if any.
Definition at line 1314 of file DeclSpec.h.
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecLocEnd |
The end location of the exception specification, if any.
Definition at line 1317 of file DeclSpec.h.
CachedTokens* clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecTokens |
Pointer to the cached tokens for an exception-specification that has not yet been parsed.
Definition at line 1336 of file DeclSpec.h.
unsigned clang::DeclaratorChunk::FunctionTypeInfo::ExceptionSpecType |
ExceptionSpecType - An ExceptionSpecificationType value.
Definition at line 1262 of file DeclSpec.h.
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 1243 of file DeclSpec.h.
Referenced by maybeSynthesizeBlockSignature().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::HasTrailingReturnType |
HasTrailingReturnType - If this is true, a trailing return type was specified.
Definition at line 1269 of file DeclSpec.h.
unsigned clang::DeclaratorChunk::FunctionTypeInfo::isAmbiguous |
Can this declaration be a constructor-style initializer?
Definition at line 1251 of file DeclSpec.h.
Referenced by 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 1248 of file DeclSpec.h.
Referenced by clang::Sema::CheckDestructorDeclarator(), clang::FTIHasSingleVoidParameter(), and getCCForDeclaratorChunk().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::LParenLoc |
The location of the left parenthesis in the source.
Definition at line 1272 of file DeclSpec.h.
unsigned clang::DeclaratorChunk::FunctionTypeInfo::MutableLoc |
The location of the 'mutable' qualifer in a lambda-declarator, if any.
Definition at line 1311 of file DeclSpec.h.
Expr* clang::DeclaratorChunk::FunctionTypeInfo::NoexceptExpr |
Pointer to the expression in the noexcept-specifier of this function, if it has one.
Definition at line 1332 of file DeclSpec.h.
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 1287 of file DeclSpec.h.
unsigned clang::DeclaratorChunk::FunctionTypeInfo::NumParams |
NumParams - This is the number of formal parameters specified by the declarator.
Definition at line 1282 of file DeclSpec.h.
Referenced by clang::Sema::CheckExtraCXXDefaultArguments(), clang::FTIHasNonVoidParameters(), clang::FTIHasSingleVoidParameter(), 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 1322 of file DeclSpec.h.
Referenced by clang::Sema::CheckExtraCXXDefaultArguments(), clang::FTIHasSingleVoidParameter(), and clang::Parser::ParseTopLevelDecl().
unsigned clang::DeclaratorChunk::FunctionTypeInfo::RefQualifierIsLValueRef |
Whether the ref-qualifier (if any) is an lvalue reference.
Otherwise, it's an rvalue reference.
Definition at line 1255 of file DeclSpec.h.
Referenced by clang::Sema::CheckConstructorDeclarator(), and clang::Sema::CheckDestructorDeclarator().
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 1292 of file DeclSpec.h.
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 1307 of file DeclSpec.h.
unsigned clang::DeclaratorChunk::FunctionTypeInfo::RParenLoc |
The location of the right parenthesis in the source.
Definition at line 1278 of file DeclSpec.h.
UnionParsedType clang::DeclaratorChunk::FunctionTypeInfo::TrailingReturnType |
If HasTrailingReturnType is true, this is the trailing return type specified.
Definition at line 1346 of file DeclSpec.h.
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 1259 of file DeclSpec.h.
Referenced by clang::Sema::CheckConstructorDeclarator(), and clang::Sema::CheckDestructorDeclarator().
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 1302 of file DeclSpec.h.