LLVM API Documentation
#include <AbstractTypeUser.h>
Inheritance diagram for llvm::AbstractTypeUser:
Public Member Functions | |
virtual void | refineAbstractType (const DerivedType *OldTy, const Type *NewTy)=0 |
virtual void | typeBecameConcrete (const DerivedType *AbsTy)=0 |
virtual void | dump () const =0 |
Protected Member Functions | |
virtual | ~AbstractTypeUser () |
Definition at line 45 of file AbstractTypeUser.h.
|
|
|
Implemented in llvm::DerivedType, and llvm::SymbolTable. |
|
refineAbstractType - The callback method invoked when an abstract type is resolved to another type. An object must override this method to update its internal state to reference NewType instead of OldType. Implemented in llvm::FunctionType, llvm::StructType, llvm::ArrayType, llvm::PackedType, llvm::PointerType, and llvm::OpaqueType. Referenced by llvm::DerivedType::refineAbstractTypeTo(). |
|
The other case which AbstractTypeUsers must be aware of is when a type makes the transition from being abstract (where it has clients on it's AbstractTypeUsers list) to concrete (where it does not). This method notifies ATU's when this occurs for a type. Implemented in llvm::FunctionType, llvm::StructType, llvm::ArrayType, llvm::PackedType, llvm::PointerType, and llvm::OpaqueType. Referenced by llvm::DerivedType::notifyUsesThatTypeBecameConcrete(). |