LLVM  3.7.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
llvm::DITemplateParameter Class Reference

Base class for template parameters. More...

#include <DebugInfoMetadata.h>

Inheritance diagram for llvm::DITemplateParameter:
[legend]
Collaboration diagram for llvm::DITemplateParameter:
[legend]

Public Member Functions

StringRef getName () const
 
DITypeRef getType () const
 
MDStringgetRawName () const
 
MetadatagetRawType () const
 
- Public Member Functions inherited from llvm::DINode
unsigned getTag () const
 
DINodeRef getRef () const
 
- Public Member Functions inherited from llvm::MDNode
TempMDNode clone () const
 Create a (temporary) clone of this. More...
 
LLVMContextgetContext () const
 
void replaceOperandWith (unsigned I, Metadata *New)
 Replace a specific operand. More...
 
bool isResolved () const
 Check if node is fully resolved. More...
 
bool isUniqued () const
 
bool isDistinct () const
 
bool isTemporary () const
 
void replaceAllUsesWith (Metadata *MD)
 RAUW a temporary. More...
 
void resolveCycles ()
 Resolve cycles. More...
 
op_iterator op_begin () const
 
op_iterator op_end () const
 
op_range operands () const
 
const MDOperandgetOperand (unsigned I) const
 
unsigned getNumOperands () const
 Return number of MDNode operands. More...
 
bool isTBAAVtableAccess () const
 Check whether MDNode is a vtable access. More...
 

Static Public Member Functions

static bool classof (const Metadata *MD)
 
- Static Public Member Functions inherited from llvm::DINode
static unsigned getFlag (StringRef Flag)
 
static const char * getFlagString (unsigned Flag)
 
static unsigned splitFlags (unsigned Flags, SmallVectorImpl< unsigned > &SplitFlags)
 Split up a flags bitfield. More...
 
static bool classof (const Metadata *MD)
 
- Static Public Member Functions inherited from llvm::MDNode
static MDTupleget (LLVMContext &Context, ArrayRef< Metadata * > MDs)
 
static MDTuplegetIfExists (LLVMContext &Context, ArrayRef< Metadata * > MDs)
 
static MDTuplegetDistinct (LLVMContext &Context, ArrayRef< Metadata * > MDs)
 
static TempMDTuple getTemporary (LLVMContext &Context, ArrayRef< Metadata * > MDs)
 
static void deleteTemporary (MDNode *N)
 Deallocate a node created by getTemporary. More...
 
template<class T >
static std::enable_if
< std::is_base_of< MDNode, T >
::value, T * >::type 
replaceWithPermanent (std::unique_ptr< T, TempMDNodeDeleter > N)
 Replace a temporary node with a permanent one. More...
 
template<class T >
static std::enable_if
< std::is_base_of< MDNode, T >
::value, T * >::type 
replaceWithUniqued (std::unique_ptr< T, TempMDNodeDeleter > N)
 Replace a temporary node with a uniqued one. More...
 
template<class T >
static std::enable_if
< std::is_base_of< MDNode, T >
::value, T * >::type 
replaceWithDistinct (std::unique_ptr< T, TempMDNodeDeleter > N)
 Replace a temporary node with a distinct one. More...
 
static bool classof (const Metadata *MD)
 Methods for support type inquiry through isa, cast, and dyn_cast: More...
 
static MDNodeconcatenate (MDNode *A, MDNode *B)
 Methods for metadata merging. More...
 
static MDNodeintersect (MDNode *A, MDNode *B)
 
static MDNodegetMostGenericTBAA (MDNode *A, MDNode *B)
 
static MDNodegetMostGenericFPMath (MDNode *A, MDNode *B)
 
static MDNodegetMostGenericRange (MDNode *A, MDNode *B)
 
static MDNodegetMostGenericAliasScope (MDNode *A, MDNode *B)
 

Protected Member Functions

 DITemplateParameter (LLVMContext &Context, unsigned ID, StorageType Storage, unsigned Tag, ArrayRef< Metadata * > Ops)
 
 ~DITemplateParameter ()=default
 
- Protected Member Functions inherited from llvm::DINode
 DINode (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2=None)
 
 ~DINode ()=default
 
template<class Ty >
Ty * getOperandAs (unsigned I) const
 
StringRef getStringOperand (unsigned I) const
 
- Protected Member Functions inherited from llvm::MDNode
void * operator new (size_t Size, unsigned NumOps)
 
void operator delete (void *Mem)
 
void operator delete (void *, unsigned)
 Required by std, but never called. More...
 
void operator delete (void *, unsigned, bool)
 Required by std, but never called. More...
 
 MDNode (LLVMContext &Context, unsigned ID, StorageType Storage, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2=None)
 
 ~MDNode ()=default
 
void dropAllReferences ()
 
MDOperandmutable_begin ()
 
MDOperandmutable_end ()
 
mutable_op_range mutable_operands ()
 
void setOperand (unsigned I, Metadata *New)
 Set an operand. More...
 
void storeDistinctInContext ()
 

Additional Inherited Members

- Public Types inherited from llvm::DINode
enum  DIFlags { FlagAccessibility = FlagPrivate | FlagProtected | FlagPublic }
 Debug info flags. More...
 
- Public Types inherited from llvm::MDNode
typedef const MDOperandop_iterator
 
typedef iterator_range
< op_iterator
op_range
 
- Protected Types inherited from llvm::MDNode
typedef iterator_range
< MDOperand * > 
mutable_op_range
 
 Active type of storage. More...
- Static Protected Member Functions inherited from llvm::DINode
static MDStringgetCanonicalMDString (LLVMContext &Context, StringRef S)
 
- Static Protected Member Functions inherited from llvm::MDNode
template<class T , class StoreT >
static TstoreImpl (T *N, StorageType Storage, StoreT &Store)
 
- Protected Attributes inherited from llvm::MDNode
ContextAndReplaceableUses Context
 

Detailed Description

Base class for template parameters.

Definition at line 1698 of file DebugInfoMetadata.h.

Constructor & Destructor Documentation

llvm::DITemplateParameter::DITemplateParameter ( LLVMContext Context,
unsigned  ID,
StorageType  Storage,
unsigned  Tag,
ArrayRef< Metadata * >  Ops 
)
inlineprotected

Definition at line 1700 of file DebugInfoMetadata.h.

llvm::DITemplateParameter::~DITemplateParameter ( )
protecteddefault

Member Function Documentation

static bool llvm::DITemplateParameter::classof ( const Metadata MD)
inlinestatic
StringRef llvm::DITemplateParameter::getName ( ) const
inline
MDString* llvm::DITemplateParameter::getRawName ( ) const
inline
Metadata* llvm::DITemplateParameter::getRawType ( ) const
inline
DITypeRef llvm::DITemplateParameter::getType ( ) const
inline

Definition at line 1707 of file DebugInfoMetadata.h.

References getRawType().

Referenced by WriteDITemplateTypeParameter(), and WriteDITemplateValueParameter().


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