Class DBTraceNamespaceSymbol
java.lang.Object
ghidra.program.database.DatabaseObject
ghidra.util.database.DBAnnotatedObject
ghidra.trace.database.symbol.AbstractDBTraceSymbol
ghidra.trace.database.symbol.DBTraceNamespaceSymbol
- All Implemented Interfaces:
Namespace, Symbol, DBTraceOverlaySpaceAdapter.DecodesAddresses, TraceNamespaceSymbol, TraceSymbol
- Direct Known Subclasses:
DBTraceClassSymbol
-
Nested Class Summary
Nested classes/interfaces inherited from interface Namespace
Namespace.Type -
Field Summary
FieldsFields inherited from class AbstractDBTraceSymbol
manager, parentFields inherited from class DatabaseObject
keyFields inherited from interface Namespace
DELIMITER, GLOBAL_NAMESPACE_ID, NAMESPACE_DELIMITER -
Constructor Summary
ConstructorsConstructorDescriptionDBTraceNamespaceSymbol(DBTraceSymbolManager manager, DBCachedObjectStore<?> store, DBRecord record) -
Method Summary
Modifier and TypeMethodDescriptionprotected DBTraceNamespaceSymbolcheckCircular(DBTraceNamespaceSymbol newParent) booleandelete()Delete the symbol and its associated resources.protected voidgetBody()Get the address set for this namespace.Collection<? extends AbstractDBTraceSymbol> Get the children of this namespaceReturns this symbol's typebooleanvoidsetParentNamespace(Namespace parentNamespace) Set the parent namespace for this namespace.booleanSets this symbol to be primary.Methods inherited from class AbstractDBTraceSymbol
assertIsNamespace, assertNotGlobal, doCollectAddressSet, doDelete, doSetNameWithEvent, doSetParent, doSetSource, doSetSourceWithEvent, equals, fresh, getAddress, getAddressSpace, getID, getName, getName, getOverlaySpaceAdapter, getParentNamespace, getParentSymbol, getPath, getProgram, getProgramLocation, getRanges, getReferenceCollection, getReferenceCount, getReferences, getReferences, getSource, getThread, getTrace, hashCode, hasReferences, isDescendant, isDynamic, isExternal, isGlobal, isPinned, isValidParent, set, setName, setNameAndNamespace, setNamespace, setPinned, setSource, toString, validateNameAndParent, validateNameAndSourceMethods inherited from class DBAnnotatedObject
doRefresh, doUpdateAll, doUpdated, doWrite, getObjectKey, getTableName, isDeleted, refresh, refresh, update, update, update, updateMethods inherited from class DatabaseObject
checkDeleted, checkIsValid, checkIsValid, getKey, isDeleted, isInvalid, keyChanged, setDeleted, setInvalid, validateMethods inherited from interface Namespace
getID, getName, getName, getPathList, getType, isExternal, isLibraryMethods inherited from interface Symbol
getAddress, getID, getName, getName, getProgram, getProgramLocation, getReferenceCount, getSource, hasReferences, isDeleted, isDescendant, isDynamic, isExternal, isExternalEntryPoint, isValidParent, setName, setNameAndNamespace, setNamespace, setSourceMethods inherited from interface TraceNamespaceSymbol
getObject, getParentNamespace, getPath, getSymbol, getTrace, isGlobalMethods inherited from interface TraceSymbol
getParentSymbol, getReferenceCollection, getReferences, getReferences, getThread, isPinned, setPinned
-
Field Details
-
TABLE_NAME
- See Also:
-
allAddresses
-
-
Constructor Details
-
DBTraceNamespaceSymbol
public DBTraceNamespaceSymbol(DBTraceSymbolManager manager, DBCachedObjectStore<?> store, DBRecord record)
-
-
Method Details
-
checkCircular
protected DBTraceNamespaceSymbol checkCircular(DBTraceNamespaceSymbol newParent) throws CircularDependencyException - Overrides:
checkCircularin classAbstractDBTraceSymbol- Throws:
CircularDependencyException
-
getLifespan
- Overrides:
getLifespanin classAbstractDBTraceSymbol
-
getAddressSet
- Overrides:
getAddressSetin classAbstractDBTraceSymbol
-
getSymbolType
Description copied from interface:SymbolReturns this symbol's type- Specified by:
getSymbolTypein interfaceSymbol- Returns:
- symbol type
-
getBody
Description copied from interface:NamespaceGet the address set for this namespace. Note: The body of a namespace (currently only used by the function namespace) is restricted it Integer.MAX_VALUE. -
setParentNamespace
public void setParentNamespace(Namespace parentNamespace) throws DuplicateNameException, InvalidInputException, CircularDependencyException Description copied from interface:NamespaceSet the parent namespace for this namespace. Restrictions may apply.- Specified by:
setParentNamespacein interfaceNamespace- Parameters:
parentNamespace- the namespace to use as this namespace's parent.- Throws:
DuplicateNameException- if another symbol exists in the parent namespace with the same name as this namespaceInvalidInputException- if the parent namespace is not applicable for this namespace.CircularDependencyException- if the parent namespace is a descendant of this namespace.
-
setPrimary
public boolean setPrimary()Description copied from interface:SymbolSets this symbol to be primary. All other symbols at the same address will be set to !primary. Only applies to non-function symbols.- Specified by:
setPrimaryin interfaceSymbol- Returns:
- returns true if the symbol was not primary and now it is, otherwise false
-
getChildren
Description copied from interface:TraceNamespaceSymbolGet the children of this namespace- Specified by:
getChildrenin interfaceTraceNamespaceSymbol- Returns:
- the children
-
delete
public boolean delete()Description copied from interface:SymbolDelete the symbol and its associated resources. Any references symbol associations will be discarded.- Specified by:
deletein interfaceSymbol- Overrides:
deletein classAbstractDBTraceSymbol- Returns:
- true if successful
-
doGetPath
-
isPrimary
-