Class LibrarySymbol

  • All Implemented Interfaces:
    Symbol

    public class LibrarySymbol
    extends SymbolDB
    Class for library symbols. Symbol data usage: String stringData - associated program project file path
    • Constructor Detail

      • LibrarySymbol

        public LibrarySymbol​(SymbolManager symbolMgr,
                             DBObjectCache<SymbolDB> cache,
                             Address address,
                             DBRecord record)
        Constructs a new Library Symbol
        Parameters:
        symbolMgr - the symbol manager
        cache - symbol object cache
        address - the address for this symbol
        record - the record for this symbol
    • Method Detail

      • setName

        public void setName​(java.lang.String newName,
                            SourceType source)
                     throws DuplicateNameException,
                            InvalidInputException
        Description copied from interface: Symbol
        Sets the name this symbol. If this symbol is dynamic, then the name is set and the symbol is no longer dynamic.
        Specified by:
        setName in interface Symbol
        Overrides:
        setName in class SymbolDB
        Parameters:
        newName - the new name for this symbol.
        source - the source of this symbol
        Some symbol types, such as function symbols, can set the source to Symbol.DEFAULT.
        Throws:
        DuplicateNameException - if name already exists as the name of another symbol or alias.
        InvalidInputException - if alias contains blank characters, is zero length, or is null
      • setSymbolStringData

        public void setSymbolStringData​(java.lang.String newPath)
        Description copied from class: SymbolDB
        Sets the symbol's string data field. This field's data has different uses depending on the symbol type and whether or not it is external.
        Overrides:
        setSymbolStringData in class SymbolDB
        Parameters:
        newPath - the string to store in the string data field
      • getSymbolType

        public SymbolType getSymbolType()
        Description copied from interface: Symbol
        Returns this symbol's type
        Returns:
        symbol type
      • isExternal

        public boolean isExternal()
        Description copied from interface: Symbol
        Returns true if this an external symbol.
        Returns:
        true if this an external symbol.
        See Also:
        Address.isExternalAddress()
      • getObject

        public java.lang.Object getObject()
        Returns:
        object associated with this symbol or null if symbol has been deleted
      • isPrimary

        public boolean isPrimary()
        Specified by:
        isPrimary in interface Symbol
        Specified by:
        isPrimary in class SymbolDB
        Returns:
        true if this symbol is primary
      • isValidParent

        public boolean isValidParent​(Namespace parent)
        Description copied from interface: Symbol
        Determines if the given parent is valid for this Symbol. Specified namespace must belong to the same symbol table as this symbol.
        Specified by:
        isValidParent in interface Symbol
        Specified by:
        isValidParent in class SymbolDB
        Parameters:
        parent - prospective parent namespace for this symbol
        Returns:
        true if parent is valid