Package ghidra.program.model.symbol
Interface Namespace
-
- All Known Subinterfaces:
Function,GhidraClass,Library,ThunkFunction
- All Known Implementing Classes:
FunctionDB,GlobalNamespace,UndefinedFunction
public interface NamespaceThe Namespace interface
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDELIMITERThe delimiter that is used to separate namespace nodes in a namespace string.static longGLOBAL_NAMESPACE_IDstatic java.lang.StringNAMESPACE_DELIMITERDeprecated.useDELIMITER
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description AddressSetViewgetBody()Get the address set for this namespace.longgetID()Return the namespace idjava.lang.StringgetName()Get the name of the symbol for this scopejava.lang.StringgetName(boolean includeNamespacePath)Returns the fully qualified nameNamespacegetParentNamespace()Get the parent scope.SymbolgetSymbol()Get the symbol for this namespace; Note: The global namespace will return nullbooleanisExternal()Returns true if this namespace is external (i.e., associated with a Library)default booleanisGlobal()Return true if this is the global namespace;voidsetParentNamespace(Namespace parentNamespace)Set the parent namespace for this namespace.
-
-
-
Field Detail
-
GLOBAL_NAMESPACE_ID
static final long GLOBAL_NAMESPACE_ID
- See Also:
- Constant Field Values
-
DELIMITER
static final java.lang.String DELIMITER
The delimiter that is used to separate namespace nodes in a namespace string. For example, "Global::child1::symbolName"- See Also:
- Constant Field Values
-
NAMESPACE_DELIMITER
@Deprecated static final java.lang.String NAMESPACE_DELIMITER
Deprecated.useDELIMITERReplaced byDELIMITER- See Also:
- Constant Field Values
-
-
Method Detail
-
getSymbol
Symbol getSymbol()
Get the symbol for this namespace; Note: The global namespace will return null- Returns:
- the symbol for this namespace; Note: The global namespace will return null
-
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
java.lang.String getName()
Get the name of the symbol for this scope- Returns:
- the name of the symbol for this scope
-
getName
java.lang.String getName(boolean includeNamespacePath)
Returns the fully qualified name- Parameters:
includeNamespacePath- true to include the namespace in the returned name- Returns:
- the fully qualified name
-
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;
-
-