Package ghidra.pcode.emu.jit.var

# Interface JitOutVar

All Superinterfaces:
  `JitVal`, `JitVar`, `JitVarnodeVar`

All Known Implementing Classes:
  `AbstractJitOutVar`, `JitLocalOutVar`, `JitMemoryOutVar`

public interface JitOutVar extends JitVarnodeVar
A p-code variable node with a defining p-code op.

- ## Nested Class Summary

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

  `JitVal.ValUse`

- ## 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 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`

- ## Method Details

  - ### setDefinition

    void setDefinition(JitDefOp definition)
    Set the defining p-code operator node
    Parameters:
      `definition` - the defining node

  - ### definition

    JitDefOp definition()
    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.

    Returns:
      the defining node