clang API Documentation

Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions
clang::FunctionType Class Reference

#include <Type.h>

Inheritance diagram for clang::FunctionType:
Inheritance graph
[legend]
Collaboration diagram for clang::FunctionType:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

FunctionType - C99 6.7.5.3 - Function Declarators. This is the common base class of FunctionNoProtoType and FunctionProtoType.

Definition at line 2656 of file Type.h.


Constructor & Destructor Documentation

clang::FunctionType::FunctionType ( TypeClass  tc,
QualType  res,
QualType  Canonical,
bool  Dependent,
bool  InstantiationDependent,
bool  VariablyModified,
bool  ContainsUnexpandedParameterPack,
ExtInfo  Info 
) [inline, protected]

Definition at line 2773 of file Type.h.


Member Function Documentation

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().

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().

Definition at line 2788 of file Type.h.

Referenced by handleFunctionTypeAttr().

StringRef FunctionType::getNameForCallConv ( CallingConv  CC) [static]

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().

Definition at line 2789 of file Type.h.

Referenced by clang::Sema::MergeFunctionDecl().

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 2798 of file Type.h.

References clang::Qualifiers::Restrict.

Referenced by AddFunctionTypeQualsToCompletionString().


The documentation for this class was generated from the following files: