LLVM  8.0.1
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::RecordRecTy Class Referencefinal

'[classname]' - Type of record values that have zero or more superclasses. More...

#include "llvm/TableGen/Record.h"

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

Public Types

using const_record_iterator = Record *const *
 
- Public Types inherited from llvm::RecTy
enum  RecTyKind {
  BitRecTyKind, BitsRecTyKind, CodeRecTyKind, IntRecTyKind,
  StringRecTyKind, ListRecTyKind, DagRecTyKind, RecordRecTyKind
}
 Subclass discriminator (for dyn_cast<> et al.) More...
 

Public Member Functions

 RecordRecTy (const RecordRecTy &)=delete
 
RecordRecTyoperator= (const RecordRecTy &)=delete
 
void operator delete (void *p)
 
void Profile (FoldingSetNodeID &ID) const
 
ArrayRef< Record * > getClasses () const
 
const_record_iterator classes_begin () const
 
const_record_iterator classes_end () const
 
std::string getAsString () const override
 
bool isSubClassOf (Record *Class) const
 
bool typeIsConvertibleTo (const RecTy *RHS) const override
 Return true if all values of 'this' type can be converted to the specified type. More...
 
bool typeIsA (const RecTy *RHS) const override
 Return true if 'this' type is equal to or a subtype of RHS. More...
 
- Public Member Functions inherited from llvm::RecTy
 RecTy (RecTyKind K)
 
virtual ~RecTy ()=default
 
RecTyKind getRecTyKind () const
 
void print (raw_ostream &OS) const
 
void dump () const
 
ListRecTygetListTy ()
 Returns the type representing list<this>. More...
 
- Public Member Functions inherited from llvm::FoldingSetBase::Node
 Node ()=default
 
void * getNextInBucket () const
 
void SetNextInBucket (void *N)
 
- Public Member Functions inherited from llvm::TrailingObjects< RecordRecTy, Record *>
const TgetTrailingObjects () const
 Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template). More...
 
TgetTrailingObjects ()
 Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template). More...
 

Static Public Member Functions

static bool classof (const RecTy *RT)
 
static RecordRecTyget (ArrayRef< Record *> Classes)
 Get the record type with the given non-redundant list of superclasses. More...
 
- Static Public Member Functions inherited from llvm::TrailingObjects< RecordRecTy, Record *>
static constexpr std::enable_if< std::is_same< Foo< TrailingTys... >, Foo< Tys... > >::value, size_t >::type additionalSizeToAlloc (typename trailing_objects_internal::ExtractSecondType< TrailingTys, size_t >::type... Counts)
 Returns the size of the trailing data, if an object were allocated with the given counts (The counts are in the same order as the template arguments). More...
 
static constexpr std::enable_if< std::is_same< Foo< TrailingTys... >, Foo< Tys... > >::value, size_t >::type totalSizeToAlloc (typename trailing_objects_internal::ExtractSecondType< TrailingTys, size_t >::type... Counts)
 Returns the total size of an object if it were allocated with the given trailing object counts. More...
 

Friends

class Record
 

Detailed Description

'[classname]' - Type of record values that have zero or more superclasses.

The list of superclasses is non-redundant, i.e. only contains classes that are not the superclass of some other listed class.

Definition at line 238 of file Record.h.

Member Typedef Documentation

◆ const_record_iterator

Definition at line 267 of file Record.h.

Constructor & Destructor Documentation

◆ RecordRecTy()

llvm::RecordRecTy::RecordRecTy ( const RecordRecTy )
delete

Member Function Documentation

◆ classes_begin()

const_record_iterator llvm::RecordRecTy::classes_begin ( ) const
inline

Definition at line 269 of file Record.h.

Referenced by resolveRecordTypes().

◆ classes_end()

const_record_iterator llvm::RecordRecTy::classes_end ( ) const
inline

◆ classof()

static bool llvm::RecordRecTy::classof ( const RecTy RT)
inlinestatic

Definition at line 254 of file Record.h.

References llvm::RecTy::getRecTyKind(), and llvm::RecTy::RecordRecTyKind.

◆ get()

RecordRecTy * RecordRecTy::get ( ArrayRef< Record *>  Classes)
static

◆ getAsString()

std::string RecordRecTy::getAsString ( ) const
overridevirtual

Implements llvm::RecTy.

Definition at line 195 of file Record.cpp.

◆ getClasses()

ArrayRef<Record *> llvm::RecordRecTy::getClasses ( ) const
inline

Definition at line 263 of file Record.h.

References llvm::makeArrayRef().

Referenced by typeIsConvertibleTo().

◆ isSubClassOf()

bool RecordRecTy::isSubClassOf ( Record Class) const

Definition at line 211 of file Record.cpp.

References llvm::any_of(), and llvm::Record::isSubClassOf().

Referenced by resolveRecordTypes().

◆ operator delete()

void llvm::RecordRecTy::operator delete ( void *  p)
inline

Definition at line 252 of file Record.h.

◆ operator=()

RecordRecTy& llvm::RecordRecTy::operator= ( const RecordRecTy )
delete

◆ Profile()

void RecordRecTy::Profile ( FoldingSetNodeID ID) const

Definition at line 191 of file Record.cpp.

References ProfileRecordRecTy().

◆ typeIsA()

bool RecordRecTy::typeIsA ( const RecTy RHS) const
overridevirtual

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 from llvm::RecTy.

Definition at line 231 of file Record.cpp.

References llvm::RecTy::typeIsConvertibleTo().

◆ typeIsConvertibleTo()

bool RecordRecTy::typeIsConvertibleTo ( const RecTy RHS) const
overridevirtual

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

Reimplemented from llvm::RecTy.

Definition at line 218 of file Record.cpp.

References llvm::all_of(), llvm::dyn_cast(), and getClasses().

Friends And Related Function Documentation

◆ Record

friend class Record
friend

Definition at line 240 of file Record.h.


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