Enum Class SymbolType

java.lang.Object
java.lang.Enum<SymbolType>
com.pnfsoftware.jeb.core.units.codeobject.SymbolType
All Implemented Interfaces:
Serializable, Comparable<SymbolType>, Constable

@Ser public enum SymbolType extends Enum<SymbolType>
Enumeration of common types of symbols used in code objects.
  • Enum Constant Details

    • UNKNOWN

      public static final SymbolType UNKNOWN
      Unknown symbol type.
    • NOTYPE

      public static final SymbolType NOTYPE
      Symbol without a specific type.
    • FILE

      public static final SymbolType FILE
      File symbol.
    • SEGMENT

      public static final SymbolType SEGMENT
      Segment symbol.
    • SECTION

      public static final SymbolType SECTION
      Section symbol.
    • OBJECT

      public static final SymbolType OBJECT
      Object symbol.
    • VARIABLE

      public static final SymbolType VARIABLE
      Variable symbol.
    • FUNCTION

      public static final SymbolType FUNCTION
      Function symbol.
    • PTROBJECT

      public static final SymbolType PTROBJECT
      Pointer-to-object symbol.
    • PTRVARIABLE

      public static final SymbolType PTRVARIABLE
      Pointer-to-variable symbol.
    • PTRFUNCTION

      public static final SymbolType PTRFUNCTION
      Pointer-to-function symbol.
    • FORWARDED_FUNCTION

      public static final SymbolType FORWARDED_FUNCTION
      Forwarded function symbol.
    • EXTERN_FUNCTION

      public static final SymbolType EXTERN_FUNCTION
      Routine defined in another file. Used only in object files (files processed by linkers, e.g. relocatable ELF).
    • EXTERN_DATA

      public static final SymbolType EXTERN_DATA
      Data defined in another file. Used only in object files (files processed by linkers, e.g. relocatable ELF).
    • CODE

      public static final SymbolType CODE
      Informative: code should be defined, but not necessarily the beginning of a function (symbol can be defined in the middle of a function)
    • FUNCTION_MAYBE

      public static final SymbolType FUNCTION_MAYBE
      Similar to FUNCTION but with a degree of uncertainty: the symbol is likely to represent a routine, but it may not be. Can be seen as a combination of FUNCTION + UNKNOWN, weighted in favor of FUNCTION.
  • Method Details

    • values

      public static SymbolType[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static SymbolType valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isExtern

      public boolean isExtern()
      Determine whether this symbol type represents an external symbol.
      Returns:
      true for external symbol types