LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::logicalview::LVElement Class Reference

#include "llvm/DebugInfo/LogicalView/Core/LVElement.h"

Inheritance diagram for llvm::logicalview::LVElement:
Inheritance graph
[legend]

Public Member Functions

 LVElement (LVSubclassID ID)
 
 LVElement (const LVElement &)=delete
 
LVElementoperator= (const LVElement &)=delete
 
virtual ~LVElement ()=default
 
LVSubclassID getSubclassID () const
 
 PROPERTY (Property, IsLine)
 
 PROPERTY (Property, IsScope)
 
 PROPERTY (Property, IsSymbol)
 
 PROPERTY (Property, IsType)
 
 PROPERTY (Property, IsEnumClass)
 
 PROPERTY (Property, IsExternal)
 
 PROPERTY (Property, HasType)
 
 PROPERTY (Property, HasAugmentedName)
 
 PROPERTY (Property, IsTypedefReduced)
 
 PROPERTY (Property, IsArrayResolved)
 
 PROPERTY (Property, IsMemberPointerResolved)
 
 PROPERTY (Property, IsTemplateResolved)
 
 PROPERTY (Property, IsInlined)
 
 PROPERTY (Property, IsInlinedAbstract)
 
 PROPERTY (Property, InvalidFilename)
 
 PROPERTY (Property, HasReference)
 
 PROPERTY (Property, HasReferenceAbstract)
 
 PROPERTY (Property, HasReferenceExtension)
 
 PROPERTY (Property, HasReferenceSpecification)
 
 PROPERTY (Property, QualifiedResolved)
 
 PROPERTY (Property, IncludeInPrint)
 
 PROPERTY (Property, IsStatic)
 
 PROPERTY (Property, TransformName)
 
 PROPERTY (Property, IsScoped)
 
 PROPERTY (Property, IsNested)
 
 PROPERTY (Property, IsScopedAlready)
 
 PROPERTY (Property, IsArtificial)
 
 PROPERTY (Property, IsReferencedType)
 
 PROPERTY (Property, IsSystem)
 
 PROPERTY (Property, OffsetFromTypeIndex)
 
 PROPERTY (Property, IsAnonymous)
 
bool isNamed () const override
 
bool isTyped () const override
 
bool isFiled () const override
 
bool getIsKindType () const
 
bool getIsKindScope () const
 
StringRef getName () const override
 
void setName (StringRef ElementName) override
 
StringRef getPathname () const
 
void setFilename (StringRef Filename)
 
void setQualifiedName (StringRef Name)
 
StringRef getQualifiedName () const
 
size_t getNameIndex () const
 
size_t getQualifiedNameIndex () const
 
void setInnerComponent ()
 
void setInnerComponent (StringRef Name)
 
StringRef getTypeName () const
 
virtual StringRef getProducer () const
 
virtual void setProducer (StringRef ProducerName)
 
virtual bool isCompileUnit () const
 
virtual bool isRoot () const
 
virtual void setReference (LVElement *Element)
 
virtual void setReference (LVScope *Scope)
 
virtual void setReference (LVSymbol *Symbol)
 
virtual void setReference (LVType *Type)
 
virtual void setLinkageName (StringRef LinkageName)
 
virtual StringRef getLinkageName () const
 
virtual size_t getLinkageNameIndex () const
 
virtual uint32_t getCallLineNumber () const
 
virtual void setCallLineNumber (uint32_t Number)
 
virtual size_t getCallFilenameIndex () const
 
virtual void setCallFilenameIndex (size_t Index)
 
size_t getFilenameIndex () const
 
void setFilenameIndex (size_t Index)
 
void setFile (LVElement *Reference=nullptr)
 
virtual bool isBase () const
 
virtual bool isTemplateParam () const
 
virtual uint32_t getBitSize () const
 
virtual void setBitSize (uint32_t Size)
 
virtual int64_t getCount () const
 
virtual void setCount (int64_t Value)
 
virtual int64_t getLowerBound () const
 
virtual void setLowerBound (int64_t Value)
 
virtual int64_t getUpperBound () const
 
virtual void setUpperBound (int64_t Value)
 
virtual std::pair< unsigned, unsignedgetBounds () const
 
virtual void setBounds (unsigned Lower, unsigned Upper)
 
virtual uint32_t getDiscriminator () const
 
virtual void setDiscriminator (uint32_t Value)
 
virtual StringRef getValue () const
 
virtual void setValue (StringRef Value)
 
virtual size_t getValueIndex () const
 
uint32_t getAccessibilityCode () const
 
void setAccessibilityCode (uint32_t Access)
 
StringRef accessibilityString (uint32_t Access=dwarf::DW_ACCESS_private) const
 
std::optional< uint32_tgetAccessibilityCode (codeview::MemberAccess Access)
 
void setAccessibilityCode (codeview::MemberAccess Access)
 
uint32_t getInlineCode () const
 
void setInlineCode (uint32_t Code)
 
StringRef inlineCodeString (uint32_t Code) const
 
uint32_t getVirtualityCode () const
 
void setVirtualityCode (uint32_t Virtuality)
 
StringRef virtualityString (uint32_t Virtuality=dwarf::DW_VIRTUALITY_none) const
 
std::optional< uint32_tgetVirtualityCode (codeview::MethodKind Virtuality)
 
void setVirtualityCode (codeview::MethodKind Virtuality)
 
StringRef externalString () const
 
LVElementgetType () const
 
LVTypegetTypeAsType () const
 
LVScopegetTypeAsScope () const
 
void setType (LVElement *Element=nullptr)
 
void setGenericType (LVElement *Element)
 
StringRef getTypeQualifiedName () const
 
StringRef typeAsString () const
 
std::string typeOffsetAsString () const
 
std::string discriminatorAsString () const
 
LVScopetraverseParents (LVScopeGetFunction GetFunction) const
 
LVScopegetFunctionParent () const
 
virtual LVScopegetCompileUnitParent () const
 
void printReference (raw_ostream &OS, bool Full, LVElement *Parent) const
 
void printLinkageName (raw_ostream &OS, bool Full, LVElement *Parent, LVScope *Scope) const
 
void printLinkageName (raw_ostream &OS, bool Full, LVElement *Parent) const
 
void resolveFullname (LVElement *BaseType, StringRef Name=emptyString())
 
void generateName (std::string &Prefix) const
 
void generateName ()
 
virtual bool removeElement (LVElement *Element)
 
virtual void updateLevel (LVScope *Parent, bool Moved=false)
 
virtual void resolve ()
 
virtual void resolveExtra ()
 
virtual void resolveName ()
 
virtual void resolveReferences ()
 
void resolveParents ()
 
bool referenceMatch (const LVElement *Element) const
 
bool equals (const LVElement *Element) const
 
virtual void report (LVComparePass Pass)
 
- Public Member Functions inherited from llvm::logicalview::LVObject
 LVObject ()
 
LVObjectoperator= (const LVObject &)=delete
 
virtual ~LVObject ()=default
 
 PROPERTY (Property, IsLocation)
 
 PROPERTY (Property, IsGlobalReference)
 
 PROPERTY (Property, IsGeneratedName)
 
 PROPERTY (Property, IsResolved)
 
 PROPERTY (Property, IsResolvedName)
 
 PROPERTY (Property, IsDiscarded)
 
 PROPERTY (Property, IsOptimized)
 
 PROPERTY (Property, IsAdded)
 
 PROPERTY (Property, IsMatched)
 
 PROPERTY (Property, IsMissing)
 
 PROPERTY (Property, IsMissingLink)
 
 PROPERTY (Property, IsInCompare)
 
 PROPERTY (Property, IsFileFromReference)
 
 PROPERTY (Property, IsLineFromReference)
 
 PROPERTY (Property, HasMoved)
 
 PROPERTY (Property, HasPattern)
 
 PROPERTY (Property, IsFinalized)
 
 PROPERTY (Property, IsReferenced)
 
 PROPERTY (Property, HasCodeViewLocation)
 
virtual bool isNamed () const
 
virtual bool isTyped () const
 
virtual bool isFiled () const
 
bool isLined () const
 
dwarf::Tag getTag () const
 
void setTag (dwarf::Tag Tag)
 
dwarf::Attribute getAttr () const
 
void setAttr (dwarf::Attribute Attr)
 
LVSmall getOpcode () const
 
void setOpcode (LVSmall Opcode)
 
LVOffset getOffset () const
 
void setOffset (LVOffset DieOffset)
 
LVLevel getLevel () const
 
void setLevel (LVLevel Level)
 
virtual StringRef getName () const
 
virtual void setName (StringRef ObjectName)
 
LVElementgetParent () const
 
LVScopegetParentScope () const
 
LVSymbolgetParentSymbol () const
 
void setParent (LVScope *Scope)
 
void setParent (LVSymbol *Symbol)
 
void resetParent ()
 
virtual LVAddress getLowerAddress () const
 
virtual void setLowerAddress (LVAddress Address)
 
virtual LVAddress getUpperAddress () const
 
virtual void setUpperAddress (LVAddress Address)
 
uint32_t getLineNumber () const
 
void setLineNumber (uint32_t Number)
 
virtual const charkind () const
 
std::string indentAsString () const
 
std::string indentAsString (LVLevel Level) const
 
virtual std::string noLineAsString (bool ShowZero) const
 
virtual std::string lineNumberAsString (bool ShowZero=false) const
 
std::string lineNumberAsStringStripped (bool ShowZero=false) const
 
virtual Error doPrint (bool Split, bool Match, bool Print, raw_ostream &OS, bool Full=true) const
 
void printAttributes (raw_ostream &OS, bool Full=true) const
 
void printAttributes (raw_ostream &OS, bool Full, StringRef Name, LVObject *Parent, StringRef Value, bool UseQuotes=false, bool PrintRef=false) const
 
void markBranchAsMissing ()
 
virtual void print (raw_ostream &OS, bool Full=true) const
 
virtual void printExtra (raw_ostream &OS, bool Full=true) const
 
virtual void dump () const
 
uint64_t getID () const
 

Static Public Member Functions

static LVElementDispatchgetDispatch ()
 

Protected Member Functions

void printFileIndex (raw_ostream &OS, bool Full=true) const override
 
- Protected Member Functions inherited from llvm::logicalview::LVObject
std::string lineAsString (uint32_t LineNumber, LVHalf Discriminator, bool ShowZero) const
 
std::string referenceAsString (uint32_t LineNumber, bool Spaces) const
 
virtual void printFileIndex (raw_ostream &OS, bool Full=true) const
 

Protected Attributes

LVElementElementType = nullptr
 

Detailed Description

Definition at line 67 of file LVElement.h.

Constructor & Destructor Documentation

◆ LVElement() [1/2]

llvm::logicalview::LVElement::LVElement ( LVSubclassID  ID)
inline

Definition at line 133 of file LVElement.h.

◆ LVElement() [2/2]

llvm::logicalview::LVElement::LVElement ( const LVElement )
delete

◆ ~LVElement()

virtual llvm::logicalview::LVElement::~LVElement ( )
virtualdefault

Member Function Documentation

◆ accessibilityString()

StringRef LVElement::accessibilityString ( uint32_t  Access = dwarf::DW_ACCESS_private) const

◆ discriminatorAsString()

std::string LVElement::discriminatorAsString ( ) const

◆ equals()

bool LVElement::equals ( const LVElement Element) const

◆ externalString()

StringRef LVElement::externalString ( ) const

◆ generateName() [1/2]

void LVElement::generateName ( )

◆ generateName() [2/2]

void LVElement::generateName ( std::string &  Prefix) const

◆ getAccessibilityCode() [1/2]

uint32_t llvm::logicalview::LVElement::getAccessibilityCode ( ) const
inline

Definition at line 264 of file LVElement.h.

Referenced by accessibilityString(), and setAccessibilityCode().

◆ getAccessibilityCode() [2/2]

std::optional< uint32_t > LVElement::getAccessibilityCode ( codeview::MemberAccess  Access)

◆ getBitSize()

virtual uint32_t llvm::logicalview::LVElement::getBitSize ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVSymbol.

Definition at line 242 of file LVElement.h.

◆ getBounds()

virtual std::pair< unsigned, unsigned > llvm::logicalview::LVElement::getBounds ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVTypeSubrange.

Definition at line 251 of file LVElement.h.

◆ getCallFilenameIndex()

virtual size_t llvm::logicalview::LVElement::getCallFilenameIndex ( ) const
inlinevirtual

◆ getCallLineNumber()

virtual uint32_t llvm::logicalview::LVElement::getCallLineNumber ( ) const
inlinevirtual

◆ getCompileUnitParent()

LVScope * LVElement::getCompileUnitParent ( ) const
virtual

◆ getCount()

virtual int64_t llvm::logicalview::LVElement::getCount ( ) const
inlinevirtual

◆ getDiscriminator()

virtual uint32_t llvm::logicalview::LVElement::getDiscriminator ( ) const
inlinevirtual

◆ getDispatch()

static LVElementDispatch & llvm::logicalview::LVElement::getDispatch ( )
inlinestatic

Definition at line 363 of file LVElement.h.

Referenced by llvm::logicalview::LVPatterns::LVPatterns().

◆ getFilenameIndex()

size_t llvm::logicalview::LVElement::getFilenameIndex ( ) const
inline

◆ getFunctionParent()

LVScope * LVElement::getFunctionParent ( ) const

Definition at line 426 of file LVElement.cpp.

References traverseParents().

◆ getInlineCode()

uint32_t llvm::logicalview::LVElement::getInlineCode ( ) const
inline

◆ getIsKindScope()

bool llvm::logicalview::LVElement::getIsKindScope ( ) const
inline

Definition at line 180 of file LVElement.h.

References ElementType.

Referenced by llvm::logicalview::LVTypeParam::encodeTemplateArgument(), and setGenericType().

◆ getIsKindType()

bool llvm::logicalview::LVElement::getIsKindType ( ) const
inline

Definition at line 179 of file LVElement.h.

References ElementType.

Referenced by llvm::logicalview::LVTypeParam::encodeTemplateArgument(), and setGenericType().

◆ getLinkageName()

virtual StringRef llvm::logicalview::LVElement::getLinkageName ( ) const
inlinevirtual

◆ getLinkageNameIndex()

virtual size_t llvm::logicalview::LVElement::getLinkageNameIndex ( ) const
inlinevirtual

◆ getLowerBound()

virtual int64_t llvm::logicalview::LVElement::getLowerBound ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVTypeSubrange.

Definition at line 247 of file LVElement.h.

◆ getName()

StringRef llvm::logicalview::LVElement::getName ( ) const
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVObject.

Definition at line 184 of file LVElement.h.

References llvm::logicalview::LVStringPool::getString(), and llvm::logicalview::getStringPool().

Referenced by checkIntegrityScopesTree(), llvm::logicalview::LVScope::doPrint(), llvm::logicalview::LVScopeRoot::doPrintMatches(), llvm::logicalview::LVTypeParam::encodeTemplateArgument(), equals(), llvm::logicalview::LVTypeSubrange::equals(), generateName(), llvm::logicalview::LVScope::getQualifiedName(), getTypeName(), llvm::logicalview::LVLogicalVisitor::inlineSiteAnnotation(), llvm::logicalview::LVCodeViewReader::isSystemEntry(), llvm::logicalview::LVSymbol::markMissingParents(), llvm::logicalview::LVRange::print(), llvm::logicalview::LVLineAssembler::printExtra(), llvm::logicalview::LVScope::printExtra(), llvm::logicalview::LVScopeAlias::printExtra(), llvm::logicalview::LVScopeArray::printExtra(), llvm::logicalview::LVScopeCompileUnit::printExtra(), llvm::logicalview::LVScopeEnumeration::printExtra(), llvm::logicalview::LVScopeFormalPack::printExtra(), llvm::logicalview::LVScopeFunction::printExtra(), llvm::logicalview::LVScopeNamespace::printExtra(), llvm::logicalview::LVScopeRoot::printExtra(), llvm::logicalview::LVScopeTemplatePack::printExtra(), llvm::logicalview::LVSymbol::printExtra(), llvm::logicalview::LVType::printExtra(), llvm::logicalview::LVTypeDefinition::printExtra(), llvm::logicalview::LVTypeEnumerator::printExtra(), llvm::logicalview::LVTypeImport::printExtra(), llvm::logicalview::LVTypeParam::printExtra(), llvm::logicalview::LVTypeSubrange::printExtra(), llvm::logicalview::LVCompare::printItem(), llvm::logicalview::LVLogicalVisitor::printMemberBegin(), llvm::logicalview::LVLogicalVisitor::printTypeBegin(), llvm::logicalview::LVScopeCompileUnit::printWarnings(), llvm::logicalview::LVTypeDefinition::resolveExtra(), resolveFullname(), llvm::logicalview::LVType::resolveName(), llvm::logicalview::LVScope::resolveReferencesChain(), llvm::logicalview::LVSymbol::resolveReferencesChain(), llvm::logicalview::LVType::resolveReferencesChain(), setInnerComponent(), llvm::logicalview::LVLogicalVisitor::visitKnownMember(), and llvm::logicalview::LVSymbolVisitor::visitKnownRecord().

◆ getNameIndex()

size_t llvm::logicalview::LVElement::getNameIndex ( ) const
inline

Definition at line 205 of file LVElement.h.

Referenced by equals(), and llvm::logicalview::LVScopeCompileUnit::equals().

◆ getPathname()

StringRef llvm::logicalview::LVElement::getPathname ( ) const
inline

◆ getProducer()

virtual StringRef llvm::logicalview::LVElement::getProducer ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVScopeCompileUnit.

Definition at line 214 of file LVElement.h.

◆ getQualifiedName()

StringRef llvm::logicalview::LVElement::getQualifiedName ( ) const
inline

◆ getQualifiedNameIndex()

size_t llvm::logicalview::LVElement::getQualifiedNameIndex ( ) const
inline

Definition at line 206 of file LVElement.h.

Referenced by equals().

◆ getSubclassID()

LVSubclassID llvm::logicalview::LVElement::getSubclassID ( ) const
inline

◆ getType()

LVElement * llvm::logicalview::LVElement::getType ( ) const
inline

◆ getTypeAsScope()

LVScope * LVElement::getTypeAsScope ( ) const

◆ getTypeAsType()

LVType * LVElement::getTypeAsType ( ) const

◆ getTypeName()

StringRef LVElement::getTypeName ( ) const

◆ getTypeQualifiedName()

StringRef llvm::logicalview::LVElement::getTypeQualifiedName ( ) const
inline

◆ getUpperBound()

virtual int64_t llvm::logicalview::LVElement::getUpperBound ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVTypeSubrange.

Definition at line 249 of file LVElement.h.

◆ getValue()

virtual StringRef llvm::logicalview::LVElement::getValue ( ) const
inlinevirtual

◆ getValueIndex()

virtual size_t llvm::logicalview::LVElement::getValueIndex ( ) const
inlinevirtual

◆ getVirtualityCode() [1/2]

uint32_t llvm::logicalview::LVElement::getVirtualityCode ( ) const
inline

Definition at line 282 of file LVElement.h.

Referenced by setVirtualityCode(), and virtualityString().

◆ getVirtualityCode() [2/2]

std::optional< uint32_t > LVElement::getVirtualityCode ( codeview::MethodKind  Virtuality)

Definition at line 185 of file LVElement.cpp.

◆ inlineCodeString()

StringRef LVElement::inlineCodeString ( uint32_t  Code) const

◆ isBase()

virtual bool llvm::logicalview::LVElement::isBase ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVType.

Definition at line 239 of file LVElement.h.

◆ isCompileUnit()

virtual bool llvm::logicalview::LVElement::isCompileUnit ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVScope.

Definition at line 217 of file LVElement.h.

Referenced by resolveParents().

◆ isFiled()

bool llvm::logicalview::LVElement::isFiled ( ) const
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVObject.

Definition at line 176 of file LVElement.h.

◆ isNamed()

bool llvm::logicalview::LVElement::isNamed ( ) const
inlineoverridevirtual

◆ isRoot()

virtual bool llvm::logicalview::LVElement::isRoot ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVScope.

Definition at line 218 of file LVElement.h.

Referenced by resolveParents().

◆ isTemplateParam()

virtual bool llvm::logicalview::LVElement::isTemplateParam ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVType.

Definition at line 240 of file LVElement.h.

Referenced by setGenericType().

◆ isTyped()

bool llvm::logicalview::LVElement::isTyped ( ) const
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVObject.

Definition at line 175 of file LVElement.h.

References ElementType.

◆ operator=()

LVElement & llvm::logicalview::LVElement::operator= ( const LVElement )
delete

◆ printFileIndex()

void LVElement::printFileIndex ( raw_ostream OS,
bool  Full = true 
) const
overrideprotectedvirtual

◆ printLinkageName() [1/2]

void LVElement::printLinkageName ( raw_ostream OS,
bool  Full,
LVElement Parent 
) const

◆ printLinkageName() [2/2]

void LVElement::printLinkageName ( raw_ostream OS,
bool  Full,
LVElement Parent,
LVScope Scope 
) const

◆ printReference()

void LVElement::printReference ( raw_ostream OS,
bool  Full,
LVElement Parent 
) const

◆ PROPERTY() [1/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
HasAugmentedName   
)

◆ PROPERTY() [2/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
HasReference   
)

◆ PROPERTY() [3/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
HasReferenceAbstract   
)

◆ PROPERTY() [4/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
HasReferenceExtension   
)

◆ PROPERTY() [5/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
HasReferenceSpecification   
)

◆ PROPERTY() [6/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
HasType   
)

◆ PROPERTY() [7/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IncludeInPrint   
)

◆ PROPERTY() [8/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
InvalidFilename   
)

◆ PROPERTY() [9/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsAnonymous   
)

◆ PROPERTY() [10/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsArrayResolved   
)

◆ PROPERTY() [11/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsArtificial   
)

◆ PROPERTY() [12/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsEnumClass   
)

◆ PROPERTY() [13/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsExternal   
)

◆ PROPERTY() [14/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsInlined   
)

◆ PROPERTY() [15/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsInlinedAbstract   
)

◆ PROPERTY() [16/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsLine   
)

◆ PROPERTY() [17/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsMemberPointerResolved   
)

◆ PROPERTY() [18/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsNested   
)

◆ PROPERTY() [19/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsReferencedType   
)

◆ PROPERTY() [20/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsScope   
)

◆ PROPERTY() [21/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsScoped   
)

◆ PROPERTY() [22/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsScopedAlready   
)

◆ PROPERTY() [23/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsStatic   
)

◆ PROPERTY() [24/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsSymbol   
)

◆ PROPERTY() [25/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsSystem   
)

◆ PROPERTY() [26/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsTemplateResolved   
)

◆ PROPERTY() [27/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsType   
)

◆ PROPERTY() [28/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
IsTypedefReduced   
)

◆ PROPERTY() [29/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
OffsetFromTypeIndex   
)

◆ PROPERTY() [30/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
QualifiedResolved   
)

◆ PROPERTY() [31/31]

llvm::logicalview::LVElement::PROPERTY ( Property  ,
TransformName   
)

◆ referenceMatch()

bool LVElement::referenceMatch ( const LVElement Element) const

◆ removeElement()

virtual bool llvm::logicalview::LVElement::removeElement ( LVElement Element)
inlinevirtual

Reimplemented in llvm::logicalview::LVScope.

Definition at line 340 of file LVElement.h.

◆ report()

virtual void llvm::logicalview::LVElement::report ( LVComparePass  Pass)
inlinevirtual

◆ resolve()

void LVElement::resolve ( )
virtual

◆ resolveExtra()

virtual void llvm::logicalview::LVElement::resolveExtra ( )
inlinevirtual

◆ resolveFullname()

void LVElement::resolveFullname ( LVElement BaseType,
StringRef  Name = emptyString() 
)

◆ resolveName()

void LVElement::resolveName ( )
virtual

◆ resolveParents()

void LVElement::resolveParents ( )

◆ resolveReferences()

virtual void llvm::logicalview::LVElement::resolveReferences ( )
inlinevirtual

◆ setAccessibilityCode() [1/2]

void llvm::logicalview::LVElement::setAccessibilityCode ( codeview::MemberAccess  Access)
inline

Definition at line 271 of file LVElement.h.

References llvm::codeview::Code, and getAccessibilityCode().

◆ setAccessibilityCode() [2/2]

void llvm::logicalview::LVElement::setAccessibilityCode ( uint32_t  Access)
inline

Definition at line 265 of file LVElement.h.

◆ setBitSize()

virtual void llvm::logicalview::LVElement::setBitSize ( uint32_t  Size)
inlinevirtual

Reimplemented in llvm::logicalview::LVSymbol.

Definition at line 243 of file LVElement.h.

Referenced by llvm::logicalview::LVLogicalVisitor::visitKnownRecord().

◆ setBounds()

virtual void llvm::logicalview::LVElement::setBounds ( unsigned  Lower,
unsigned  Upper 
)
inlinevirtual

Reimplemented in llvm::logicalview::LVTypeSubrange.

Definition at line 252 of file LVElement.h.

◆ setCallFilenameIndex()

virtual void llvm::logicalview::LVElement::setCallFilenameIndex ( size_t  Index)
inlinevirtual

Reimplemented in llvm::logicalview::LVScopeFunctionInlined.

Definition at line 232 of file LVElement.h.

◆ setCallLineNumber()

virtual void llvm::logicalview::LVElement::setCallLineNumber ( uint32_t  Number)
inlinevirtual

Reimplemented in llvm::logicalview::LVScopeFunctionInlined.

Definition at line 230 of file LVElement.h.

◆ setCount()

virtual void llvm::logicalview::LVElement::setCount ( int64_t  Value)
inlinevirtual

◆ setDiscriminator()

virtual void llvm::logicalview::LVElement::setDiscriminator ( uint32_t  Value)
inlinevirtual

◆ setFile()

void LVElement::setFile ( LVElement Reference = nullptr)

◆ setFilename()

void LVElement::setFilename ( StringRef  Filename)

Definition at line 102 of file LVElement.cpp.

References llvm::logicalview::Filename, and getStringIndex().

Referenced by setFile().

◆ setFilenameIndex()

void llvm::logicalview::LVElement::setFilenameIndex ( size_t  Index)
inline

Definition at line 234 of file LVElement.h.

Referenced by llvm::logicalview::LVLogicalVisitor::processLines(), and setFile().

◆ setGenericType()

void LVElement::setGenericType ( LVElement Element)

◆ setInlineCode()

void llvm::logicalview::LVElement::setInlineCode ( uint32_t  Code)
inline

Definition at line 278 of file LVElement.h.

References llvm::codeview::Code.

Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().

◆ setInnerComponent() [1/2]

void llvm::logicalview::LVElement::setInnerComponent ( )
inline

◆ setInnerComponent() [2/2]

void LVElement::setInnerComponent ( StringRef  Name)

◆ setLinkageName()

virtual void llvm::logicalview::LVElement::setLinkageName ( StringRef  LinkageName)
inlinevirtual

Reimplemented in llvm::logicalview::LVScopeFunction, and llvm::logicalview::LVSymbol.

Definition at line 225 of file LVElement.h.

◆ setLowerBound()

virtual void llvm::logicalview::LVElement::setLowerBound ( int64_t  Value)
inlinevirtual

Reimplemented in llvm::logicalview::LVTypeSubrange.

Definition at line 248 of file LVElement.h.

◆ setName()

void LVElement::setName ( StringRef  ElementName)
overridevirtual

◆ setProducer()

virtual void llvm::logicalview::LVElement::setProducer ( StringRef  ProducerName)
inlinevirtual

Reimplemented in llvm::logicalview::LVScopeCompileUnit.

Definition at line 215 of file LVElement.h.

◆ setQualifiedName()

void llvm::logicalview::LVElement::setQualifiedName ( StringRef  Name)
inline

◆ setReference() [1/4]

virtual void llvm::logicalview::LVElement::setReference ( LVElement Element)
inlinevirtual

◆ setReference() [2/4]

virtual void llvm::logicalview::LVElement::setReference ( LVScope Scope)
inlinevirtual

◆ setReference() [3/4]

virtual void llvm::logicalview::LVElement::setReference ( LVSymbol Symbol)
inlinevirtual

Reimplemented in llvm::logicalview::LVSymbol.

Definition at line 222 of file LVElement.h.

◆ setReference() [4/4]

virtual void llvm::logicalview::LVElement::setReference ( LVType Type)
inlinevirtual

Definition at line 223 of file LVElement.h.

◆ setType()

void llvm::logicalview::LVElement::setType ( LVElement Element = nullptr)
inline

◆ setUpperBound()

virtual void llvm::logicalview::LVElement::setUpperBound ( int64_t  Value)
inlinevirtual

Reimplemented in llvm::logicalview::LVTypeSubrange.

Definition at line 250 of file LVElement.h.

◆ setValue()

virtual void llvm::logicalview::LVElement::setValue ( StringRef  Value)
inlinevirtual

◆ setVirtualityCode() [1/2]

void llvm::logicalview::LVElement::setVirtualityCode ( codeview::MethodKind  Virtuality)
inline

Definition at line 289 of file LVElement.h.

References llvm::codeview::Code, and getVirtualityCode().

◆ setVirtualityCode() [2/2]

void llvm::logicalview::LVElement::setVirtualityCode ( uint32_t  Virtuality)
inline

Definition at line 283 of file LVElement.h.

◆ traverseParents()

LVScope * LVElement::traverseParents ( LVScopeGetFunction  GetFunction) const

◆ typeAsString()

StringRef LVElement::typeAsString ( ) const

◆ typeOffsetAsString()

std::string LVElement::typeOffsetAsString ( ) const

◆ updateLevel()

void LVElement::updateLevel ( LVScope Parent,
bool  Moved = false 
)
virtual

◆ virtualityString()

StringRef LVElement::virtualityString ( uint32_t  Virtuality = dwarf::DW_VIRTUALITY_none) const

Member Data Documentation

◆ ElementType

LVElement* llvm::logicalview::LVElement::ElementType = nullptr
protected

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