LLVM: llvm::logicalview::LVScope Class Reference (original) (raw)

Public Member Functions

LVScope ()

LVScope (const LVScope &)=delete

LVScope &

operator= (const LVScope &)=delete

~LVScope () override=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)

KIND_2 (LVScopeKind, IsModule, CanHaveRanges, CanHaveLines)

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 char *

kind () const override

const LVLines *

getLines () const

const LVLocations *

getRanges () const

const LVScopes *

getScopes () const

const LVSymbols *

getSymbols () const

const LVTypes *

getTypes () const

LVElementsView

getChildren () const

LVElements

getSortedChildren (LVSortFunction SortFunction=llvm::logicalview::getSortFunction()) 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

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

LVScope *

outermostParent (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 LVScope *

getReference () const

LVScope *

getCompileUnitParent () const override

StringRef

resolveReferencesChain ()

bool

removeElement (LVElement *Element) override

void

updateLevel (LVScope *Parent, bool Moved) override

uint32_t

getBitSize () const override

void

setBitSize (uint32_t Size) 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 LVScope *

findEqualScope (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)

Public Member Functions inherited from llvm::logicalview::LVElement

LVElement (LVSubclassID ID)

LVElement (const LVElement &)=delete

LVElement &

operator= (const LVElement &)=delete

~LVElement () override=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 LVSourceLanguage

getSourceLanguage () const

virtual void

setSourceLanguage (LVSourceLanguage SL)

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

uint32_t

getStorageSizeInBytes () const

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, unsigned >

getBounds () 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_t >

getAccessibilityCode (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_t >

getVirtualityCode (codeview::MethodKind Virtuality)

void

setVirtualityCode (codeview::MethodKind Virtuality)

StringRef

externalString () const

LVElement *

getType () const

LVType *

getTypeAsType () const

LVScope *

getTypeAsScope () const

void

setType (LVElement *Element=nullptr)

void

setGenericType (LVElement *Element)

StringRef

getTypeQualifiedName () const

StringRef

typeAsString () const

std::string

typeOffsetAsString () const

std::string

discriminatorAsString () const

LVScope *

traverseParents (LVScopeGetFunction GetFunction) const

LVScope *

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

resolveExtra ()

void

resolveParents ()

bool

referenceMatch (const LVElement *Element) const

bool

equals (const LVElement *Element) const

Public Member Functions inherited from llvm::logicalview::LVObject

LVObject ()

LVObject &

operator= (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)

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)

LVElement *

getParent () const

LVScope *

getParentScope () const

LVSymbol *

getParentSymbol () 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)

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

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

Definition at line 75 of file LVScope.h.