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
[legend]

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 56 of file Record.h.

Member Enumeration Documentation

◆ RecTyKind

Subclass discriminator (for dyn_cast<> et al.)

Enumerator
BitRecTyKind 
BitsRecTyKind 
IntRecTyKind 
StringRecTyKind 
ListRecTyKind 
DagRecTyKind 
RecordRecTyKind 

Definition at line 59 of file Record.h.

Constructor & Destructor Documentation

◆ RecTy()

llvm::RecTy::RecTy ( RecTyKind  K)
inline

Definition at line 75 of file Record.h.

◆ ~RecTy()

virtual llvm::RecTy::~RecTy ( )
virtualdefault

Member Function Documentation

◆ dump()

LLVM_DUMP_METHOD void RecTy::dump ( ) const

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

References Allocator.

Referenced by llvm::resolveTypes().

◆ getRecTyKind()

RecTyKind llvm::RecTy::getRecTyKind ( ) const
inline

◆ print()

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

Definition at line 81 of file Record.h.

References getAsString().

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

◆ typeIsA()

bool RecTy::typeIsA ( const RecTy RHS) const
virtual

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 70 of file Record.cpp.

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

◆ typeIsConvertibleTo()

bool RecTy::typeIsConvertibleTo ( const RecTy RHS) const
virtual

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 65 of file Record.cpp.

References assert(), and getRecTyKind().

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: