Package ghidra.pcode.emu.jit.var

# Class AbstractJitOutVar

java.lang.Object
ghidra.pcode.emu.jit.var.AbstractJitVal
ghidra.pcode.emu.jit.var.AbstractJitVar
ghidra.pcode.emu.jit.var.AbstractJitVarnodeVar
ghidra.pcode.emu.jit.var.AbstractJitOutVar

All Implemented Interfaces:
  `JitOutVar`, `JitVal`, `JitVar`, `JitVarnodeVar`

Direct Known Subclasses:
  `JitLocalOutVar`, `JitMemoryOutVar`

public abstract class AbstractJitOutVar extends AbstractJitVarnodeVar implements JitOutVar
An abstract implementation of `JitOutVar`.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface ghidra.pcode.emu.jit.var.JitVal

  `JitVal.ValUse`

- ## Field Summary

  ### Fields inherited from class ghidra.pcode.emu.jit.var.AbstractJitVarnodeVar

  `varnode`

  ### Fields inherited from class ghidra.pcode.emu.jit.var.AbstractJitVar

  `id`

  ### Fields inherited from class ghidra.pcode.emu.jit.var.AbstractJitVal

  `size, uses`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractJitOutVar(int id, Varnode varnode)`
  Construct a variable.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JitDefOp`
  `definition()`
  The defining p-code operator node
  `void`
  `setDefinition(JitDefOp definition)`
  Set the defining p-code operator node

  ### Methods inherited from class ghidra.pcode.emu.jit.var.AbstractJitVarnodeVar

  `space, toString, varnode`

  ### Methods inherited from class ghidra.pcode.emu.jit.var.AbstractJitVar

  `id`

  ### Methods inherited from class ghidra.pcode.emu.jit.var.AbstractJitVal

  `addUse, removeUse, size, uses`

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

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

  ### Methods inherited from interface ghidra.pcode.emu.jit.var.JitVal

  `addUse, removeUse, uses`

  ### Methods inherited from interface ghidra.pcode.emu.jit.var.JitVar

  `id, space`

  ### Methods inherited from interface ghidra.pcode.emu.jit.var.JitVarnodeVar

  `size, varnode`

- ## Constructor Details

  - ### AbstractJitOutVar

    public AbstractJitOutVar(int id, Varnode varnode)
    Construct a variable.
    Parameters:
      `id` - the unique id
      `varnode` - the varnode

- ## Method Details

  - ### setDefinition

    public void setDefinition(JitDefOp definition)
    Description copied from interface: `JitOutVar`
    Set the defining p-code operator node
    Specified by:
      `setDefinition` in interface `JitOutVar`
    Parameters:
      `definition` - the defining node

  - ### definition

    public JitDefOp definition()
    Description copied from interface: `JitOutVar`
    The defining p-code operator node

    This should "never" be null. The only exception is the short interim between constructing the node and setting its definition. Once this variable has been entered into the use-def graph, the definition should be non-null and final.

    Specified by:
      `definition` in interface `JitOutVar`
    Returns:
      the defining node