LLVM  14.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)
virtual ~RecTy ()=default
RecTyKind getRecTyKind () const
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 58 of file Record.h.

Member Enumeration Documentation

◆ RecTyKind

Subclass discriminator (for dyn_cast<> et al.)


Definition at line 61 of file Record.h.

Constructor & Destructor Documentation

◆ RecTy()

llvm::RecTy::RecTy ( RecTyKind  K)

Definition at line 77 of file Record.h.

◆ ~RecTy()

virtual llvm::RecTy::~RecTy ( )

Member Function Documentation

◆ dump()

LLVM_DUMP_METHOD void RecTy::dump ( ) const

Definition at line 103 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 106 of file Record.cpp.

References Context.

Referenced by llvm::resolveTypes().

◆ getRecTyKind()

RecTyKind llvm::RecTy::getRecTyKind ( ) const

◆ print()

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

Definition at line 83 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 117 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 112 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: