LLVM API Documentation
#include <DerivedTypes.h>
Inheritance diagram for llvm::FunctionType:
Public Types | |
typedef std::vector< PATypeHandle >::const_iterator | param_iterator |
Public Member Functions | |
bool | isVarArg () const |
const Type * | getReturnType () const |
param_iterator | param_begin () const |
param_iterator | param_end () const |
const Type * | getParamType (unsigned i) const |
unsigned | getNumParams () const |
virtual void | refineAbstractType (const DerivedType *OldTy, const Type *NewTy) |
virtual void | typeBecameConcrete (const DerivedType *AbsTy) |
Static Public Member Functions | |
static FunctionType * | get (const Type *Result, const std::vector< const Type * > &Params, bool isVarArg) |
static bool | classof (const FunctionType *T) |
static bool | classof (const Type *T) |
Methods for support type inquiry through isa, cast, and dyn_cast:. | |
Protected Member Functions | |
FunctionType (const Type *Result, const std::vector< const Type * > &Params, bool IsVarArgs) | |
Friends | |
class | TypeMap< FunctionValType, FunctionType > |
Definition at line 106 of file DerivedTypes.h.
|
Definition at line 133 of file DerivedTypes.h. |
|
This should really be private, but it squelches a bogus warning from GCC to make them protected: warning: `class FunctionType' only defines private constructors and has no friends Private ctor - Only can be created by a static member... Definition at line 367 of file Type.cpp. References llvm::Type::ContainedTys, llvm::Type::isAbstract(), llvm::Type::isFirstClassType(), and llvm::Type::setAbstract(). |
|
Methods for support type inquiry through isa, cast, and dyn_cast:.
Reimplemented from llvm::DerivedType. Definition at line 151 of file DerivedTypes.h. References llvm::Type::FunctionTyID, and llvm::Type::getTypeID(). |
|
Definition at line 150 of file DerivedTypes.h. |
|
FunctionType::get - This static method is the primary way of constructing a FunctionType Definition at line 876 of file Type.cpp. References llvm::TypeMap< ValType, TypeClass >::add(), and llvm::TypeMap< ValType, TypeClass >::get(). Referenced by llvm::CloneFunction(), llvm::ConvertExpressionToType(), EnsureFunctionExists(), llvm::ExpressionConvertibleToType(), llvm::Module::getMainFunction(), llvm::Module::getOrInsertFunction(), llvm::BytecodeReader::ParseType(), ReplaceCallWith(), and llvm::JIT::runFunction(). |
|
getNumParams - Return the number of fixed parameters this function type requires. This does not consider varargs. Definition at line 143 of file DerivedTypes.h. References llvm::Type::ContainedTys. Referenced by calcTypeName(), CheckVarargs(), ConvertOperandToType(), llvm::Function::Function(), llvm::FunctionValType::get(), getTypeDescription(), llvm::FunctionValType::hashTypeStructure(), OperandConvertibleToType(), llvm::BytecodeReader::ParseInstruction(), ProcessGlobalsWithSameName(), ReplaceCallWith(), ResolveFunctions(), llvm::JIT::runFunction(), llvm::Interpreter::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), and TypesEqual(). |
|
Definition at line 138 of file DerivedTypes.h. References llvm::Type::ContainedTys. Referenced by CheckVarargs(), ConvertOperandToType(), llvm::Function::Function(), llvm::FunctionValType::get(), OperandConvertibleToType(), llvm::BytecodeReader::ParseInstruction(), ReplaceCallWith(), ResolveFunctions(), llvm::JIT::runFunction(), and TypesEqual(). |
|
Definition at line 131 of file DerivedTypes.h. References llvm::Type::ContainedTys. Referenced by calcTypeName(), llvm::CloneFunction(), ConvertOperandToType(), llvm::FunctionValType::get(), llvm::Function::getReturnType(), getTypeDescription(), OperandConvertibleToType(), ReplaceCallWith(), llvm::JIT::runFunction(), and TypesEqual(). |
|
|
Definition at line 134 of file DerivedTypes.h. References llvm::Type::ContainedTys. Referenced by calcTypeName(), llvm::ConvertExpressionToType(), llvm::ExpressionConvertibleToType(), getTypeDescription(), and llvm::BytecodeReader::ParseInstruction(). |
|
Definition at line 135 of file DerivedTypes.h. References llvm::Type::ContainedTys. Referenced by calcTypeName(), llvm::ConvertExpressionToType(), llvm::ExpressionConvertibleToType(), getTypeDescription(), and llvm::BytecodeReader::ParseInstruction(). |
|
refineAbstractType - The callback method invoked when an abstract type is resolved to another type. An object must override this method to update its internal state to reference NewType instead of OldType. Implements llvm::AbstractTypeUser. Definition at line 1228 of file Type.cpp. References llvm::TypeMap< ValType, TypeClass >::finishRefinement(). Referenced by typeBecameConcrete(). |
|
The other case which AbstractTypeUsers must be aware of is when a type makes the transition from being abstract (where it has clients on it's AbstractTypeUsers list) to concrete (where it does not). This method notifies ATU's when this occurs for a type. Implements llvm::AbstractTypeUser. Definition at line 1233 of file Type.cpp. References refineAbstractType(). |
|
Definition at line 107 of file DerivedTypes.h. |