Package ghidra.trace.database.symbol
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 ghidra.program.model.symbol.Namespace
Namespace.Type -
Field Summary
FieldsFields inherited from class ghidra.trace.database.symbol.AbstractDBTraceSymbol
manager, parentFields inherited from class ghidra.program.database.DatabaseObject
keyFields inherited from interface ghidra.program.model.symbol.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 ghidra.trace.database.symbol.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 ghidra.util.database.DBAnnotatedObject
doRefresh, doUpdateAll, doUpdated, doWrite, getObjectKey, getTableName, isDeleted, refresh, refresh, update, update, update, updateMethods inherited from class ghidra.program.database.DatabaseObject
checkDeleted, checkIsValid, checkIsValid, getKey, isDeleted, isInvalid, keyChanged, setDeleted, setInvalid, validateMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.program.model.symbol.Namespace
getID, getName, getName, getPathList, getType, isExternal, isLibraryMethods inherited from interface ghidra.program.model.symbol.Symbol
getAddress, getID, getName, getName, getProgram, getProgramLocation, getReferenceCount, getSource, hasReferences, isDeleted, isDescendant, isDynamic, isExternal, isExternalEntryPoint, isValidParent, setName, setNameAndNamespace, setNamespace, setSourceMethods inherited from interface ghidra.trace.model.symbol.TraceNamespaceSymbol
getObject, getParentNamespace, getPath, getSymbol, getTrace, isGlobalMethods inherited from interface ghidra.trace.model.symbol.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
public boolean isPrimary()
-