Package ghidra.program.model.symbol
Interface Namespace
- All Known Subinterfaces:
Function
,GhidraClass
,Library
,ThunkFunction
- All Known Implementing Classes:
FunctionDB
,GlobalNamespace
,UndefinedFunction
public interface Namespace
The Namespace interface
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetBody()
Get the address set for this namespace.long
getID()
Return the namespace idgetName()
Get the name of the symbol for this scopegetName
(boolean includeNamespacePath) Returns the fully qualified nameGet the parent scope.getPathList
(boolean omitLibrary) Get the namespace path as a list of namespace names.Get the symbol for this namespace.boolean
Returns true if this namespace is external (i.e., associated with a Library)default boolean
isGlobal()
Return true if this is the global namespacedefault boolean
Return true if this is a libraryvoid
setParentNamespace
(Namespace parentNamespace) Set the parent namespace for this namespace.
-
Field Details
-
Method Details
-
getSymbol
Symbol getSymbol()Get the symbol for this namespace.- Returns:
- the symbol for this namespace.
-
isExternal
boolean isExternal()Returns true if this namespace is external (i.e., associated with a Library)- Returns:
- true if this namespace is external (i.e., associated with a Library)
-
getName
String getName()Get the name of the symbol for this scope- Returns:
- the name of the symbol for this scope
-
getName
Returns the fully qualified name- Parameters:
includeNamespacePath
- true to include the namespace in the returned name- Returns:
- the fully qualified name
-
getPathList
Get the namespace path as a list of namespace names.- Parameters:
omitLibrary
- if true Library name (if applicable) will be omitted from returned list and treated same as global namespace.- Returns:
- namespace path list or empty list for global namespace
-
getID
long getID()Return the namespace id- Returns:
- the namespace id
-
getParentNamespace
Namespace getParentNamespace()Get the parent scope.- Returns:
- null if this scope is the global scope.
-
getBody
AddressSetView getBody()Get 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.- Returns:
- the address set for this namespace
-
setParentNamespace
void setParentNamespace(Namespace parentNamespace) throws DuplicateNameException, InvalidInputException, CircularDependencyException Set the parent namespace for this namespace. Restrictions may apply.- Parameters:
parentNamespace
- the namespace to use as this namespace's parent.- Throws:
InvalidInputException
- if the parent namespace is not applicable for this namespace.DuplicateNameException
- if another symbol exists in the parent namespace with the same name as this namespaceCircularDependencyException
- if the parent namespace is a descendent of this namespace.
-
isGlobal
default boolean isGlobal()Return true if this is the global namespace- Returns:
- true if this is the global namespace
-
isLibrary
default boolean isLibrary()Return true if this is a library- Returns:
- true if this is a library
-
DELIMITER