Interface Namespace

All Known Subinterfaces:
Function, GhidraClass, Library, ThunkFunction
All Known Implementing Classes:
FunctionDB, GlobalNamespace, UndefinedFunction

public interface Namespace
The Namespace interface
  • 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

      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
    • getPathList

      default List<String> getPathList(boolean omitLibrary)
      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 namespace
      CircularDependencyException - 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