LLVM: llvm::StringInit Class Reference (original) (raw)
"foo" - Represent an initialization by a string value. More...
#include "[llvm/TableGen/Record.h](TableGen%5F2Record%5F8h%5Fsource.html)"
Public Member Functions | |
---|---|
StringInit (const StringInit &)=delete | |
StringInit & | operator= (const StringInit &)=delete |
StringRef | getValue () const |
StringFormat | getFormat () const |
bool | hasCodeFormat () const |
const Init * | convertInitializerTo (const RecTy *Ty) const override |
Convert to a value whose type is Ty, or return null if this is not possible. | |
bool | isConcrete () const override |
Is this a concrete and fully resolved value without any references or stuck operations? Unset values are concrete. | |
std::string | getAsString () const override |
Convert this value to a literal form. | |
std::string | getAsUnquotedString () const override |
Convert this value to a literal form, without adding quotes around a string. | |
const Init * | getBit (unsigned Bit) const override |
Get the Init value of the specified bit. | |
![]() |
|
TypedInit (const TypedInit &)=delete | |
TypedInit & | operator= (const TypedInit &)=delete |
const RecTy * | getType () const |
Get the type of the Init as a RecTy. | |
RecordKeeper & | getRecordKeeper () const |
Get the record keeper that initialized this Init. | |
const Init * | getCastTo (const RecTy *Ty) const override |
If this value is convertible to type Ty, return a value whose type is Ty, generating a !cast operation if required. | |
const Init * | convertInitializerTo (const RecTy *Ty) const override |
Convert to a value whose type is Ty, or return null if this is not possible. | |
const Init * | convertInitializerBitRange (ArrayRef< unsigned > Bits) const override |
This function is used to implement the bit range selection operator. | |
const RecTy * | getFieldType (const StringInit *FieldName) const override |
This method is used to implement the FieldInit class. | |
![]() |
|
InitKind | getKind () const |
Get the kind (type) of the value. | |
RecordKeeper & | getRecordKeeper () const |
Get the record keeper that initialized this Init. | |
Init (const Init &)=delete | |
Init & | operator= (const Init &)=delete |
virtual | ~Init ()=default |
virtual bool | isComplete () const |
Is this a complete value with no unset (uninitialized) subvalues? | |
virtual bool | isConcrete () const |
Is this a concrete and fully resolved value without any references or stuck operations? Unset values are concrete. | |
void | print (raw_ostream &OS) const |
Print this value. | |
virtual std::string | getAsString () const =0 |
Convert this value to a literal form. | |
virtual std::string | getAsUnquotedString () const |
Convert this value to a literal form, without adding quotes around a string. | |
void | dump () const |
Debugging method that may be called through a debugger; just invokes print on stderr. | |
virtual const Init * | getCastTo (const RecTy *Ty) const =0 |
If this value is convertible to type Ty, return a value whose type is Ty, generating a !cast operation if required. | |
virtual const Init * | convertInitializerTo (const RecTy *Ty) const =0 |
Convert to a value whose type is Ty, or return null if this is not possible. | |
virtual const Init * | convertInitializerBitRange (ArrayRef< unsigned > Bits) const |
This function is used to implement the bit range selection operator. | |
virtual const RecTy * | getFieldType (const StringInit *FieldName) const |
This function is used to implement the FieldInit class. | |
virtual const Init * | resolveReferences (Resolver &R) const |
This function is used by classes that refer to other variables which may not be defined at the time the expression is formed. | |
virtual const Init * | getBit (unsigned Bit) const =0 |
Get the Init value of the specified bit. | |
Static Public Member Functions | |
---|---|
static bool | classof (const Init *I) |
static const StringInit * | get (RecordKeeper &RK, StringRef, StringFormat Fmt=SF_String) |
static StringFormat | determineFormat (StringFormat Fmt1, StringFormat Fmt2) |
![]() |
|
static bool | classof (const Init *I) |
Additional Inherited Members | |
---|---|
![]() |
|
enum | InitKind : uint8_t { IK_First, IK_FirstTypedInit, IK_BitInit, IK_BitsInit, IK_DagInit, IK_DefInit, IK_FieldInit, IK_IntInit, IK_ListInit, IK_FirstOpInit, IK_BinOpInit, IK_TernOpInit, IK_UnOpInit, IK_LastOpInit, IK_CondOpInit, IK_FoldOpInit, IK_IsAOpInit, IK_ExistsOpInit, IK_AnonymousNameInit, IK_StringInit, IK_VarInit, IK_VarBitInit, IK_VarDefInit, IK_LastTypedInit, IK_UnsetInit, IK_ArgumentInit } |
Discriminator enum (for isa<>, dyn_cast<>, et al.) More... | |
![]() |
|
TypedInit (InitKind K, const RecTy *T, uint8_t Opc=0) | |
![]() |
|
Init (InitKind K, uint8_t Opc=0) | |
![]() |
|
uint8_t | Opc |
"foo" - Represent an initialization by a string value.
Definition at line 702 of file Record.h.
◆ StringFormat
Enumerator |
---|
SF_String |
SF_Code |
Definition at line 704 of file Record.h.
◆ classof()
static bool llvm::StringInit::classof ( const Init * I) | inlinestatic |
---|
◆ convertInitializerTo()
Convert to a value whose type is Ty
, or return null if this is not possible.
This can happen if the value's type is convertible to Ty
, but there are unresolved references.
Reimplemented from llvm::TypedInit.
Definition at line 680 of file Record.cpp.
◆ determineFormat()
◆ get()
Definition at line 669 of file Record.cpp.
References llvm::detail::RecordKeeperImpl::Allocator, llvm::RecordKeeper::getImpl(), SF_String, llvm::detail::RecordKeeperImpl::StringInitCodePool, and llvm::detail::RecordKeeperImpl::StringInitStringPool.
Referenced by ConcatStringInits(), llvm::TernOpInit::Fold(), llvm::UnOpInit::Fold(), llvm::VarInit::get(), llvm::AnonymousNameInit::getNameInit(), llvm::Record::getValue(), interleaveIntList(), interleaveStringList(), QualifiedNameOfImplicitName(), QualifyName(), and llvm::Record::removeValue().
◆ getAsString()
std::string llvm::StringInit::getAsString ( ) const | inlineoverridevirtual |
---|
◆ getAsUnquotedString()
std::string llvm::StringInit::getAsUnquotedString ( ) const | inlineoverridevirtual |
---|
◆ getBit()
◆ getFormat()
◆ getValue()
StringRef llvm::StringInit::getValue ( ) const | inline |
---|
◆ hasCodeFormat()
bool llvm::StringInit::hasCodeFormat ( ) const | inline |
---|
◆ isConcrete()
bool llvm::StringInit::isConcrete ( ) const | inlineoverridevirtual |
---|
Is this a concrete and fully resolved value without any references or stuck operations? Unset values are concrete.
Reimplemented from llvm::Init.
Definition at line 737 of file Record.h.
◆ operator=()
The documentation for this class was generated from the following files:
- include/llvm/TableGen/Record.h
- lib/TableGen/Record.cpp