Package ghidra.pcode.emu.jit.op

# Record Class JitLoadOp

java.lang.Object
java.lang.Record
ghidra.pcode.emu.jit.op.JitLoadOp

Record Components:
  `op` - the p-code op
  `out` - the use-def variable node for the output
  `space` - the address space
  `offset` - the use-def node for the offset

All Implemented Interfaces:
  `JitDefOp`, `JitOp`

public record JitLoadOp(PcodeOp op, JitOutVar out, AddressSpace space, JitVal offset) extends Record implements JitDefOp
The use-def node for a `PcodeOp.LOAD`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JitLoadOp(PcodeOp op, JitOutVar out, AddressSpace space, JitVal offset)`
  Creates an instance of a `JitLoadOp` record class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final boolean`
  `equals(Object o)`
  Indicates whether some other object is "equal to" this one.
  `final int`
  `hashCode()`
  Returns a hash code value for this object.
  `List<JitVal>`
  `inputs()`
  The input operand use-def nodes in some defined order
  `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.
  `JitVal`
  `offset()`
  Returns the value of the `offset` record component.
  `JitTypeBehavior`
  `offsetType()`
  We'd like the offset to be an `int`.
  `PcodeOp`
  `op()`
  Returns the value of the `op` record component.
  `JitOutVar`
  `out()`
  Returns the value of the `out` record component.
  `AddressSpace`
  `space()`
  Returns the value of the `space` record component.
  `final String`
  `toString()`
  Returns a string representation of this record class.
  `JitTypeBehavior`
  `type()`
  The required type behavior for the output
  `JitTypeBehavior`
  `typeFor(int position)`
  Get the required type behavior for the input at the given position in `JitOp.inputs()`
  `void`
  `unlink()`
  Remove this op from the `JitVal.uses()` of each input operand, and (if applicable) unset the `JitOutVar.definition()` of the output operand.

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

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

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

  `canBeRemoved`

- ## Constructor Details

  - ### JitLoadOp

    public JitLoadOp(PcodeOp op, JitOutVar out, AddressSpace space, JitVal offset)
    Creates an instance of a `JitLoadOp` record class.
    Parameters:
      `op` - the value for the `op` record component
      `out` - the value for the `out` record component
      `space` - the value for the `space` record component
      `offset` - the value for the `offset` record component

- ## Method Details

  - ### link

    public 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

    public 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

    public 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

    public 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

  - ### offsetType

    public JitTypeBehavior offsetType()
    We'd like the offset to be an `int`.
    Returns:
      `JitTypeBehavior.INTEGER`

  - ### type

    public JitTypeBehavior type()
    Description copied from interface: `JitDefOp`
    The required type behavior for the output
    Specified by:
      `type` in interface `JitDefOp`
    Returns:
      the behavior

  - ### toString

    public final String toString()
    Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
    Specified by:
      `toString` in class `Record`
    Returns:
      a string representation of this object

  - ### hashCode

    public final int hashCode()
    Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
    Specified by:
      `hashCode` in class `Record`
    Returns:
      a hash code value for this object

  - ### equals

    public final boolean equals(Object o)
    Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with `Objects::equals(Object,Object)`.
    Specified by:
      `equals` in class `Record`
    Parameters:
      `o` - the object with which to compare
    Returns:
      `true` if this object is the same as the `o` argument; `false` otherwise.

  - ### op

    public PcodeOp op()
    Returns the value of the `op` record component.
    Specified by:
      `op` in interface `JitOp`
    Returns:
      the value of the `op` record component

  - ### out

    public JitOutVar out()
    Returns the value of the `out` record component.
    Specified by:
      `out` in interface `JitDefOp`
    Returns:
      the value of the `out` record component

  - ### space

    public AddressSpace space()
    Returns the value of the `space` record component.
    Returns:
      the value of the `space` record component

  - ### offset

    public JitVal offset()
    Returns the value of the `offset` record component.
    Returns:
      the value of the `offset` record component