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

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

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

Public Member Functions

 LVLocation ()
 LVLocation (const LVLocation &)=delete
LVLocationoperator= (const LVLocation &)=delete
virtual ~LVLocation ()=default
 PROPERTY (Property, IsAddressRange)
 PROPERTY (Property, IsBaseClassOffset)
 PROPERTY (Property, IsBaseClassStep)
 PROPERTY_1 (Property, IsClassOffset, IsLocationSimple)
 PROPERTY_1 (Property, IsFixedAddress, IsLocationSimple)
 PROPERTY (Property, IsLocationSimple)
 PROPERTY (Property, IsGapEntry)
 PROPERTY (Property, IsOperationList)
 PROPERTY (Property, IsOperation)
 PROPERTY (Property, IsRegister)
 PROPERTY_1 (Property, IsStackOffset, IsLocationSimple)
 PROPERTY (Property, IsDiscardedRange)
 PROPERTY (Property, IsInvalidRange)
 PROPERTY (Property, IsInvalidLower)
 PROPERTY (Property, IsInvalidUpper)
 PROPERTY (Property, IsCallSite)
const charkind () const override
virtual void updateKind ()
const LVLinegetLowerLine () const
void setLowerLine (LVLine *Line)
const LVLinegetUpperLine () const
void setUpperLine (LVLine *Line)
LVAddress getLowerAddress () const override
void setLowerAddress (LVAddress Address) override
LVAddress getUpperAddress () const override
void setUpperAddress (LVAddress Address) override
std::string getIntervalInfo () const
bool validateRanges ()
virtual void addObject (LVAddress LowPC, LVAddress HighPC, LVUnsigned SectionOffset, uint64_t LocDescOffset)
virtual void addObject (LVSmall Opcode, ArrayRef< LVUnsigned > Operands)
void printInterval (raw_ostream &OS, bool Full=true) const
void printRaw (raw_ostream &OS, bool Full=true) const
virtual void printRawExtra (raw_ostream &OS, bool Full=true) const
void print (raw_ostream &OS, bool Full=true) const override
void printExtra (raw_ostream &OS, bool Full=true) const override
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 ()
uint32_t getLineNumber () const
void setLineNumber (uint32_t Number)
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 ()
void dump () const
uint32_t getID () const

Static Public Member Functions

static bool calculateCoverage (LVLocations *Locations, unsigned &Factor, float &Percentage)
static void print (LVLocations *Locations, raw_ostream &OS, bool Full=true)

Protected Member Functions

void setKind ()
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

LVLineLowerLine = nullptr
LVLineUpperLine = nullptr
LVAddress LowPC = 0
LVAddress HighPC = 0

Detailed Description

Definition at line 58 of file LVLocation.h.

Constructor & Destructor Documentation

◆ LVLocation() [1/2]

llvm::logicalview::LVLocation::LVLocation ( )
inline

◆ LVLocation() [2/2]

llvm::logicalview::LVLocation::LVLocation ( const LVLocation & )
delete

References LVLocation().

◆ ~LVLocation()

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

Member Function Documentation

◆ addObject() [1/2]

virtual void llvm::logicalview::LVLocation::addObject ( LVAddress LowPC,
LVAddress HighPC,
LVUnsigned SectionOffset,
uint64_t LocDescOffset )
inlinevirtual

Reimplemented in llvm::logicalview::LVLocationSymbol.

Definition at line 151 of file LVLocation.h.

References HighPC, and LowPC.

◆ addObject() [2/2]

virtual void llvm::logicalview::LVLocation::addObject ( LVSmall Opcode,
ArrayRef< LVUnsigned > Operands )
inlinevirtual

Reimplemented in llvm::logicalview::LVLocationSymbol.

Definition at line 153 of file LVLocation.h.

References llvm::logicalview::LVObject::Opcode, and Operands.

◆ calculateCoverage()

bool LVLocation::calculateCoverage ( LVLocations * Locations,
unsigned & Factor,
float & Percentage )
static

◆ getIntervalInfo()

std::string LVLocation::getIntervalInfo ( ) const

◆ getLowerAddress()

LVAddress llvm::logicalview::LVLocation::getLowerAddress ( ) const
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVObject.

Definition at line 133 of file LVLocation.h.

References LowPC.

Referenced by getIntervalInfo(), and printRaw().

◆ getLowerLine()

const LVLine * llvm::logicalview::LVLocation::getLowerLine ( ) const
inline

Definition at line 127 of file LVLocation.h.

References LowerLine.

Referenced by getIntervalInfo().

◆ getUpperAddress()

LVAddress llvm::logicalview::LVLocation::getUpperAddress ( ) const
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVObject.

Definition at line 135 of file LVLocation.h.

References HighPC.

Referenced by getIntervalInfo(), and printRaw().

◆ getUpperLine()

const LVLine * llvm::logicalview::LVLocation::getUpperLine ( ) const
inline

Definition at line 129 of file LVLocation.h.

References UpperLine.

Referenced by getIntervalInfo().

◆ kind()

const char * LVLocation::kind ( ) const
overridevirtual

Reimplemented from llvm::logicalview::LVObject.

Definition at line 410 of file LVLocation.cpp.

References llvm::logicalview::Kind.

Referenced by PROPERTY().

◆ operator=()

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

References LVLocation().

◆ print() [1/2]

◆ print() [2/2]

void LVLocation::print ( raw_ostream & OS,
bool Full = true ) const
overridevirtual

◆ printExtra()

void LVLocation::printExtra ( raw_ostream & OS,
bool Full = true ) const
overridevirtual

Reimplemented from llvm::logicalview::LVObject.

Reimplemented in llvm::logicalview::LVLocationSymbol.

Definition at line 552 of file LVLocation.cpp.

References llvm::Full, and printInterval().

Referenced by print().

◆ printInterval()

void LVLocation::printInterval ( raw_ostream & OS,
bool Full = true ) const

Definition at line 540 of file LVLocation.cpp.

References llvm::Full, and getIntervalInfo().

Referenced by printExtra(), and llvm::logicalview::LVLocationSymbol::printExtra().

◆ printRaw()

void LVLocation::printRaw ( raw_ostream & OS,
bool Full = true ) const

◆ printRawExtra()

virtual void llvm::logicalview::LVLocation::printRawExtra ( raw_ostream & OS,
bool Full = true ) const
inlinevirtual

Reimplemented in llvm::logicalview::LVLocationSymbol.

Definition at line 158 of file LVLocation.h.

References llvm::Full.

Referenced by printRaw().

◆ PROPERTY() [1/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsAddressRange  )

◆ PROPERTY() [2/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsBaseClassOffset  )

◆ PROPERTY() [3/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsBaseClassStep  )

◆ PROPERTY() [4/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsCallSite  )

References kind().

◆ PROPERTY() [5/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsDiscardedRange  )

◆ PROPERTY() [6/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsGapEntry  )

◆ PROPERTY() [7/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsInvalidLower  )

◆ PROPERTY() [8/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsInvalidRange  )

◆ PROPERTY() [9/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsInvalidUpper  )

◆ PROPERTY() [10/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsLocationSimple  )

◆ PROPERTY() [11/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsOperation  )

◆ PROPERTY() [12/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsOperationList  )

◆ PROPERTY() [13/13]

llvm::logicalview::LVLocation::PROPERTY ( Property ,
IsRegister  )

◆ PROPERTY_1() [1/3]

llvm::logicalview::LVLocation::PROPERTY_1 ( Property ,
IsClassOffset ,
IsLocationSimple  )

◆ PROPERTY_1() [2/3]

llvm::logicalview::LVLocation::PROPERTY_1 ( Property ,
IsFixedAddress ,
IsLocationSimple  )

◆ PROPERTY_1() [3/3]

llvm::logicalview::LVLocation::PROPERTY_1 ( Property ,
IsStackOffset ,
IsLocationSimple  )

◆ setKind()

void LVLocation::setKind ( )
protected

◆ setLowerAddress()

void llvm::logicalview::LVLocation::setLowerAddress ( LVAddress Address)
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVObject.

Definition at line 134 of file LVLocation.h.

References llvm::Address, and LowPC.

Referenced by llvm::logicalview::LVLocationSymbol::addObject().

◆ setLowerLine()

void llvm::logicalview::LVLocation::setLowerLine ( LVLine * Line)
inline

Definition at line 128 of file LVLocation.h.

References LowerLine.

Referenced by validateRanges().

◆ setUpperAddress()

void llvm::logicalview::LVLocation::setUpperAddress ( LVAddress Address)
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVObject.

Definition at line 136 of file LVLocation.h.

References llvm::Address, and HighPC.

Referenced by llvm::logicalview::LVLocationSymbol::addObject().

◆ setUpperLine()

void llvm::logicalview::LVLocation::setUpperLine ( LVLine * Line)
inline

Definition at line 130 of file LVLocation.h.

References UpperLine.

Referenced by validateRanges().

◆ updateKind()

virtual void llvm::logicalview::LVLocation::updateKind ( )
inlinevirtual

Definition at line 124 of file LVLocation.h.

◆ validateRanges()

Member Data Documentation

◆ HighPC

◆ LowerLine

LVLine* llvm::logicalview::LVLocation::LowerLine = nullptr
protected

Definition at line 88 of file LVLocation.h.

Referenced by getLowerLine(), and setLowerLine().

◆ LowPC

◆ UpperLine

LVLine* llvm::logicalview::LVLocation::UpperLine = nullptr
protected

Definition at line 89 of file LVLocation.h.

Referenced by getUpperLine(), and setUpperLine().


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