LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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


Constructor & Destructor Documentation

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

Definition at line 139 of file AbstractTypeUser.h.

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

Definition at line 142 of file AbstractTypeUser.h.

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

Definition at line 146 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 424 of file Type.h.

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

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

Definition at line 148 of file AbstractTypeUser.h.

References get().

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

Definition at line 152 of file AbstractTypeUser.h.

References get().

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

Definition at line 163 of file AbstractTypeUser.h.

References operator=(), and Ty.

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

Definition at line 155 of file AbstractTypeUser.h.

References get().

Referenced by operator=().


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