clang API Documentation
#include <Type.h>


Classes | |
| class | ExtInfo |
Public Member Functions | |
| QualType | getResultType () const |
| bool | getHasRegParm () const |
| unsigned | getRegParmType () const |
| bool | getNoReturnAttr () const |
| CallingConv | getCallConv () const |
| ExtInfo | getExtInfo () const |
| QualType | getCallResultType (ASTContext &Context) const |
| Determine the type of an expression that calls a function of this type. | |
Static Public Member Functions | |
| static StringRef | getNameForCallConv (CallingConv CC) |
| static bool | classof (const Type *T) |
| static bool | classof (const FunctionType *) |
Protected Member Functions | |
| FunctionType (TypeClass tc, QualType res, bool variadic, unsigned typeQuals, RefQualifierKind RefQualifier, QualType Canonical, bool Dependent, bool InstantiationDependent, bool VariablyModified, bool ContainsUnexpandedParameterPack, ExtInfo Info) | |
| bool | isVariadic () const |
| unsigned | getTypeQuals () const |
| RefQualifierKind | getRefQualifier () const |
FunctionType - C99 6.7.5.3 - Function Declarators. This is the common base class of FunctionNoProtoType and FunctionProtoType.
| clang::FunctionType::FunctionType | ( | TypeClass | tc, |
| QualType | res, | ||
| bool | variadic, | ||
| unsigned | typeQuals, | ||
| RefQualifierKind | RefQualifier, | ||
| QualType | Canonical, | ||
| bool | Dependent, | ||
| bool | InstantiationDependent, | ||
| bool | VariablyModified, | ||
| bool | ContainsUnexpandedParameterPack, | ||
| ExtInfo | Info | ||
| ) | [inline, protected] |
| static bool clang::FunctionType::classof | ( | const Type * | T | ) | [inline, static] |
Reimplemented from clang::Type.
Reimplemented in clang::FunctionProtoType, and clang::FunctionNoProtoType.
Definition at line 2657 of file Type.h.
References clang::Type::getTypeClass().
| static bool clang::FunctionType::classof | ( | const FunctionType * | ) | [inline, static] |
| CallingConv clang::FunctionType::getCallConv | ( | ) | const [inline] |
Definition at line 2646 of file Type.h.
Referenced by handleFunctionTypeAttr().
| QualType clang::FunctionType::getCallResultType | ( | ASTContext & | Context | ) | const [inline] |
Determine the type of an expression that calls a function of this type.
Definition at line 2651 of file Type.h.
References clang::QualType::getNonLValueExprType().
Referenced by clang::Sema::BuildCallToMemberFunction(), and clang::Sema::BuildResolvedCallExpr().
| ExtInfo clang::FunctionType::getExtInfo | ( | ) | const [inline] |
Definition at line 2647 of file Type.h.
Referenced by clang::Sema::ActOnBlockStmtExpr(), clang::ASTContext::adjustFunctionType(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::CheckExplicitlyDefaultedCopyAssignment(), clang::Sema::CheckExplicitlyDefaultedCopyConstructor(), clang::Sema::CheckExplicitlyDefaultedDefaultConstructor(), clang::Sema::CheckExplicitlyDefaultedDestructor(), clang::Sema::CheckExplicitlyDefaultedMoveAssignment(), clang::Sema::CheckExplicitlyDefaultedMoveConstructor(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenTypes::getFunctionInfo(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::Sema::IsBlockPointerConversion(), clang::Sema::IsNoReturnConversion(), IsStructurallyEquivalent(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeFunctionTypes(), clang::Sema::SubstituteExplicitTemplateArguments(), and clang::ASTNodeImporter::VisitFunctionNoProtoType().
| bool clang::FunctionType::getHasRegParm | ( | ) | const [inline] |
Definition at line 2643 of file Type.h.
Referenced by handleFunctionTypeAttr().
| StringRef FunctionType::getNameForCallConv | ( | CallingConv | CC | ) | [static] |
Definition at line 1540 of file Type.cpp.
References clang::CC_AAPCS, clang::CC_AAPCS_VFP, clang::CC_C, clang::CC_Default, clang::CC_X86FastCall, clang::CC_X86Pascal, clang::CC_X86StdCall, and clang::CC_X86ThisCall.
Referenced by handleFunctionTypeAttr(), and clang::Sema::MergeFunctionDecl().
| bool clang::FunctionType::getNoReturnAttr | ( | ) | const [inline] |
Definition at line 2645 of file Type.h.
Referenced by clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCapScopeReturnStmt(), and clang::TemplateDeclInstantiator::InitFunctionInstantiation().
| RefQualifierKind clang::FunctionType::getRefQualifier | ( | ) | const [inline, protected] |
Reimplemented in clang::FunctionProtoType.
Definition at line 2635 of file Type.h.
Referenced by clang::FunctionProtoType::getRefQualifier().
| unsigned clang::FunctionType::getRegParmType | ( | ) | const [inline] |
Definition at line 2644 of file Type.h.
Referenced by clang::Sema::MergeFunctionDecl().
| QualType clang::FunctionType::getResultType | ( | ) | const [inline] |
Definition at line 2641 of file Type.h.
Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnStartOfLambdaDefinition(), addAssociatedClassesAndNamespaces(), clang::ASTContext::adjustFunctionType(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::CheckParamExceptionSpec(), computeCachedProperties(), clang::PredefinedExpr::ComputeName(), clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString(), clang::Sema::DeclareInheritedConstructors(), DeduceTemplateArgumentsByTypeMatch(), FormatFunctionParameter(), clang::Sema::GatherArgumentsForCall(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CallExpr::getCallReturnType(), GetFullTypeForDeclarator(), clang::CodeGen::CodeGenTypes::getFunctionInfo(), clang::ASTContext::getObjCEncodingForBlock(), clang::Sema::HandleFunctionTypeMismatch(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), isAtLeastAsSpecializedAs(), clang::Sema::IsBlockPointerConversion(), clang::Sema::isExprCallable(), clang::CodeGen::CodeGenTypes::isFuncTypeConvertible(), clang::Sema::isObjCPointerConversion(), clang::Sema::IsOverload(), IsStructurallyEquivalent(), MarkUsedTemplateParameters(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeFunctionTypes(), clang::FunctionProtoType::Profile(), clang::Sema::SubstituteExplicitTemplateArguments(), clang::ASTNodeImporter::VisitFunctionNoProtoType(), and clang::ASTNodeImporter::VisitFunctionProtoType().
| unsigned clang::FunctionType::getTypeQuals | ( | ) | const [inline, protected] |
Reimplemented in clang::FunctionProtoType.
Definition at line 2633 of file Type.h.
Referenced by clang::FunctionProtoType::getTypeQuals().
| bool clang::FunctionType::isVariadic | ( | ) | const [inline, protected] |
Definition at line 2632 of file Type.h.
Referenced by clang::Sema::AddMethodCandidate(), clang::Sema::AddOverloadCandidate(), clang::Sema::AddSurrogateCandidate(), clang::CodeGen::CodeGenFunction::BuildAppleKextVirtualDestructorCall(), clang::Sema::BuildCXXNew(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CompleteConstructorCall(), clang::Sema::ConvertArgumentsForCall(), clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CodeGenFunction::EmitCXXOperatorMemberCallee(), clang::CodeGen::CGCXXABI::EmitLoadOfMemberFunctionPointer(), clang::Sema::FindAllocationFunctions(), FormatFunctionParameter(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenModule::GetAddrOfCXXConstructor(), clang::CXXRecordDecl::getCopyAssignmentOperator(), clang::NamedDecl::getQualifiedNameAsString(), handleFunctionTypeAttr(), clang::Sema::IsBlockPointerConversion(), isFunctionOrMethodVariadic(), clang::Sema::isObjCPointerConversion(), clang::Sema::IsOverload(), clang::FunctionDecl::isReservedGlobalPlacementOperator(), IsStructurallyEquivalent(), clang::ASTContext::mergeFunctionTypes(), and clang::Sema::SubstituteExplicitTemplateArguments().