Class AbstractAssemblyState

java.lang.Object
ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyState
Direct Known Subclasses:
AssemblyConstructState, AssemblyNopState, AssemblyOperandState

public abstract class AbstractAssemblyState extends Object
Base for a node in an assembly prototype
  • Field Details

  • Constructor Details

    • AbstractAssemblyState

      protected AbstractAssemblyState(AbstractAssemblyTreeResolver<?> resolver, List<AssemblyConstructorSemantic> path, int shift, int length)
      Construct a node
      Parameters:
      resolver - the resolver
      path - the path to this node for diagnostics
      shift - the (right) shift in bytes for this operand
      length - the length of this operand
  • Method Details

    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • computeHash

      public abstract int computeHash()
      Pre compute this nodes hash
      Returns:
      the hash
    • equals

      public abstract boolean equals(Object obj)
      Overrides:
      equals in class Object
    • resolve

      Generate machine (partial) code for this node
      Parameters:
      fromRight - the accumulated patterns thus far, from the right sibling or left-most child
      errors - a place to collect error reports
      Returns:
      the stream of generated patterns, as accumulated
    • getResolver

      public AbstractAssemblyTreeResolver<?> getResolver()
    • getPath

      public List<AssemblyConstructorSemantic> getPath()
    • getShift

      public int getShift()
    • getLength

      public int getLength()
      Get the length in bytes of the operand represented by this node
      Returns:
      the length