LLVM 19.0.0git
Public Member Functions | List of all members
llvm::logicalview::LVScopeRoot Class Referencefinal

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

Inheritance diagram for llvm::logicalview::LVScopeRoot:
Inheritance graph

Public Member Functions

 LVScopeRoot ()
 LVScopeRoot (const LVScopeRoot &)=delete
LVScopeRootoperator= (const LVScopeRoot &)=delete
 ~LVScopeRoot ()=default
StringRef getFileFormatName () const
void setFileFormatName (StringRef FileFormatName)
void transformScopedName ()
void processRangeInformation ()
bool equals (const LVScope *Scope) const override
void print (raw_ostream &OS, bool Full=true) const override
void printExtra (raw_ostream &OS, bool Full=true) const override
Error doPrintMatches (bool Split, raw_ostream &OS, bool UseMatchedElements) const
- Public Member Functions inherited from llvm::logicalview::LVScope
 LVScope ()
 LVScope (const LVScope &)=delete
LVScopeoperator= (const LVScope &)=delete
virtual ~LVScope ()=default
 KIND (LVScopeKind, IsAggregate)
 KIND (LVScopeKind, IsArray)
 KIND_2 (LVScopeKind, IsBlock, CanHaveRanges, CanHaveLines)
 KIND_1 (LVScopeKind, IsCallSite, IsFunction)
 KIND_1 (LVScopeKind, IsCatchBlock, IsBlock)
 KIND_1 (LVScopeKind, IsClass, IsAggregate)
 KIND_3 (LVScopeKind, IsCompileUnit, CanHaveRanges, CanHaveLines, TransformName)
 KIND_1 (LVScopeKind, IsEntryPoint, IsFunction)
 KIND (LVScopeKind, IsEnumeration)
 KIND_2 (LVScopeKind, IsFunction, CanHaveRanges, CanHaveLines)
 KIND_1 (LVScopeKind, IsFunctionType, IsFunction)
 KIND_2 (LVScopeKind, IsInlinedFunction, IsFunction, IsInlined)
 KIND_1 (LVScopeKind, IsLabel, IsFunction)
 KIND_1 (LVScopeKind, IsLexicalBlock, IsBlock)
 KIND (LVScopeKind, IsMember)
 KIND (LVScopeKind, IsNamespace)
 KIND_1 (LVScopeKind, IsRoot, TransformName)
 KIND_1 (LVScopeKind, IsStructure, IsAggregate)
 KIND_1 (LVScopeKind, IsSubprogram, IsFunction)
 KIND (LVScopeKind, IsTemplate)
 KIND (LVScopeKind, IsTemplateAlias)
 KIND (LVScopeKind, IsTemplatePack)
 KIND_1 (LVScopeKind, IsTryBlock, IsBlock)
 KIND_1 (LVScopeKind, IsUnion, IsAggregate)
 PROPERTY (Property, HasDiscriminator)
 PROPERTY (Property, CanHaveRanges)
 PROPERTY (Property, CanHaveLines)
 PROPERTY (Property, HasGlobals)
 PROPERTY (Property, HasLocals)
 PROPERTY (Property, HasLines)
 PROPERTY (Property, HasScopes)
 PROPERTY (Property, HasSymbols)
 PROPERTY (Property, HasTypes)
 PROPERTY (Property, IsComdat)
 PROPERTY (Property, HasComdatScopes)
 PROPERTY (Property, HasRanges)
 PROPERTY (Property, AddedMissing)
bool isCompileUnit () const override
bool isRoot () const override
const charkind () const override
const LVLinesgetLines () const
const LVLocationsgetRanges () const
const LVScopesgetScopes () const
const LVSymbolsgetSymbols () const
const LVTypesgetTypes () const
const LVElementsgetChildren () const
void addElement (LVElement *Element)
void addElement (LVLine *Line)
void addElement (LVScope *Scope)
void addElement (LVSymbol *Symbol)
void addElement (LVType *Type)
void addObject (LVLocation *Location)
void addObject (LVAddress LowerAddress, LVAddress UpperAddress)
void addToChildren (LVElement *Element)
void addMissingElements (LVScope *Reference)
void traverseParentsAndChildren (LVObjectGetFunction GetFunction, LVObjectSetFunction SetFunction)
size_t lineCount () const
size_t rangeCount () const
size_t scopeCount () const
size_t symbolCount () const
size_t typeCount () const
LVScopeoutermostParent (LVAddress Address)
void getLocations (LVLocations &LocationList, LVValidLocation ValidLocation, bool RecordInvalid=false)
void getRanges (LVLocations &LocationList, LVValidLocation ValidLocation, bool RecordInvalid=false)
void getRanges (LVRange &RangeList)
unsigned getCoverageFactor () const
Error doPrint (bool Split, bool Match, bool Print, raw_ostream &OS, bool Full=true) const override
void sort ()
bool getTemplateParameterTypes (LVTypes &Params)
virtual LVScopegetReference () const
LVScopegetCompileUnitParent () const override
StringRef resolveReferencesChain ()
bool removeElement (LVElement *Element) override
void updateLevel (LVScope *Parent, bool Moved) override
void resolve () override
void resolveName () override
void resolveReferences () override
void getQualifiedName (std::string &QualifiedName) const
void encodeTemplateArguments (std::string &Name) const
void encodeTemplateArguments (std::string &Name, const LVTypes *Types) const
void resolveElements ()
virtual void markMissingParents (const LVScope *Target, bool TraverseChildren)
virtual bool equalNumberOfChildren (const LVScope *Scope) const
virtual bool equals (const LVScope *Scope) const
virtual LVScopefindEqualScope (const LVScopes *Scopes) const
void report (LVComparePass Pass) override
void print (raw_ostream &OS, bool Full=true) const override
void printExtra (raw_ostream &OS, bool Full=true) const override
virtual void printWarnings (raw_ostream &OS, bool Full=true) const
virtual void printMatchedElements (raw_ostream &OS, bool UseMatchedElements)
void dump () const override
- Public Member Functions inherited from llvm::logicalview::LVElement
 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

Additional Inherited Members

- Static Public Member Functions inherited from llvm::logicalview::LVScope
static bool classof (const LVElement *Element)
static void markMissingParents (const LVScopes *References, const LVScopes *Targets, bool TraverseChildren)
static bool equals (const LVScopes *References, const LVScopes *Targets)
static LVScopeDispatchgetDispatch ()
- Static Public Member Functions inherited from llvm::logicalview::LVElement
static LVElementDispatchgetDispatch ()
- Protected Member Functions inherited from llvm::logicalview::LVScope
void resolveTemplate ()
void printEncodedArgs (raw_ostream &OS, bool Full) const
void printActiveRanges (raw_ostream &OS, bool Full=true) const
virtual void printSizes (raw_ostream &OS) const
virtual void printSummary (raw_ostream &OS) const
virtual StringRef getEncodedArgs () const
virtual void setEncodedArgs (StringRef EncodedArgs)
- Protected Member Functions inherited from llvm::logicalview::LVElement
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 inherited from llvm::logicalview::LVScope
std::unique_ptr< LVTypesTypes
std::unique_ptr< LVSymbolsSymbols
std::unique_ptr< LVScopesScopes
std::unique_ptr< LVLinesLines
std::unique_ptr< LVLocationsRanges
std::unique_ptr< LVElementsChildren
- Protected Attributes inherited from llvm::logicalview::LVElement
LVElementElementType = nullptr

Detailed Description

Definition at line 782 of file LVScope.h.

Constructor & Destructor Documentation

◆ LVScopeRoot() [1/2]

llvm::logicalview::LVScopeRoot::LVScopeRoot ( )

Definition at line 786 of file LVScope.h.

◆ LVScopeRoot() [2/2]

llvm::logicalview::LVScopeRoot::LVScopeRoot ( const LVScopeRoot )

◆ ~LVScopeRoot()

llvm::logicalview::LVScopeRoot::~LVScopeRoot ( )

Member Function Documentation

◆ doPrintMatches()

Error LVScopeRoot::doPrintMatches ( bool  Split,
raw_ostream OS,
bool  UseMatchedElements 
) const

◆ equals()

bool LVScopeRoot::equals ( const LVScope Scope) const

◆ getFileFormatName()

StringRef llvm::logicalview::LVScopeRoot::getFileFormatName ( ) const

◆ operator=()

LVScopeRoot & llvm::logicalview::LVScopeRoot::operator= ( const LVScopeRoot )

◆ print()

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

Reimplemented from llvm::logicalview::LVScope.

Definition at line 2046 of file LVScope.cpp.

References llvm::Full, OS, and llvm::logicalview::LVScope::print().

Referenced by doPrintMatches().

◆ printExtra()

void LVScopeRoot::printExtra ( raw_ostream OS,
bool  Full = true 
) const

◆ processRangeInformation()

void LVScopeRoot::processRangeInformation ( )

◆ setFileFormatName()

void llvm::logicalview::LVScopeRoot::setFileFormatName ( StringRef  FileFormatName)

◆ transformScopedName()

void LVScopeRoot::transformScopedName ( )

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