LLVM 22.0.0git
llvm::logicalview::LVObject Class Reference

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

Inheritance diagram for llvm::logicalview::LVObject:
[legend]

Public Member Functions

 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
void dump () const
uint32_t getID () const

Protected Member Functions

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

Detailed Description

Definition at line 117 of file LVObject.h.

Constructor & Destructor Documentation

◆ LVObject()

llvm::logicalview::LVObject::LVObject ( )
inline

Definition at line 200 of file LVObject.h.

◆ ~LVObject()

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

Member Function Documentation

◆ doPrint()

Error LVObject::doPrint ( bool Split,
bool Match,
bool Print,
raw_ostream & OS,
bool Full = true ) const
virtual

Reimplemented in llvm::logicalview::LVScope.

Definition at line 108 of file LVObject.cpp.

References llvm::Full, print(), llvm::logicalview::Split, and llvm::Error::success().

◆ dump()

void llvm::logicalview::LVObject::dump ( ) const
inline

Definition at line 316 of file LVObject.h.

References llvm::dbgs(), and print().

◆ getAttr()

dwarf::Attribute llvm::logicalview::LVObject::getAttr ( ) const
inline

Definition at line 233 of file LVObject.h.

Referenced by llvm::logicalview::LVLocation::setKind().

◆ getID()

uint32_t llvm::logicalview::LVObject::getID ( ) const
inline

Definition at line 319 of file LVObject.h.

Referenced by checkIntegrityScopesTree(), and printAttributes().

◆ getLevel()

LVLevel llvm::logicalview::LVObject::getLevel ( ) const
inline

◆ getLineNumber()

◆ getLowerAddress()

virtual LVAddress llvm::logicalview::LVObject::getLowerAddress ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVLocation.

Definition at line 268 of file LVObject.h.

◆ getName()

virtual StringRef llvm::logicalview::LVObject::getName ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVElement.

Definition at line 246 of file LVObject.h.

◆ getOffset()

◆ getOpcode()

LVSmall llvm::logicalview::LVObject::getOpcode ( ) const
inline

Definition at line 235 of file LVObject.h.

◆ getParent()

LVElement * llvm::logicalview::LVObject::getParent ( ) const
inline

Definition at line 249 of file LVObject.h.

References assert().

◆ getParentScope()

◆ getParentSymbol()

LVSymbol * llvm::logicalview::LVObject::getParentSymbol ( ) const
inline

◆ getTag()

dwarf::Tag llvm::logicalview::LVObject::getTag ( ) const
inline

Definition at line 231 of file LVObject.h.

Referenced by llvm::logicalview::LVElement::resolveFullname().

◆ getUpperAddress()

virtual LVAddress llvm::logicalview::LVObject::getUpperAddress ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVLocation.

Definition at line 270 of file LVObject.h.

◆ indentAsString() [1/2]

std::string LVObject::indentAsString ( ) const

◆ indentAsString() [2/2]

std::string LVObject::indentAsString ( LVLevel Level) const

Definition at line 33 of file LVObject.cpp.

References llvm::logicalview::Level.

◆ isFiled()

virtual bool llvm::logicalview::LVObject::isFiled ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVElement.

Definition at line 227 of file LVObject.h.

◆ isLined()

bool llvm::logicalview::LVObject::isLined ( ) const
inline

Definition at line 228 of file LVObject.h.

Referenced by llvm::logicalview::LVElement::generateName().

◆ isNamed()

virtual bool llvm::logicalview::LVObject::isNamed ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVElement.

Definition at line 225 of file LVObject.h.

◆ isTyped()

virtual bool llvm::logicalview::LVObject::isTyped ( ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVElement.

Definition at line 226 of file LVObject.h.

◆ kind()

◆ lineAsString()

std::string LVObject::lineAsString ( uint32_t LineNumber,
LVHalf Discriminator,
bool ShowZero ) const
protected

◆ lineNumberAsString()

virtual std::string llvm::logicalview::LVObject::lineNumberAsString ( bool ShowZero = false) const
inlinevirtual

◆ lineNumberAsStringStripped()

std::string LVObject::lineNumberAsStringStripped ( bool ShowZero = false) const

Definition at line 73 of file LVObject.cpp.

References lineNumberAsString().

◆ markBranchAsMissing()

void LVObject::markBranchAsMissing ( )

Definition at line 96 of file LVObject.cpp.

◆ noLineAsString()

std::string LVObject::noLineAsString ( bool ShowZero) const
virtual

◆ operator=()

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

◆ print()

◆ printAttributes() [1/2]

void LVObject::printAttributes ( raw_ostream & OS,
bool Full,
StringRef Name,
LVObject * Parent,
StringRef Value,
bool UseQuotes = false,
bool PrintRef = false ) const

◆ printAttributes() [2/2]

◆ printExtra()

◆ printFileIndex()

virtual void llvm::logicalview::LVObject::printFileIndex ( raw_ostream & OS,
bool Full = true ) const
inlineprotectedvirtual

Reimplemented in llvm::logicalview::LVElement.

Definition at line 197 of file LVObject.h.

References llvm::Full.

Referenced by print().

◆ PROPERTY() [1/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
HasCodeViewLocation  )

◆ PROPERTY() [2/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
HasMoved  )

◆ PROPERTY() [3/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
HasPattern  )

◆ PROPERTY() [4/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsAdded  )

◆ PROPERTY() [5/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsDiscarded  )

◆ PROPERTY() [6/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsFileFromReference  )

◆ PROPERTY() [7/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsFinalized  )

◆ PROPERTY() [8/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsGeneratedName  )

◆ PROPERTY() [9/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsGlobalReference  )

◆ PROPERTY() [10/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsInCompare  )

◆ PROPERTY() [11/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsLineFromReference  )

◆ PROPERTY() [12/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsLocation  )

◆ PROPERTY() [13/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsMatched  )

◆ PROPERTY() [14/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsMissing  )

◆ PROPERTY() [15/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsMissingLink  )

◆ PROPERTY() [16/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsOptimized  )

◆ PROPERTY() [17/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsReferenced  )

◆ PROPERTY() [18/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsResolved  )

◆ PROPERTY() [19/19]

llvm::logicalview::LVObject::PROPERTY ( Property ,
IsResolvedName  )

◆ referenceAsString()

std::string LVObject::referenceAsString ( uint32_t LineNumber,
bool Spaces ) const
protected

Definition at line 77 of file LVObject.cpp.

References llvm::String.

Referenced by llvm::logicalview::LVElement::printReference().

◆ resetParent()

void llvm::logicalview::LVObject::resetParent ( )
inline

Definition at line 266 of file LVObject.h.

◆ setAttr()

void llvm::logicalview::LVObject::setAttr ( dwarf::Attribute Attr)
inline

Definition at line 234 of file LVObject.h.

References Attr.

◆ setLevel()

void llvm::logicalview::LVObject::setLevel ( LVLevel Level)
inline

◆ setLineNumber()

void llvm::logicalview::LVObject::setLineNumber ( uint32_t Number)
inline

◆ setLowerAddress()

virtual void llvm::logicalview::LVObject::setLowerAddress ( LVAddress Address)
inlinevirtual

Reimplemented in llvm::logicalview::LVLocation.

Definition at line 269 of file LVObject.h.

References llvm::Address.

◆ setName()

virtual void llvm::logicalview::LVObject::setName ( StringRef ObjectName)
inlinevirtual

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

Definition at line 247 of file LVObject.h.

◆ setOffset()

void llvm::logicalview::LVObject::setOffset ( LVOffset DieOffset)
inline

◆ setOpcode()

void llvm::logicalview::LVObject::setOpcode ( LVSmall Opcode)
inline

Definition at line 236 of file LVObject.h.

References Opcode.

◆ setParent() [1/2]

void LVObject::setParent ( LVScope * Scope)

Definition at line 87 of file LVObject.cpp.

References Scope, and setLevel().

◆ setParent() [2/2]

void LVObject::setParent ( LVSymbol * Symbol)

Definition at line 91 of file LVObject.cpp.

References setLevel(), and Symbol.

◆ setTag()

◆ setUpperAddress()

virtual void llvm::logicalview::LVObject::setUpperAddress ( LVAddress Address)
inlinevirtual

Reimplemented in llvm::logicalview::LVLocation.

Definition at line 271 of file LVObject.h.

References llvm::Address.

Member Data Documentation

◆ Attr

dwarf::Attribute llvm::logicalview::LVObject::Attr

◆ Element

LVElement* llvm::logicalview::LVObject::Element

Definition at line 161 of file LVObject.h.

Referenced by llvm::logicalview::LVScope::addElement(), llvm::logicalview::LVScopeCompileUnit::addInvalidOffset(), llvm::logicalview::LVScopeCompileUnit::addMatched(), llvm::logicalview::LVScope::addToChildren(), llvm::logicalview::LVLine::classof(), llvm::logicalview::LVScope::classof(), llvm::logicalview::LVSymbol::classof(), llvm::logicalview::LVType::classof(), llvm::logicalview::LVScope::doPrint(), llvm::logicalview::LVElement::equals(), llvm::logicalview::LVScopeCompileUnit::lineRange(), llvm::logicalview::LVScopeCompileUnit::printMatchedElements(), llvm::logicalview::LVScopeCompileUnit::printWarnings(), llvm::logicalview::LVElement::referenceMatch(), llvm::logicalview::LVElement::removeElement(), llvm::logicalview::LVScope::removeElement(), llvm::logicalview::LVScope::report(), llvm::logicalview::LVScope::resolve(), llvm::logicalview::LVScope::resolveReferences(), llvm::logicalview::LVSymbol::resolveReferences(), llvm::logicalview::LVType::resolveReferences(), llvm::logicalview::LVElement::setGenericType(), llvm::logicalview::LVElement::setReference(), llvm::logicalview::LVScopeAggregate::setReference(), llvm::logicalview::LVScopeFunction::setReference(), llvm::logicalview::LVScopeNamespace::setReference(), llvm::logicalview::LVSymbol::setReference(), llvm::logicalview::LVElement::setType(), llvm::logicalview::LVType::setUnderlyingType(), llvm::logicalview::LVTypeDefinition::setUnderlyingType(), llvm::logicalview::LVElement::typeOffsetAsString(), and llvm::logicalview::LVScope::updateLevel().

◆ Opcode

◆ Scope

LVScope* llvm::logicalview::LVObject::Scope

Definition at line 162 of file LVObject.h.

Referenced by llvm::logicalview::LVScopeCompileUnit::addedElement(), llvm::logicalview::LVScope::addElement(), llvm::logicalview::LVRange::addEntry(), llvm::logicalview::LVRange::addEntry(), llvm::logicalview::LVScopeCompileUnit::addLineZero(), llvm::logicalview::LVScopeCompileUnit::addMatched(), llvm::logicalview::LVScopeCompileUnit::addPublicName(), llvm::logicalview::LVScopeCompileUnit::addSize(), llvm::logicalview::LVSymbol::calculateCoverage(), llvm::logicalview::LVScopeRoot::doPrintMatches(), llvm::logicalview::LVScope::equalNumberOfChildren(), llvm::logicalview::LVScope::equals(), llvm::logicalview::LVScopeAggregate::equals(), llvm::logicalview::LVScopeAlias::equals(), llvm::logicalview::LVScopeArray::equals(), llvm::logicalview::LVScopeCompileUnit::equals(), llvm::logicalview::LVScopeEnumeration::equals(), llvm::logicalview::LVScopeFormalPack::equals(), llvm::logicalview::LVScopeFunction::equals(), llvm::logicalview::LVScopeFunctionInlined::equals(), llvm::logicalview::LVScopeModule::equals(), llvm::logicalview::LVScopeNamespace::equals(), llvm::logicalview::LVScopeRoot::equals(), llvm::logicalview::LVScopeTemplatePack::equals(), llvm::logicalview::LVScope::findEqualScope(), llvm::logicalview::LVScopeAggregate::findEqualScope(), llvm::logicalview::LVScopeFunction::findEqualScope(), llvm::logicalview::LVScopeNamespace::findEqualScope(), llvm::logicalview::LVScopeCompileUnit::findPublicName(), llvm::logicalview::LVElement::generateName(), llvm::logicalview::LVRange::getEntry(), llvm::logicalview::LVScope::getLocations(), llvm::logicalview::LVScope::getRanges(), llvm::logicalview::LVScope::getRanges(), llvm::logicalview::LVScopeCompileUnit::increment(), llvm::logicalview::LVRange::print(), llvm::logicalview::LVElement::printLinkageName(), llvm::logicalview::LVScopeCompileUnit::printMatchedElements(), llvm::logicalview::LVScopeCompileUnit::printSizes(), llvm::logicalview::LVScopeRoot::processRangeInformation(), llvm::logicalview::LVScopeCompileUnit::propagatePatternMatch(), llvm::logicalview::LVScope::resolveElements(), llvm::logicalview::LVScopeFunction::resolveReferences(), setParent(), llvm::logicalview::LVElement::setReference(), llvm::logicalview::LVScopeAggregate::setReference(), llvm::logicalview::LVScopeFunction::setReference(), llvm::logicalview::LVScopeNamespace::setReference(), llvm::logicalview::LVScope::sort(), llvm::logicalview::LVRange::startSearch(), llvm::logicalview::LVScopeRoot::transformScopedName(), llvm::logicalview::LVScope::traverseParentsAndChildren(), llvm::logicalview::LVRange::~LVRange(), llvm::logicalview::LVScopeAlias::~LVScopeAlias(), llvm::logicalview::LVScopeArray::~LVScopeArray(), llvm::logicalview::LVScopeEnumeration::~LVScopeEnumeration(), llvm::logicalview::LVScopeFormalPack::~LVScopeFormalPack(), llvm::logicalview::LVScopeModule::~LVScopeModule(), and llvm::logicalview::LVScopeTemplatePack::~LVScopeTemplatePack().

◆ Symbol

◆ Tag

dwarf::Tag llvm::logicalview::LVObject::Tag

Definition at line 145 of file LVObject.h.

Referenced by setTag().


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