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

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

Inheritance diagram for llvm::logicalview::LVObject:
Inheritance graph
[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
 
virtual void dump () const
 
uint64_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 108 of file LVObject.h.

Constructor & Destructor Documentation

◆ LVObject()

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

Definition at line 195 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 110 of file LVObject.cpp.

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

Referenced by llvm::logicalview::LVScope::doPrint().

◆ dump()

virtual void llvm::logicalview::LVObject::dump ( ) const
inlinevirtual

◆ getAttr()

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

Definition at line 232 of file LVObject.h.

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

◆ getID()

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

Definition at line 318 of file LVObject.h.

Referenced by checkIntegrityScopesTree(), and printAttributes().

◆ getLevel()

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

◆ getLineNumber()

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

◆ getLowerAddress()

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

Reimplemented in llvm::logicalview::LVLocation.

Definition at line 267 of file LVObject.h.

◆ getName()

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

Reimplemented in llvm::logicalview::LVElement.

Definition at line 245 of file LVObject.h.

◆ getOffset()

LVOffset llvm::logicalview::LVObject::getOffset ( ) const
inline

◆ getOpcode()

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

Definition at line 234 of file LVObject.h.

◆ getParent()

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

Definition at line 248 of file LVObject.h.

References assert().

Referenced by llvm::logicalview::LVScope::addElement(), and markBranchAsMissing().

◆ getParentScope()

LVScope * llvm::logicalview::LVObject::getParentScope ( ) const
inline

◆ getParentSymbol()

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

◆ getTag()

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

Definition at line 230 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 269 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 35 of file LVObject.cpp.

◆ isFiled()

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

Reimplemented in llvm::logicalview::LVElement.

Definition at line 226 of file LVObject.h.

◆ isLined()

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

Definition at line 227 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 224 of file LVObject.h.

◆ isTyped()

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

Reimplemented in llvm::logicalview::LVElement.

Definition at line 225 of file LVObject.h.

◆ kind()

virtual const char * llvm::logicalview::LVObject::kind ( ) const
inlinevirtual

◆ 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 75 of file LVObject.cpp.

References lineNumberAsString().

◆ markBranchAsMissing()

void LVObject::markBranchAsMissing ( )

Definition at line 98 of file LVObject.cpp.

References getParent().

Referenced by llvm::logicalview::LVSymbol::markMissingParents().

◆ noLineAsString()

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

◆ operator=()

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

◆ print()

void LVObject::print ( raw_ostream OS,
bool  Full = true 
) const
virtual

◆ 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]

void LVObject::printAttributes ( raw_ostream OS,
bool  Full = true 
) const

◆ printExtra()

virtual void llvm::logicalview::LVObject::printExtra ( raw_ostream OS,
bool  Full = true 
) const
inlinevirtual

◆ printFileIndex()

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

Reimplemented in llvm::logicalview::LVElement.

Definition at line 192 of file LVObject.h.

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 79 of file LVObject.cpp.

References llvm::String.

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

◆ resetParent()

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

Definition at line 265 of file LVObject.h.

Referenced by llvm::logicalview::LVScope::removeElement().

◆ setAttr()

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

Definition at line 233 of file LVObject.h.

References Attr.

Referenced by llvm::logicalview::LVSymbol::addLocation().

◆ 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 268 of file LVObject.h.

◆ setName()

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

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

Definition at line 246 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 235 of file LVObject.h.

References Opcode.

◆ setParent() [1/2]

void LVObject::setParent ( LVScope Scope)

◆ setParent() [2/2]

void LVObject::setParent ( LVSymbol Symbol)

Definition at line 93 of file LVObject.cpp.

References getLevel(), setLevel(), and Symbol.

◆ setTag()

void llvm::logicalview::LVObject::setTag ( dwarf::Tag  Tag)
inline

◆ setUpperAddress()

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

Reimplemented in llvm::logicalview::LVLocation.

Definition at line 270 of file LVObject.h.

Member Data Documentation

◆ Attr

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

◆ Element

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

◆ Opcode

LVSmall llvm::logicalview::LVObject::Opcode

◆ Scope

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

Definition at line 147 of file LVObject.h.

Referenced by llvm::logicalview::LVScopeCompileUnit::addedElement(), llvm::logicalview::LVScope::addElement(), 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::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::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::LVScopeAggregate::setReference(), llvm::logicalview::LVScopeFunction::setReference(), llvm::logicalview::LVScopeNamespace::setReference(), llvm::logicalview::LVScope::sort(), llvm::logicalview::LVRange::startSearch(), llvm::logicalview::LVScopeRoot::transformScopedName(), and llvm::logicalview::LVScope::traverseParentsAndChildren().

◆ Symbol

LVSymbol* llvm::logicalview::LVObject::Symbol

◆ Tag

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

Definition at line 138 of file LVObject.h.

Referenced by setTag().


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