Class AssemblyItem

java.lang.Object
com.pnfsoftware.jeb.core.output.text.impl.TextItem
com.pnfsoftware.jeb.core.output.code.AssemblyItem
All Implemented Interfaces:
IActionableItem, IItem, IVisualItem, IActionableTextItem, ITextItem, IVisualTextItem

public class AssemblyItem extends TextItem
Class for code items. Code items are generated by CodeDocument, which are reserved for ICodeUnits. IDs of code items have a special format: the upper-8 bits are used to specify the type of the item. Negative items (those whose upper 8-bits will be 1xxxxxxx) are using reserved types, in the range 0x80-0xFF. When using a well-known type, getItemObject() should return an adequate object, as specified by the contract.

Well-known item types:

  • 0x81: address - the item object should be a Long representing the address
  • 0x82: register - the item object should be a Long whose lower 32-bit are an Integer, representing an index into an IRegisterData
  • 0x83: mnemonic - TO BE DEFINED, DO NOT USE
  • Field Details

    • ITEM_TYPE_ADDRESS

      public static final long ITEM_TYPE_ADDRESS
      Identifier for address items
      See Also:
    • ITEM_TYPE_REGISTER

      public static final long ITEM_TYPE_REGISTER
      Identifier for register items
      See Also:
    • ITEM_TYPE_MNEMONIC

      public static final long ITEM_TYPE_MNEMONIC
      Identifier for mnemonic items
      See Also:
    • ITEM_TYPE_IMMEDIATE

      public static final long ITEM_TYPE_IMMEDIATE
      Identifier for immediate items
      See Also:
    • ITEM_TYPE_LOCAL

      public static final long ITEM_TYPE_LOCAL
      Identifier for local variable items
      See Also:
    • ITEM_TYPE_TYPE

      public static final long ITEM_TYPE_TYPE
      Identifier for types
      See Also:
    • ITEM_TYPE_METHOD

      public static final long ITEM_TYPE_METHOD
      Identifier for method/routine/function objects
      See Also:
    • ITEM_TYPE_STRUCTFIELD

      public static final long ITEM_TYPE_STRUCTFIELD
      Identifier for structures' fields
      See Also:
    • ITEM_TYPE_DATA

      public static final long ITEM_TYPE_DATA
      Identifier for data objects
      See Also:
    • ITEM_TYPE_IDENT

      public static final long ITEM_TYPE_IDENT
      See Also:
    • ITEM_TYPE_CLASS

      public static final long ITEM_TYPE_CLASS
      See Also:
    • ITEM_TYPE_FIELD

      public static final long ITEM_TYPE_FIELD
      Identifier for field objects; do not confuse with ITEM_TYPE_STRUCTFIELD.
      See Also:
    • ITEM_TYPE_PACKAGE

      public static final long ITEM_TYPE_PACKAGE
      Identifier for packages
      See Also:
  • Constructor Details

    • AssemblyItem

      public AssemblyItem(int offset, int length)
    • AssemblyItem

      public AssemblyItem(int offset, int length, ItemClassIdentifiers classId, long itemId, int flags)