clang API Documentation
#include <Type.h>
Classes | |
class | ExtInfo |
Public Member Functions | |
QualType | getReturnType () const |
bool | getHasRegParm () const |
unsigned | getRegParmType () const |
bool | getNoReturnAttr () const |
Determine whether this function type includes the GNU noreturn attribute. The C++11 [[noreturn]] attribute does not affect the function type. | |
CallingConv | getCallConv () const |
ExtInfo | getExtInfo () const |
bool | isConst () const |
bool | isVolatile () const |
bool | isRestrict () 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) |
Protected Member Functions | |
FunctionType (TypeClass tc, QualType res, QualType Canonical, bool Dependent, bool InstantiationDependent, bool VariablyModified, bool ContainsUnexpandedParameterPack, ExtInfo Info) | |
unsigned | getTypeQuals () const |
FunctionType - C99 6.7.5.3 - Function Declarators. This is the common base class of FunctionNoProtoType and FunctionProtoType.
static bool clang::FunctionType::classof | ( | const Type * | T | ) | [inline, static] |
Reimplemented in clang::FunctionProtoType, and clang::FunctionNoProtoType.
Definition at line 2808 of file Type.h.
References clang::Type::getTypeClass().
CallingConv clang::FunctionType::getCallConv | ( | ) | const [inline] |
Definition at line 2794 of file Type.h.
Referenced by clang::Sema::adjustCCAndNoReturn(), clang::Sema::adjustMemberFunctionCC(), clang::Sema::CheckOverridingFunctionAttributes(), getCallingConvMangling(), and 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 2802 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 2795 of file Type.h.
Referenced by clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::adjustCCAndNoReturn(), clang::ASTContext::adjustFunctionType(), adjustFunctionTypeForInstantiation(), clang::Sema::adjustMemberFunctionCC(), clang::CodeGen::CodeGenTypes::arrangeCXXMethodCall(), arrangeFreeFunctionLikeCall(), clang::Sema::BuildDeclarationNameExpr(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::Sema::IsBlockPointerConversion(), clang::Sema::IsNoReturnConversion(), IsStructurallyEquivalent(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeFunctionTypes(), and clang::ASTNodeImporter::VisitFunctionNoProtoType().
bool clang::FunctionType::getHasRegParm | ( | ) | const [inline] |
Definition at line 2788 of file Type.h.
Referenced by handleFunctionTypeAttr().
StringRef FunctionType::getNameForCallConv | ( | CallingConv | CC | ) | [static] |
Definition at line 1574 of file Type.cpp.
References clang::CC_AAPCS, clang::CC_AAPCS_VFP, clang::CC_C, clang::CC_IntelOclBicc, clang::CC_PnaclCall, clang::CC_X86_64SysV, clang::CC_X86_64Win64, clang::CC_X86FastCall, clang::CC_X86Pascal, clang::CC_X86StdCall, clang::CC_X86ThisCall, and clang::CC_X86VectorCall.
Referenced by clang::Sema::ActOnFunctionDeclarator(), handleFunctionTypeAttr(), and clang::Sema::MergeFunctionDecl().
bool clang::FunctionType::getNoReturnAttr | ( | ) | const [inline] |
Determine whether this function type includes the GNU noreturn attribute. The C++11 [[noreturn]] attribute does not affect the function type.
Definition at line 2793 of file Type.h.
Referenced by clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::adjustCCAndNoReturn(), and clang::TemplateDeclInstantiator::InitFunctionInstantiation().
unsigned clang::FunctionType::getRegParmType | ( | ) | const [inline] |
Definition at line 2789 of file Type.h.
Referenced by clang::Sema::MergeFunctionDecl().
QualType clang::FunctionType::getReturnType | ( | ) | const [inline] |
Definition at line 2786 of file Type.h.
Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnFunctionDeclarator(), addAssociatedClassesAndNamespaces(), addBlockPointerConversion(), addFunctionPointerConversion(), clang::ASTContext::adjustFunctionType(), appendFunctionType(), clang::CodeGen::CodeGenTypes::arrangeCXXMethodCall(), arrangeFreeFunctionLikeCall(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckParamExceptionSpec(), computeCachedProperties(), computeLinkageInfo(), clang::PredefinedExpr::ComputeName(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString(), DeduceTemplateArgumentsByTypeMatch(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitForwardingCallToLambda(), FormatFunctionParameter(), clang::Sema::GatherArgumentsForCall(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CallExpr::getCallReturnType(), GetFullTypeForDeclarator(), getFunctionTypeWithExceptionSpec(), clang::ASTContext::getObjCEncodingForBlock(), clang::Sema::HandleFunctionTypeMismatch(), handleWarnUnusedResult(), hasDeducedReturnType(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), isAtLeastAsSpecializedAs(), clang::Sema::IsBlockPointerConversion(), isDispatchBlock(), clang::CodeGen::CodeGenTypes::isFuncTypeConvertible(), clang::Sema::isObjCPointerConversion(), clang::Sema::IsOverload(), IsStructurallyEquivalent(), MarkUsedTemplateParameters(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeFunctionTypes(), clang::FunctionProtoType::Profile(), SpecializeCorrespondingLambdaCallOperatorAndInvoker(), clang::Sema::startLambdaDefinition(), clang::CodeGen::CodeGenFunction::StartThunk(), clang::Sema::SubstituteExplicitTemplateArguments(), clang::TreeTransform< Derived >::TransformFunctionProtoType(), clang::Sema::tryExprAsCall(), clang::ASTNodeImporter::VisitFunctionNoProtoType(), and clang::ASTNodeImporter::VisitFunctionProtoType().
unsigned clang::FunctionType::getTypeQuals | ( | ) | const [inline, protected] |
Reimplemented in clang::FunctionProtoType.
Definition at line 2783 of file Type.h.
Referenced by clang::FunctionProtoType::getTypeQuals().
bool clang::FunctionType::isConst | ( | ) | const [inline] |
Definition at line 2796 of file Type.h.
References clang::Qualifiers::Const.
Referenced by AddFunctionTypeQualsToCompletionString(), and clang::PredefinedExpr::ComputeName().
bool clang::FunctionType::isRestrict | ( | ) | const [inline] |
Definition at line 2798 of file Type.h.
References clang::Qualifiers::Restrict.
Referenced by AddFunctionTypeQualsToCompletionString().
bool clang::FunctionType::isVolatile | ( | ) | const [inline] |
Definition at line 2797 of file Type.h.
References clang::Qualifiers::Volatile.
Referenced by AddFunctionTypeQualsToCompletionString(), and clang::PredefinedExpr::ComputeName().