Package ghidra.pcode.emu.jit.op

# Interface JitUnOp

All Superinterfaces:
  `JitDefOp`, `JitOp`

All Known Subinterfaces:
  `JitBoolUnOp`, `JitFloatUnOp`, `JitIntUnOp`

All Known Implementing Classes:
  `JitBoolNegateOp`, `JitCopyOp`, `JitFloatAbsOp`, `JitFloatCeilOp`, `JitFloatFloat2FloatOp`, `JitFloatFloorOp`, `JitFloatInt2FloatOp`, `JitFloatNaNOp`, `JitFloatNegOp`, `JitFloatRoundOp`, `JitFloatSqrtOp`, `JitFloatTruncOp`, `JitInt2CompOp`, `JitIntNegateOp`, `JitIntSExtOp`, `JitIntZExtOp`, `JitLzCountOp`, `JitPopCountOp`, `JitSubPieceOp`

public interface JitUnOp extends JitDefOp
A p-code operator use-def node with one input and one output.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default List<JitVal>`
  `inputs()`
  The input operand use-def nodes in some defined order
  `default void`
  `link()`
  Add this op to the `JitVal.uses()` of each input operand, and (if applicable) set the `JitOutVar.definition()` of the output operand to this op.
  `default JitTypeBehavior`
  `typeFor(int position)`
  Get the required type behavior for the input at the given position in `JitOp.inputs()`
  `JitVal`
  `u()`
  The use-def node for the input operand
  `default void`
  `unlink()`
  Remove this op from the `JitVal.uses()` of each input operand, and (if applicable) unset the `JitOutVar.definition()` of the output operand.
  `JitTypeBehavior`
  `uType()`
  The required type behavior for the operand

  ### Methods inherited from interface ghidra.pcode.emu.jit.op.JitDefOp

  `canBeRemoved, out, type`

  ### Methods inherited from interface ghidra.pcode.emu.jit.op.JitOp

  `op`

- ## Method Details

  - ### u

    JitVal u()
    The use-def node for the input operand
    Returns:
      the input

  - ### link

    default void link()
    Description copied from interface: `JitOp`
    Add this op to the `JitVal.uses()` of each input operand, and (if applicable) set the `JitOutVar.definition()` of the output operand to this op.
    Specified by:
      `link` in interface `JitDefOp`
    Specified by:
      `link` in interface `JitOp`

  - ### unlink

    default void unlink()
    Description copied from interface: `JitOp`
    Remove this op from the `JitVal.uses()` of each input operand, and (if applicable) unset the `JitOutVar.definition()` of the output operand.
    Specified by:
      `unlink` in interface `JitDefOp`
    Specified by:
      `unlink` in interface `JitOp`

  - ### inputs

    default List<JitVal> inputs()
    Description copied from interface: `JitOp`
    The input operand use-def nodes in some defined order
    Specified by:
      `inputs` in interface `JitOp`
    Returns:
      the list of inputs

  - ### typeFor

    default JitTypeBehavior typeFor(int position)
    Description copied from interface: `JitOp`
    Get the required type behavior for the input at the given position in `JitOp.inputs()`
    Specified by:
      `typeFor` in interface `JitOp`
    Parameters:
      `position` - the input position
    Returns:
      the behavior

  - ### uType

    JitTypeBehavior uType()
    The required type behavior for the operand
    Returns:
      the behavior