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

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

Inheritance diagram for llvm::logicalview::LVScope:
Inheritance graph
[legend]

Public Member Functions

 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
 

Static Public Member Functions

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

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

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 73 of file LVScope.h.

Constructor & Destructor Documentation

◆ LVScope() [1/2]

llvm::logicalview::LVScope::LVScope ( )
inline

Definition at line 147 of file LVScope.h.

◆ LVScope() [2/2]

llvm::logicalview::LVScope::LVScope ( const LVScope )
delete

◆ ~LVScope()

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

Member Function Documentation

◆ addElement() [1/5]

void LVScope::addElement ( LVElement Element)

◆ addElement() [2/5]

void LVScope::addElement ( LVLine Line)

◆ addElement() [3/5]

void LVScope::addElement ( LVScope Scope)

◆ addElement() [4/5]

void LVScope::addElement ( LVSymbol Symbol)

◆ addElement() [5/5]

void LVScope::addElement ( LVType Type)

◆ addMissingElements()

void LVScope::addMissingElements ( LVScope Reference)

◆ addObject() [1/2]

void LVScope::addObject ( LVAddress  LowerAddress,
LVAddress  UpperAddress 
)

◆ addObject() [2/2]

void LVScope::addObject ( LVLocation Location)

◆ addToChildren()

void LVScope::addToChildren ( LVElement Element)

Definition at line 106 of file LVScope.cpp.

References Children, and llvm::logicalview::LVObject::Element.

Referenced by addElement().

◆ classof()

static bool llvm::logicalview::LVScope::classof ( const LVElement Element)
inlinestatic

◆ doPrint()

Error LVScope::doPrint ( bool  Split,
bool  Match,
bool  Print,
raw_ostream OS,
bool  Full = true 
) const
overridevirtual

◆ dump()

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

Reimplemented from llvm::logicalview::LVObject.

Definition at line 321 of file LVScope.h.

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

◆ encodeTemplateArguments() [1/2]

void LVScope::encodeTemplateArguments ( std::string &  Name) const

◆ encodeTemplateArguments() [2/2]

void LVScope::encodeTemplateArguments ( std::string &  Name,
const LVTypes Types 
) const

Definition at line 526 of file LVScope.cpp.

References llvm::logicalview::Name, and Types.

◆ equalNumberOfChildren()

bool LVScope::equalNumberOfChildren ( const LVScope Scope) const
virtual

◆ equals() [1/2]

bool LVScope::equals ( const LVScope Scope) const
virtual

◆ equals() [2/2]

bool LVScope::equals ( const LVScopes References,
const LVScopes Targets 
)
static

◆ findEqualScope()

LVScope * LVScope::findEqualScope ( const LVScopes Scopes) const
virtual

◆ getChildren()

const LVElements * llvm::logicalview::LVScope::getChildren ( ) const
inline

Definition at line 210 of file LVScope.h.

References Children.

Referenced by llvm::logicalview::LVScopeCompileUnit::printMatchedElements().

◆ getCompileUnitParent()

LVScope * llvm::logicalview::LVScope::getCompileUnitParent ( ) const
inlineoverridevirtual

◆ getCoverageFactor()

unsigned llvm::logicalview::LVScope::getCoverageFactor ( ) const
inline

◆ getDispatch()

static LVScopeDispatch & llvm::logicalview::LVScope::getDispatch ( )
inlinestatic

Definition at line 313 of file LVScope.h.

Referenced by llvm::logicalview::LVPatterns::LVPatterns().

◆ getEncodedArgs()

virtual StringRef llvm::logicalview::LVScope::getEncodedArgs ( ) const
inlineprotectedvirtual

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

Definition at line 143 of file LVScope.h.

Referenced by printEncodedArgs().

◆ getLines()

const LVLines * llvm::logicalview::LVScope::getLines ( ) const
inline

◆ getLocations()

void LVScope::getLocations ( LVLocations LocationList,
LVValidLocation  ValidLocation,
bool  RecordInvalid = false 
)

◆ getQualifiedName()

void LVScope::getQualifiedName ( std::string &  QualifiedName) const

◆ getRanges() [1/3]

const LVLocations * llvm::logicalview::LVScope::getRanges ( ) const
inline

◆ getRanges() [2/3]

void LVScope::getRanges ( LVLocations LocationList,
LVValidLocation  ValidLocation,
bool  RecordInvalid = false 
)

◆ getRanges() [3/3]

void LVScope::getRanges ( LVRange RangeList)

◆ getReference()

virtual LVScope * llvm::logicalview::LVScope::getReference ( ) const
inlinevirtual

◆ getScopes()

const LVScopes * llvm::logicalview::LVScope::getScopes ( ) const
inline

◆ getSymbols()

const LVSymbols * llvm::logicalview::LVScope::getSymbols ( ) const
inline

◆ getTemplateParameterTypes()

bool LVScope::getTemplateParameterTypes ( LVTypes Params)

◆ getTypes()

const LVTypes * llvm::logicalview::LVScope::getTypes ( ) const
inline

◆ isCompileUnit()

bool llvm::logicalview::LVScope::isCompileUnit ( ) const
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVElement.

Definition at line 199 of file LVScope.h.

◆ isRoot()

bool llvm::logicalview::LVScope::isRoot ( ) const
inlineoverridevirtual

Reimplemented from llvm::logicalview::LVElement.

Definition at line 200 of file LVScope.h.

◆ kind()

const char * LVScope::kind ( ) const
overridevirtual

◆ KIND() [1/8]

llvm::logicalview::LVScope::KIND ( LVScopeKind  ,
IsAggregate   
)

◆ KIND() [2/8]

llvm::logicalview::LVScope::KIND ( LVScopeKind  ,
IsArray   
)

◆ KIND() [3/8]

llvm::logicalview::LVScope::KIND ( LVScopeKind  ,
IsEnumeration   
)

◆ KIND() [4/8]

llvm::logicalview::LVScope::KIND ( LVScopeKind  ,
IsMember   
)

◆ KIND() [5/8]

llvm::logicalview::LVScope::KIND ( LVScopeKind  ,
IsNamespace   
)

◆ KIND() [6/8]

llvm::logicalview::LVScope::KIND ( LVScopeKind  ,
IsTemplate   
)

◆ KIND() [7/8]

llvm::logicalview::LVScope::KIND ( LVScopeKind  ,
IsTemplateAlias   
)

◆ KIND() [8/8]

llvm::logicalview::LVScope::KIND ( LVScopeKind  ,
IsTemplatePack   
)

◆ KIND_1() [1/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsCallSite  ,
IsFunction   
)

◆ KIND_1() [2/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsCatchBlock  ,
IsBlock   
)

◆ KIND_1() [3/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsClass  ,
IsAggregate   
)

◆ KIND_1() [4/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsEntryPoint  ,
IsFunction   
)

◆ KIND_1() [5/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsFunctionType  ,
IsFunction   
)

◆ KIND_1() [6/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsLabel  ,
IsFunction   
)

◆ KIND_1() [7/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsLexicalBlock  ,
IsBlock   
)

◆ KIND_1() [8/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsRoot  ,
TransformName   
)

◆ KIND_1() [9/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsStructure  ,
IsAggregate   
)

◆ KIND_1() [10/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsSubprogram  ,
IsFunction   
)

◆ KIND_1() [11/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsTryBlock  ,
IsBlock   
)

◆ KIND_1() [12/12]

llvm::logicalview::LVScope::KIND_1 ( LVScopeKind  ,
IsUnion  ,
IsAggregate   
)

◆ KIND_2() [1/3]

llvm::logicalview::LVScope::KIND_2 ( LVScopeKind  ,
IsBlock  ,
CanHaveRanges  ,
CanHaveLines   
)

◆ KIND_2() [2/3]

llvm::logicalview::LVScope::KIND_2 ( LVScopeKind  ,
IsFunction  ,
CanHaveRanges  ,
CanHaveLines   
)

◆ KIND_2() [3/3]

llvm::logicalview::LVScope::KIND_2 ( LVScopeKind  ,
IsInlinedFunction  ,
IsFunction  ,
IsInlined   
)

◆ KIND_3()

llvm::logicalview::LVScope::KIND_3 ( LVScopeKind  ,
IsCompileUnit  ,
CanHaveRanges  ,
CanHaveLines  ,
TransformName   
)

◆ lineCount()

size_t llvm::logicalview::LVScope::lineCount ( ) const
inline

Definition at line 231 of file LVScope.h.

References Lines.

Referenced by equalNumberOfChildren().

◆ markMissingParents() [1/2]

void LVScope::markMissingParents ( const LVScope Target,
bool  TraverseChildren 
)
virtual

◆ markMissingParents() [2/2]

void LVScope::markMissingParents ( const LVScopes References,
const LVScopes Targets,
bool  TraverseChildren 
)
static

◆ operator=()

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

◆ outermostParent()

LVScope * LVScope::outermostParent ( LVAddress  Address)

◆ print()

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

◆ printActiveRanges()

void LVScope::printActiveRanges ( raw_ostream OS,
bool  Full = true 
) const
protected

◆ printEncodedArgs()

void LVScope::printEncodedArgs ( raw_ostream OS,
bool  Full 
) const
protected

◆ printExtra()

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

◆ printMatchedElements()

virtual void llvm::logicalview::LVScope::printMatchedElements ( raw_ostream OS,
bool  UseMatchedElements 
)
inlinevirtual

Reimplemented in llvm::logicalview::LVScopeCompileUnit.

Definition at line 318 of file LVScope.h.

Referenced by llvm::logicalview::LVScopeRoot::doPrintMatches().

◆ printSizes()

virtual void llvm::logicalview::LVScope::printSizes ( raw_ostream OS) const
inlineprotectedvirtual

Reimplemented in llvm::logicalview::LVScopeCompileUnit.

Definition at line 139 of file LVScope.h.

Referenced by doPrint().

◆ printSummary()

virtual void llvm::logicalview::LVScope::printSummary ( raw_ostream OS) const
inlineprotectedvirtual

Reimplemented in llvm::logicalview::LVScopeCompileUnit.

Definition at line 140 of file LVScope.h.

Referenced by doPrint().

◆ printWarnings()

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

Reimplemented in llvm::logicalview::LVScopeCompileUnit.

Definition at line 317 of file LVScope.h.

Referenced by doPrint().

◆ PROPERTY() [1/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
AddedMissing   
)

◆ PROPERTY() [2/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
CanHaveLines   
)

◆ PROPERTY() [3/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
CanHaveRanges   
)

◆ PROPERTY() [4/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
HasComdatScopes   
)

◆ PROPERTY() [5/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
HasDiscriminator   
)

◆ PROPERTY() [6/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
HasGlobals   
)

◆ PROPERTY() [7/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
HasLines   
)

◆ PROPERTY() [8/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
HasLocals   
)

◆ PROPERTY() [9/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
HasRanges   
)

◆ PROPERTY() [10/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
HasScopes   
)

◆ PROPERTY() [11/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
HasSymbols   
)

◆ PROPERTY() [12/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
HasTypes   
)

◆ PROPERTY() [13/13]

llvm::logicalview::LVScope::PROPERTY ( Property  ,
IsComdat   
)

◆ rangeCount()

size_t llvm::logicalview::LVScope::rangeCount ( ) const
inline

Definition at line 232 of file LVScope.h.

References Ranges.

◆ removeElement()

bool LVScope::removeElement ( LVElement Element)
overridevirtual

◆ report()

void LVScope::report ( LVComparePass  Pass)
overridevirtual

◆ resolve()

void LVScope::resolve ( )
overridevirtual

◆ resolveElements()

void LVScope::resolveElements ( )

◆ resolveName()

void LVScope::resolveName ( )
overridevirtual

◆ resolveReferences()

void LVScope::resolveReferences ( )
overridevirtual

◆ resolveReferencesChain()

StringRef LVScope::resolveReferencesChain ( )

◆ resolveTemplate()

void LVScope::resolveTemplate ( )
protected

◆ scopeCount()

size_t llvm::logicalview::LVScope::scopeCount ( ) const
inline

Definition at line 233 of file LVScope.h.

References Scopes.

Referenced by equalNumberOfChildren().

◆ setEncodedArgs()

virtual void llvm::logicalview::LVScope::setEncodedArgs ( StringRef  EncodedArgs)
inlineprotectedvirtual

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

Definition at line 144 of file LVScope.h.

Referenced by resolveTemplate().

◆ sort()

void LVScope::sort ( )

◆ symbolCount()

size_t llvm::logicalview::LVScope::symbolCount ( ) const
inline

Definition at line 234 of file LVScope.h.

References Symbols.

Referenced by equalNumberOfChildren().

◆ traverseParentsAndChildren()

void LVScope::traverseParentsAndChildren ( LVObjectGetFunction  GetFunction,
LVObjectSetFunction  SetFunction 
)

◆ typeCount()

size_t llvm::logicalview::LVScope::typeCount ( ) const
inline

Definition at line 235 of file LVScope.h.

References Types.

Referenced by equalNumberOfChildren().

◆ updateLevel()

void LVScope::updateLevel ( LVScope Parent,
bool  Moved 
)
overridevirtual

Member Data Documentation

◆ Children

std::unique_ptr<LVElements> llvm::logicalview::LVScope::Children
protected

◆ Lines

std::unique_ptr<LVLines> llvm::logicalview::LVScope::Lines
protected

◆ Ranges

std::unique_ptr<LVLocations> llvm::logicalview::LVScope::Ranges
protected

◆ Scopes

std::unique_ptr<LVScopes> llvm::logicalview::LVScope::Scopes
protected

◆ Symbols

std::unique_ptr<LVSymbols> llvm::logicalview::LVScope::Symbols
protected

◆ Types

std::unique_ptr<LVTypes> llvm::logicalview::LVScope::Types
protected

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