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 131 of file AbstractTypeUser.h.


Constructor & Destructor Documentation

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

Definition at line 134 of file AbstractTypeUser.h.

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

Definition at line 137 of file AbstractTypeUser.h.

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

Definition at line 141 of file AbstractTypeUser.h.


Member Function Documentation

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

Definition at line 143 of file AbstractTypeUser.h.

References get().

Type * PATypeHolder::get (  )  const

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 46 of file Type.cpp.

References llvm::Type::getForwardedType().

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

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

Definition at line 147 of file AbstractTypeUser.h.

References get().

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

Definition at line 150 of file AbstractTypeUser.h.

References get().

Referenced by operator=().

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

Definition at line 158 of file AbstractTypeUser.h.

References H, and operator=().

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

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

Definition at line 164 of file AbstractTypeUser.h.


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