LLVM API Documentation
#include <AbstractTypeUser.h>
Collaboration diagram for llvm::PATypeHolder:
Public Member Functions | |
PATypeHolder (const Type *ty) | |
PATypeHolder (const PATypeHolder &T) | |
~PATypeHolder () | |
operator Type * () const | |
Type * | get () const |
Type * | operator-> () const |
Type * | operator= (const Type *ty) |
Type * | operator= (const PATypeHolder &H) |
const Type * | getRawType () const |
Definition at line 131 of file AbstractTypeUser.h.
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.
llvm::PATypeHolder::operator Type * | ( | ) | const [inline] |
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] |
Type* llvm::PATypeHolder::operator= | ( | const PATypeHolder & | H | ) | [inline] |
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.