LLVM API Documentation
#include <DerivedTypes.h>
Inheritance diagram for llvm::StructType:
Public Types | |
typedef std::vector< PATypeHandle >::const_iterator | element_iterator |
Public Member Functions | |
element_iterator | element_begin () const |
element_iterator | element_end () const |
unsigned | getNumElements () const |
const Type * | getElementType (unsigned N) const |
virtual const Type * | getTypeAtIndex (const Value *V) const |
virtual bool | indexValid (const Value *V) const |
virtual void | refineAbstractType (const DerivedType *OldTy, const Type *NewTy) |
virtual void | typeBecameConcrete (const DerivedType *AbsTy) |
Static Public Member Functions | |
static StructType * | get (const std::vector< const Type * > &Params) |
static bool | classof (const StructType *T) |
static bool | classof (const Type *T) |
Methods for support type inquiry through isa, cast, and dyn_cast:. | |
Protected Member Functions | |
StructType (const std::vector< const Type * > &Types) | |
Friends | |
class | TypeMap< StructValType, StructType > |
Definition at line 183 of file DerivedTypes.h.
|
Definition at line 204 of file DerivedTypes.h. |
|
This should really be private, but it squelches a bogus warning from GCC to make them protected: warning: `class StructType' only defines private constructors and has no friends Private ctor - Only can be created by a static member... Definition at line 390 of file Type.cpp. References llvm::Type::ContainedTys, llvm::Type::isAbstract(), and llvm::Type::setAbstract(). |
|
Methods for support type inquiry through isa, cast, and dyn_cast:.
Reimplemented from llvm::CompositeType. Definition at line 227 of file DerivedTypes.h. References llvm::Type::getTypeID(), and llvm::Type::StructTyID. |
|
Definition at line 226 of file DerivedTypes.h. |
|
Definition at line 205 of file DerivedTypes.h. References llvm::Type::ContainedTys. Referenced by calcTypeName(), and getTypeDescription(). |
|
Definition at line 206 of file DerivedTypes.h. References llvm::Type::ContainedTys. Referenced by calcTypeName(), and getTypeDescription(). |
|
StructType::get - This static method is the primary way to create a StructType. Definition at line 1029 of file Type.cpp. References llvm::TypeMap< ValType, TypeClass >::add(), and llvm::TypeMap< ValType, TypeClass >::get(). Referenced by llvm::ConstantStruct::get(), llvm::AllocInfo::getConstantType(), llvm::ProgramInfo::getSourceFiles(), llvm::ProgramInfo::getSourceFunctions(), and llvm::BytecodeReader::ParseType(). |
|
Definition at line 210 of file DerivedTypes.h. References llvm::Type::ContainedTys. Referenced by llvm::ConstantStruct::ConstantStruct(), llvm::StructValType::get(), llvm::DSNode::mergeTypeInfo(), llvm::BytecodeReader::ParseConstantValue(), and TypesEqual(). |
|
Definition at line 209 of file DerivedTypes.h. References llvm::Type::ContainedTys. Referenced by llvm::ConstantStruct::ConstantStruct(), llvm::StructValType::get(), llvm::StructValType::hashTypeStructure(), llvm::BytecodeReader::ParseConstantValue(), and TypesEqual(). |
|
getTypeAtIndex - Given an index value into the type, return the type of the element. For a structure type, this must be a constant value... Implements llvm::CompositeType. Definition at line 317 of file Type.cpp. References llvm::Type::ContainedTys, and indexValid(). |
|
Implements llvm::CompositeType. Definition at line 306 of file Type.cpp. References llvm::Type::ContainedTys, llvm::Value::getType(), and llvm::Type::UIntTy. Referenced by getTypeAtIndex(). |
|
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 1268 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 1273 of file Type.cpp. References refineAbstractType(). |
|
Definition at line 184 of file DerivedTypes.h. |