LLVM API Documentation

llvm::PATypeHolder Class Reference

#include <AbstractTypeUser.h>

Collaboration diagram for llvm::PATypeHolder:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PATypeHolder (const Type *ty)
 PATypeHolder (const PATypeHolder &T)
 ~PATypeHolder ()
 operator Type * () const
Typeget () const
Typeoperator-> () const
Typeoperator= (const Type *ty)
Typeoperator= (const PATypeHolder &H)
const TypegetRawType () const

Detailed Description

PATypeHolder - Holder class for a potentially abstract type. This uses efficient union-find techniques to handle dynamic type resolution. Unless you need to do custom processing when types are resolved, you should always use PATypeHolders in preference to PATypeHandles.

Definition at line 128 of file AbstractTypeUser.h.


Constructor & Destructor Documentation

llvm::PATypeHolder::PATypeHolder ( const Type ty  )  [inline]

Definition at line 131 of file AbstractTypeUser.h.

llvm::PATypeHolder::PATypeHolder ( const PATypeHolder T  )  [inline]

Definition at line 134 of file AbstractTypeUser.h.

llvm::PATypeHolder::~PATypeHolder (  )  [inline]

Definition at line 138 of file AbstractTypeUser.h.


Member Function Documentation

Type * llvm::PATypeHolder::get (  )  const [inline]

get - This implements the forwarding part of the union-find algorithm for abstract types. Before every access to the Type*, we check to see if the type we are pointing to is forwarding to a new type. If so, we drop our reference to the type.

Definition at line 402 of file Type.h.

References llvm::Type::getForwardedType(), and Ty.

Referenced by getFT(), getST(), operator Type *(), operator->(), operator=(), RecursiveResolveTypesI(), and llvm::DerivedType::refineAbstractTypeTo().

const Type* llvm::PATypeHolder::getRawType (  )  const [inline]

getRawType - This should only be used to implement the vmcore library.

Definition at line 161 of file AbstractTypeUser.h.

llvm::PATypeHolder::operator Type * (  )  const [inline]

Definition at line 140 of file AbstractTypeUser.h.

References get().

Type* llvm::PATypeHolder::operator-> (  )  const [inline]

Definition at line 144 of file AbstractTypeUser.h.

References get().

Type* llvm::PATypeHolder::operator= ( const PATypeHolder H  )  [inline]

Definition at line 155 of file AbstractTypeUser.h.

References H, and operator=().

Type* llvm::PATypeHolder::operator= ( const Type ty  )  [inline]

Definition at line 147 of file AbstractTypeUser.h.

References get().

Referenced by operator=().


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