Package ghidra.program.database.symbol
Class LibrarySymbol
- java.lang.Object
-
- ghidra.program.database.DatabaseObject
-
- ghidra.program.database.symbol.SymbolDB
-
- ghidra.program.database.symbol.LibrarySymbol
-
-
Constructor Summary
Constructors Constructor Description LibrarySymbol(SymbolManager symbolMgr, DBObjectCache<SymbolDB> cache, Address address, Record record)
Constructs a new Library Symbol
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
getObject()
ProgramLocation
getProgramLocation()
SymbolType
getSymbolType()
Returns the symbol typeboolean
isExternal()
Returns true if this an external symbol.boolean
isPrimary()
boolean
isValidParent(Namespace parent)
Returns whether the given parent is valid for this Symbol.void
setName(java.lang.String newName, SourceType source)
Sets the name this symbol.void
setNameAndNamespace(java.lang.String newName, Namespace newNamespace, SourceType source)
Sets the symbols name and namespace.void
setSymbolData3(java.lang.String newPath)
-
Methods inherited from class ghidra.program.database.symbol.SymbolDB
delete, doIsPinned, doSetPinned, equals, getAddress, getID, getName, getName, getParentNamespace, getParentSymbol, getPath, getProgram, getReferenceCount, getReferences, getReferences, getSource, getSymbolData1, getSymbolData2, getSymbolData3, getSymbolsDynamicallyRenamedByMyRename, hashCode, hasMultipleReferences, hasReferences, isDeleting, isDescendant, isDynamic, isExternalEntryPoint, isGlobal, isPinned, move, refresh, refresh, removeAllReferencesTo, setAddress, setNamespace, setPinned, setPrimary, setSource, setSymbolData1, setSymbolData2, toString, validateNameSource
-
Methods inherited from class ghidra.program.database.DatabaseObject
checkDeleted, checkIsValid, checkIsValid, getKey, isDeleted, isInvalid, keyChanged, setInvalid, validate
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ghidra.program.model.symbol.Symbol
checkIsValid
-
-
-
-
Constructor Detail
-
LibrarySymbol
public LibrarySymbol(SymbolManager symbolMgr, DBObjectCache<SymbolDB> cache, Address address, Record record)
Constructs a new Library Symbol- Parameters:
symbolMgr
- the symbol managercache
- symbol object cacheaddress
- the address for this symbolrecord
- the record for this symbol
-
-
Method Detail
-
setName
public void setName(java.lang.String newName, SourceType source) throws DuplicateNameException, InvalidInputException
Description copied from interface:Symbol
Sets the name this symbol. If this symbol is dynamic, then the name is set and the symbol is no longer dynamic.- Specified by:
setName
in interfaceSymbol
- Overrides:
setName
in classSymbolDB
- Parameters:
newName
- the new name for this symbol.source
- the source of this symbol
Some symbol types, such as function symbols, can set the source to Symbol.DEFAULT.- Throws:
DuplicateNameException
- if name already exists as the name of another symbol or alias.InvalidInputException
- if alias contains blank characters, is zero length, or is null
-
setNameAndNamespace
public void setNameAndNamespace(java.lang.String newName, Namespace newNamespace, SourceType source) throws DuplicateNameException, InvalidInputException, CircularDependencyException
Description copied from interface:Symbol
Sets the symbols name and namespace. This is provided to allow the caller to avoid a name conflict by creating an autonomous action.- Specified by:
setNameAndNamespace
in interfaceSymbol
- Overrides:
setNameAndNamespace
in classSymbolDB
- Parameters:
newName
- new symbol namenewNamespace
- new parent namespacesource
- the source of this symbol
Some symbol types, such as function symbols, can set the source to Symbol.DEFAULT.- Throws:
DuplicateNameException
- if newNamespace already contains a symbol with this symbol's nameInvalidInputException
- is newNamespace is not a valid parent for this symbolCircularDependencyException
- if this symbol is an ancestor of newNamespace
-
setSymbolData3
public void setSymbolData3(java.lang.String newPath)
- Overrides:
setSymbolData3
in classSymbolDB
- See Also:
ghidra.program.model.symbol.Symbol#setSymbolData3(java.lang.String)
-
getSymbolType
public SymbolType getSymbolType()
Description copied from interface:Symbol
Returns the symbol type- See Also:
Symbol.getSymbolType()
-
isExternal
public boolean isExternal()
Description copied from interface:Symbol
Returns true if this an external symbol.- Returns:
- true if this an external symbol.
- See Also:
Address.isExternalAddress()
-
getObject
public java.lang.Object getObject()
- See Also:
Symbol.getObject()
-
isPrimary
public boolean isPrimary()
- Specified by:
isPrimary
in interfaceSymbol
- Specified by:
isPrimary
in classSymbolDB
- See Also:
Symbol.isPrimary()
-
getProgramLocation
public ProgramLocation getProgramLocation()
- See Also:
Symbol.getProgramLocation()
-
isValidParent
public boolean isValidParent(Namespace parent)
Description copied from interface:Symbol
Returns whether the given parent is valid for this Symbol.- Specified by:
isValidParent
in interfaceSymbol
- Specified by:
isValidParent
in classSymbolDB
- See Also:
Symbol.isValidParent(ghidra.program.model.symbol.Namespace)
-
-