LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Friends | List of all members
llvm::DIDerivedType Class Reference

#include <DebugInfo.h>

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

Public Member Functions

 DIDerivedType (const MDNode *N=0)
 
DITypeRef getTypeDerivedFrom () const
 
MDNodegetObjCProperty () const
 getObjCProperty - Return property node, if this ivar is associated with one. More...
 
DITypeRef getClassType () const
 
ConstantgetConstant () const
 
bool Verify () const
 Verify - Verify that a derived type descriptor is well formed. More...
 
- Public Member Functions inherited from llvm::DIType
 DIType (const MDNode *N=0)
 
bool Verify () const
 Verify - Verify that a type descriptor is well formed. More...
 
DIScopeRef getContext () const
 
StringRef getName () const
 
unsigned getLineNumber () const
 
uint64_t getSizeInBits () const
 
uint64_t getAlignInBits () const
 
uint64_t getOffsetInBits () const
 
unsigned getFlags () const
 
bool isPrivate () const
 
bool isProtected () const
 
bool isForwardDecl () const
 
bool isAppleBlockExtension () const
 
bool isBlockByrefStruct () const
 
bool isVirtual () const
 
bool isArtificial () const
 
bool isObjectPointer () const
 
bool isObjcClassComplete () const
 
bool isVector () const
 
bool isStaticMember () const
 
bool isValid () const
 
void replaceAllUsesWith (DIDescriptor &D)
 
void replaceAllUsesWith (MDNode *D)
 
- Public Member Functions inherited from llvm::DIScope
 DIScope (const MDNode *N=0)
 
DIScopeRef getContext () const
 
StringRef getName () const
 If the scope node has a name, return that, else return an empty string. More...
 
StringRef getFilename () const
 
StringRef getDirectory () const
 
DIScopeRef getRef () const
 
- Public Member Functions inherited from llvm::DIDescriptor
 DIDescriptor (const MDNode *N=0)
 
bool Verify () const
 
 operator MDNode * () const
 
MDNodeoperator-> () const
 
LLVM_EXPLICIT operator bool () const
 
bool operator== (DIDescriptor Other) const
 
bool operator!= (DIDescriptor Other) const
 
uint16_t getTag () const
 
bool isDerivedType () const
 isDerivedType - Return true if the specified tag is legal for DIDerivedType. More...
 
bool isCompositeType () const
 
bool isBasicType () const
 
bool isVariable () const
 isVariable - Return true if the specified tag is legal for DIVariable. More...
 
bool isSubprogram () const
 
bool isGlobalVariable () const
 
bool isScope () const
 
bool isFile () const
 isFile - Return true if the specified tag is DW_TAG_file_type. More...
 
bool isCompileUnit () const
 isCompileUnit - Return true if the specified tag is DW_TAG_compile_unit. More...
 
bool isNameSpace () const
 isNameSpace - Return true if the specified tag is DW_TAG_namespace. More...
 
bool isLexicalBlockFile () const
 
bool isLexicalBlock () const
 isLexicalBlock - Return true if the specified tag is DW_TAG_lexical_block. More...
 
bool isSubrange () const
 isSubrange - Return true if the specified tag is DW_TAG_subrange_type. More...
 
bool isEnumerator () const
 isEnumerator - Return true if the specified tag is DW_TAG_enumerator. More...
 
bool isType () const
 isType - Return true if the specified tag is legal for DIType. More...
 
bool isUnspecifiedParameter () const
 
bool isTemplateTypeParameter () const
 
bool isTemplateValueParameter () const
 
bool isObjCProperty () const
 isObjCProperty - Return true if the specified tag is DW_TAG_APPLE_property. More...
 
bool isImportedEntity () const
 Return true if the specified tag is DW_TAG_imported_module or DW_TAG_imported_declaration. More...
 
void print (raw_ostream &OS) const
 print - print descriptor. More...
 
void dump () const
 dump - print descriptor to dbgs() with a newline. More...
 

Friends

class DIDescriptor
 

Additional Inherited Members

- Public Types inherited from llvm::DIDescriptor
enum  {
  FlagPrivate = 1 << 0, FlagProtected = 1 << 1, FlagFwdDecl = 1 << 2, FlagAppleBlock = 1 << 3,
  FlagBlockByrefStruct = 1 << 4, FlagVirtual = 1 << 5, FlagArtificial = 1 << 6, FlagExplicit = 1 << 7,
  FlagPrototyped = 1 << 8, FlagObjcClassComplete = 1 << 9, FlagObjectPointer = 1 << 10, FlagVector = 1 << 11,
  FlagStaticMember = 1 << 12, FlagIndirectVariable = 1 << 13
}
 
- Protected Member Functions inherited from llvm::DIType
void printInternal (raw_ostream &OS) const
 
- Protected Member Functions inherited from llvm::DIScope
void printInternal (raw_ostream &OS) const
 
- Protected Member Functions inherited from llvm::DIDescriptor
StringRef getStringField (unsigned Elt) const
 
unsigned getUnsignedField (unsigned Elt) const
 
uint64_t getUInt64Field (unsigned Elt) const
 
int64_t getInt64Field (unsigned Elt) const
 
DIDescriptor getDescriptorField (unsigned Elt) const
 
template<typename DescTy >
DescTy getFieldAs (unsigned Elt) const
 
GlobalVariablegetGlobalVariableField (unsigned Elt) const
 
ConstantgetConstantField (unsigned Elt) const
 
FunctiongetFunctionField (unsigned Elt) const
 
void replaceFunctionField (unsigned Elt, Function *F)
 
template<>
DIScopeRef getFieldAs (unsigned Elt) const
 Specialize getFieldAs to handle fields that are references to DIScopes. More...
 
template<>
DITypeRef getFieldAs (unsigned Elt) const
 Specialize getFieldAs to handle fields that are references to DITypes. More...
 
template<>
DIScopeRef getFieldAs (unsigned Elt) const
 Specialize getFieldAs to handle fields that are references to DIScopes. More...
 
template<>
DITypeRef getFieldAs (unsigned Elt) const
 Specialize getFieldAs to handle fields that are references to DITypes. More...
 
- Protected Attributes inherited from llvm::DIDescriptor
const MDNodeDbgNode
 

Detailed Description

DIDerivedType - A simple derived type, like a const qualified type, a typedef, a pointer or reference, et cetera. Or, a data member of a class/struct/union.

Definition at line 338 of file DebugInfo.h.

Constructor & Destructor Documentation

llvm::DIDerivedType::DIDerivedType ( const MDNode N = 0)
inlineexplicit

Definition at line 343 of file DebugInfo.h.

Member Function Documentation

DITypeRef llvm::DIDerivedType::getClassType ( ) const
inline

Definition at line 351 of file DebugInfo.h.

References llvm::DIDescriptor::getTag().

Constant* llvm::DIDerivedType::getConstant ( ) const
inline
MDNode * DIDerivedType::getObjCProperty ( ) const

getObjCProperty - Return property node, if this ivar is associated with one.

getObjCProperty - Return property node, if this ivar is associated with one.

Definition at line 619 of file DebugInfo.cpp.

References getNodeField().

DITypeRef llvm::DIDerivedType::getTypeDerivedFrom ( ) const
inline
bool DIDerivedType::Verify ( ) const

Verify - Verify that a derived type descriptor is well formed.

Definition at line 480 of file DebugInfo.cpp.

References fieldIsTypeRef().

Referenced by llvm::CompileUnit::createGlobalVariableDIE(), llvm::DIDescriptor::Verify(), and llvm::DIType::Verify().

Friends And Related Function Documentation

friend class DIDescriptor
friend

Definition at line 339 of file DebugInfo.h.


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