LLVM API Documentation

llvm::ArrayType Class Reference

#include <DerivedTypes.h>

Inheritance diagram for llvm::ArrayType:

Inheritance graph
[legend]
Collaboration diagram for llvm::ArrayType:

Collaboration graph
[legend]
List of all members.

Public Member Functions

uint64_t getNumElements () const
virtual void refineAbstractType (const DerivedType *OldTy, const Type *NewTy)
virtual void typeBecameConcrete (const DerivedType *AbsTy)

Static Public Member Functions

static ArrayTypeget (const Type *ElementType, uint64_t NumElements)
static bool classof (const ArrayType *T)
static bool classof (const Type *T)
 Methods for support type inquiry through isa, cast, and dyn_cast:.

Protected Member Functions

 ArrayType (const Type *ElType, uint64_t NumEl)

Friends

class TypeMap< ArrayValType, ArrayType >

Detailed Description

ArrayType - Class to represent array types

Definition at line 245 of file DerivedTypes.h.


Constructor & Destructor Documentation

ArrayType::ArrayType ( const Type ElType,
uint64_t  NumEl 
) [protected]

This should really be private, but it squelches a bogus warning from GCC to make them protected: warning: `class ArrayType' only defines private constructors and has no friends

Private ctor - Only can be created by a static member...

Definition at line 461 of file Type.cpp.

References llvm::Type::isAbstract(), and llvm::Type::setAbstract().


Member Function Documentation

ArrayType * ArrayType::get ( const Type ElementType,
uint64_t  NumElements 
) [static]

ArrayType::get - This static method is the primary way to construct an ArrayType

Definition at line 1054 of file Type.cpp.

References ArrayTypes.

Referenced by DISerializeVisitor::Apply(), llvm::ConstantArray::get(), and llvm::BytecodeReader::ParseType().

uint64_t llvm::ArrayType::getNumElements (  )  const [inline]

Definition at line 266 of file DerivedTypes.h.

Referenced by calcTypeName(), llvm::ArrayValType::get(), getTypeDescription(), getTypeInfo(), llvm::ArrayValType::hashTypeStructure(), LinkAppendingVars(), llvm::BytecodeReader::ParseConstantPoolValue(), llvm::BytecodeReader::ParseStringConstants(), and RecursiveResolveTypesI().

void ArrayType::refineAbstractType ( const DerivedType OldTy,
const Type NewTy 
) [virtual]

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.

Reimplemented from llvm::Type.

Definition at line 1371 of file Type.cpp.

References ArrayTypes.

void ArrayType::typeBecameConcrete ( const DerivedType AbsTy  )  [virtual]

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.

Reimplemented from llvm::Type.

Definition at line 1376 of file Type.cpp.

References ArrayTypes.

static bool llvm::ArrayType::classof ( const ArrayType T  )  [inline, static]

Definition at line 273 of file DerivedTypes.h.

static bool llvm::ArrayType::classof ( const Type T  )  [inline, static]

Methods for support type inquiry through isa, cast, and dyn_cast:.

Reimplemented from llvm::SequentialType.

Definition at line 274 of file DerivedTypes.h.

References llvm::Type::ArrayTyID, llvm::Type::getTypeID(), and T.


Friends And Related Function Documentation

friend class TypeMap< ArrayValType, ArrayType > [friend]

Definition at line 246 of file DerivedTypes.h.


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