LLVM API Documentation

Public Member Functions | Static Public Member Functions | Protected Member Functions
llvm::TypedInit Class Reference

#include <Record.h>

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

List of all members.

Public Member Functions

RecTygetType () const
InitconvertInitializerBitRange (const std::vector< unsigned > &Bits) const override
InitconvertInitListSlice (const std::vector< unsigned > &Elements) const override
RecTygetFieldType (const std::string &FieldName) const override
virtual InitresolveListElementReference (Record &R, const RecordVal *RV, unsigned Elt) const =0

Static Public Member Functions

static bool classof (const Init *I)

Protected Member Functions

 TypedInit (InitKind K, RecTy *T)

Detailed Description

TypedInit - This is the common super-class of types that have a specific, explicit, type.

Definition at line 561 of file Record.h.


Constructor & Destructor Documentation

llvm::TypedInit::TypedInit ( InitKind  K,
RecTy T 
) [inline, explicit, protected]

Definition at line 568 of file Record.h.


Member Function Documentation

static bool llvm::TypedInit::classof ( const Init I) [inline, static]
Init * TypedInit::convertInitializerBitRange ( const std::vector< unsigned > &  Bits) const [override, virtual]

convertInitializerBitRange - This method is used to implement the bitrange selection operator. Given an initializer, it selects the specified bits out, returning them as a new init of bits type. If it is not legal to use the bit subscript operator on this initializer, return null.

Reimplemented from llvm::Init.

Reimplemented in llvm::IntInit, and llvm::BitsInit.

Definition at line 1290 of file Record.cpp.

References llvm::dyn_cast(), llvm::BitsInit::get(), llvm::VarBitInit::get(), llvm::BitsRecTy::getNumBits(), and getType().

Init * TypedInit::convertInitListSlice ( const std::vector< unsigned > &  Elements) const [override, virtual]

convertInitListSlice - This method is used to implement the list slice selection operator. Given an initializer, it selects the specified list elements, returning them as a new init of list type. If it is not legal to take a slice of this, return null.

Reimplemented from llvm::Init.

Reimplemented in llvm::ListInit.

Definition at line 1306 of file Record.cpp.

References llvm::dyn_cast(), llvm::ListInit::get(), llvm::VarListElementInit::get(), and getType().

RecTy * TypedInit::getFieldType ( const std::string &  FieldName) const [override, virtual]

getFieldType - This method is used to implement the FieldInit class. Implementors of this method should return the type of the named field if they are of record type.

Reimplemented from llvm::Init.

Reimplemented in llvm::DefInit, and llvm::VarInit.

Definition at line 1282 of file Record.cpp.

References llvm::tgtok::Field, and getType().

RecTy* llvm::TypedInit::getType ( ) const [inline]
virtual Init* llvm::TypedInit::resolveListElementReference ( Record R,
const RecordVal RV,
unsigned  Elt 
) const [pure virtual]

resolveListElementReference - This method is used to implement VarListElementInit::resolveReferences. If the list element is resolvable now, we return the resolved value, otherwise we return null.

Implemented in llvm::DagInit, llvm::FieldInit, llvm::DefInit, llvm::VarListElementInit, llvm::VarInit, llvm::OpInit, llvm::ListInit, llvm::StringInit, llvm::IntInit, and llvm::BitsInit.

Referenced by llvm::OpInit::resolveListElementReference(), and llvm::VarListElementInit::resolveListElementReference().


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