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

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

Inheritance diagram for llvm::logicalview::LVLocation:
Inheritance graph
[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
 
void dump () 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 ()
 
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 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 57 of file LVLocation.h.

Constructor & Destructor Documentation

◆ LVLocation() [1/2]

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

Definition at line 99 of file LVLocation.h.

◆ LVLocation() [2/2]

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

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

◆ addObject() [2/2]

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

Reimplemented in llvm::logicalview::LVLocationSymbol.

Definition at line 152 of file LVLocation.h.

◆ calculateCoverage()

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

◆ dump()

void llvm::logicalview::LVLocation::dump ( ) const
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVObject.

Definition at line 163 of file LVLocation.h.

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

◆ getIntervalInfo()

std::string LVLocation::getIntervalInfo ( ) const

◆ getLowerAddress()

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

Reimplemented from llvm::logicalview::LVObject.

Definition at line 132 of file LVLocation.h.

References LowPC.

Referenced by getIntervalInfo(), and printRaw().

◆ getLowerLine()

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

Definition at line 126 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 134 of file LVLocation.h.

References HighPC.

Referenced by getIntervalInfo(), and printRaw().

◆ getUpperLine()

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

Definition at line 128 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.

◆ operator=()

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

◆ print() [1/2]

void LVLocation::print ( LVLocations Locations,
raw_ostream OS,
bool  Full = true 
)
static

◆ 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, OS, 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 getIntervalInfo(), and OS.

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 157 of file LVLocation.h.

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   
)

◆ 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 133 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 127 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 135 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 129 of file LVLocation.h.

References UpperLine.

Referenced by validateRanges().

◆ updateKind()

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

Definition at line 123 of file LVLocation.h.

◆ validateRanges()

bool LVLocation::validateRanges ( )

Member Data Documentation

◆ HighPC

LVAddress llvm::logicalview::LVLocation::HighPC = 0
protected

◆ LowerLine

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

Definition at line 87 of file LVLocation.h.

Referenced by getLowerLine(), and setLowerLine().

◆ LowPC

LVAddress llvm::logicalview::LVLocation::LowPC = 0
protected

◆ UpperLine

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

Definition at line 88 of file LVLocation.h.

Referenced by getUpperLine(), and setUpperLine().


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