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


Constructor & Destructor Documentation

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

Definition at line 140 of file AbstractTypeUser.h.

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

Definition at line 143 of file AbstractTypeUser.h.

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

Definition at line 147 of file AbstractTypeUser.h.


Member Function Documentation

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

Definition at line 149 of file AbstractTypeUser.h.

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 405 of file Type.h.

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

Referenced by llvm::DerivedType::refineAbstractTypeTo().

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

Definition at line 153 of file AbstractTypeUser.h.

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

Definition at line 156 of file AbstractTypeUser.h.

Referenced by operator=().

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

Definition at line 164 of file AbstractTypeUser.h.

References operator=(), and Ty.

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

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

Definition at line 170 of file AbstractTypeUser.h.

Referenced by llvm::Value::getRawType().


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



This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.