LLVM  16.0.0git
Public Types | Public Member Functions | List of all members
llvm::RecTy Class Referenceabstract

#include "llvm/TableGen/Record.h"

Inheritance diagram for llvm::RecTy:
Inheritance graph

Public Types

enum  RecTyKind {
  BitRecTyKind, BitsRecTyKind, IntRecTyKind, StringRecTyKind,
  ListRecTyKind, DagRecTyKind, RecordRecTyKind
 Subclass discriminator (for dyn_cast<> et al.) More...

Public Member Functions

 RecTy (RecTyKind K, RecordKeeper &RK)
virtual ~RecTy ()=default
RecTyKind getRecTyKind () const
RecordKeepergetRecordKeeper () const
 Return the RecordKeeper that uniqued this Type. More...
virtual std::string getAsString () const =0
void print (raw_ostream &OS) const
void dump () const
virtual bool typeIsConvertibleTo (const RecTy *RHS) const
 Return true if all values of 'this' type can be converted to the specified type. More...
virtual bool typeIsA (const RecTy *RHS) const
 Return true if 'this' type is equal to or a subtype of RHS. More...
ListRecTygetListTy ()
 Returns the type representing list<thistype>. More...

Detailed Description

Definition at line 57 of file Record.h.

Member Enumeration Documentation

◆ RecTyKind

Subclass discriminator (for dyn_cast<> et al.)


Definition at line 60 of file Record.h.

Constructor & Destructor Documentation

◆ RecTy()

llvm::RecTy::RecTy ( RecTyKind  K,
RecordKeeper RK 

Definition at line 78 of file Record.h.

◆ ~RecTy()

virtual llvm::RecTy::~RecTy ( )

Member Function Documentation

◆ dump()

LLVM_DUMP_METHOD void RecTy::dump ( ) const

Definition at line 105 of file Record.cpp.

References llvm::errs(), and print().

◆ getAsString()

virtual std::string llvm::RecTy::getAsString ( ) const
pure virtual

◆ getListTy()

ListRecTy * RecTy::getListTy ( )

Returns the type representing list<thistype>.

Definition at line 108 of file Record.cpp.

References llvm::detail::RecordKeeperImpl::Allocator, and llvm::RecordKeeper::getImpl().

Referenced by llvm::resolveTypes().

◆ getRecordKeeper()

RecordKeeper& llvm::RecTy::getRecordKeeper ( ) const

Return the RecordKeeper that uniqued this Type.

Definition at line 84 of file Record.h.

Referenced by llvm::ExistsOpInit::Fold(), llvm::ListInit::get(), llvm::CondOpInit::get(), and llvm::TypedInit::getRecordKeeper().

◆ getRecTyKind()

RecTyKind llvm::RecTy::getRecTyKind ( ) const

◆ print()

void llvm::RecTy::print ( raw_ostream OS) const

Definition at line 87 of file Record.h.

References getAsString().

Referenced by dump(), and llvm::operator<<().

◆ typeIsA()

bool RecTy::typeIsA ( const RecTy RHS) const

Return true if 'this' type is equal to or a subtype of RHS.

For example, a bit set is not an int, but they are convertible.

Reimplemented in llvm::RecordRecTy, llvm::ListRecTy, and llvm::BitsRecTy.

Definition at line 119 of file Record.cpp.

References RHS.

Referenced by llvm::UnOpInit::Fold(), and llvm::ListRecTy::typeIsA().

◆ typeIsConvertibleTo()

bool RecTy::typeIsConvertibleTo ( const RecTy RHS) const

Return true if all values of 'this' type can be converted to the specified type.

Reimplemented in llvm::RecordRecTy, llvm::ListRecTy, llvm::StringRecTy, llvm::IntRecTy, llvm::BitsRecTy, and llvm::BitRecTy.

Definition at line 114 of file Record.cpp.

References assert(), and RHS.

Referenced by llvm::IsAOpInit::Fold(), llvm::resolveTypes(), llvm::BitRecTy::typeIsConvertibleTo(), llvm::BitsRecTy::typeIsConvertibleTo(), and llvm::ListRecTy::typeIsConvertibleTo().

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