LLVM API Documentation

llvm::OpaqueType Class Reference

#include <DerivedTypes.h>

Inheritance diagram for llvm::OpaqueType:

Inheritance graph
[legend]
Collaboration diagram for llvm::OpaqueType:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void refineAbstractType (const DerivedType *OldTy, const Type *NewTy)
virtual void typeBecameConcrete (const DerivedType *AbsTy)

Static Public Member Functions

static OpaqueTypeget ()
static bool classof (const OpaqueType *T)
static bool classof (const Type *T)
 Methods for support type inquiry through isa, cast, and dyn_cast:.

Protected Member Functions

 OpaqueType ()

Detailed Description

OpaqueType - Class to represent abstract types

Definition at line 348 of file DerivedTypes.h.


Constructor & Destructor Documentation

OpaqueType::OpaqueType (  )  [protected]

This should really be private, but it squelches a bogus warning from GCC to make them protected: warning: `class OpaqueType' only defines private constructors and has no friends

Private ctor - Only can be created by a static member...

Definition at line 484 of file Type.cpp.

References llvm::Type::setAbstract().

Referenced by get().


Member Function Documentation

static OpaqueType* llvm::OpaqueType::get (  )  [inline, static]

OpaqueType::get - Static factory method for the OpaqueType class...

Definition at line 362 of file DerivedTypes.h.

References OpaqueType().

Referenced by llvm::DerivedType::dropAllTypeUses(), llvm::BytecodeReader::ParseType(), and llvm::BytecodeReader::ParseTypes().

virtual void llvm::OpaqueType::refineAbstractType ( const DerivedType OldTy,
const Type NewTy 
) [inline, virtual]

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.

Reimplemented from llvm::Type.

Definition at line 367 of file DerivedTypes.h.

virtual void llvm::OpaqueType::typeBecameConcrete ( const DerivedType AbsTy  )  [inline, virtual]

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.

Reimplemented from llvm::Type.

Definition at line 370 of file DerivedTypes.h.

static bool llvm::OpaqueType::classof ( const OpaqueType T  )  [inline, static]

Definition at line 375 of file DerivedTypes.h.

static bool llvm::OpaqueType::classof ( const Type T  )  [inline, static]

Methods for support type inquiry through isa, cast, and dyn_cast:.

Reimplemented from llvm::DerivedType.

Definition at line 376 of file DerivedTypes.h.

References llvm::Type::getTypeID(), llvm::Type::OpaqueTyID, and T.


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