Package ghidra.app.plugin.assembler.sleigh.sem

# Class AbstractAssemblyStateGenerator.GeneratorContext

java.lang.Object
ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyStateGenerator.GeneratorContext

Enclosing class:
  AbstractAssemblyStateGenerator<N extends AssemblyParseTreeNode>

protected static class AbstractAssemblyStateGenerator.GeneratorContext extends Object
Context to pass along as states are generated

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GeneratorContext(List<AssemblyConstructorSemantic> path, int shift)`
  Construct a context

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `dbg(String string)`
  Print a debug line
  `static String`
  `pathToString(List<AssemblyConstructorSemantic> path)`
  Render the path as a printable string
  `AbstractAssemblyStateGenerator.GeneratorContext`
  `push(AssemblyConstructorSemantic cons, int shift)`
  Construct a context suitable for descent into an operand

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### GeneratorContext

    public GeneratorContext(List<AssemblyConstructorSemantic> path, int shift)
    Construct a context
    Parameters:
      `path` - the path of constructors, for diagnostics
      `shift` - the (right) shift in bytes of the operand whose state is being generated

- ## Method Details

  - ### pathToString

    public static String pathToString(List<AssemblyConstructorSemantic> path)
    Render the path as a printable string
    Parameters:
      `path` - the path
    Returns:
      the string

  - ### push

    public AbstractAssemblyStateGenerator.GeneratorContext push(AssemblyConstructorSemantic cons, int shift)
    Construct a context suitable for descent into an operand
    Parameters:
      `cons` - the parent constructor
      `shift` - the shift offset of the operand
    Returns:
      the context

  - ### dbg

    public void dbg(String string)
    Print a debug line
    Parameters:
      `string` - the message