Package ghidra.pcode.emu.jit.op
Record Class JitCallOtherDefOp
java.lang.Object
java.lang.Record
ghidra.pcode.emu.jit.op.JitCallOtherDefOp
- Record Components:
op
- the p-code opout
- the use-def variable node for the outputtype
- the behavior of the outputuserop
- the userop definitionargs
- the list of use-def values nodes given as argumentsinputTypes
- the type behavior for each parameterdfState
- the captured data flow state at the call site
- All Implemented Interfaces:
JitCallOtherOpIf
,JitDefOp
,JitOp
public record JitCallOtherDefOp(PcodeOp op, JitOutVar out, JitTypeBehavior type, PcodeUseropLibrary.PcodeUseropDefinition<Object> userop, List<JitVal> args, List<JitTypeBehavior> inputTypes, JitDataFlowState.MiniDFState dfState)
extends Record
implements JitCallOtherOpIf, JitDefOp
The use-def node for a
PcodeOp.CALLOTHER
with an output operand.-
Constructor Summary
ConstructorsConstructorDescriptionJitCallOtherDefOp
(PcodeOp op, JitOutVar out, JitTypeBehavior type, PcodeUseropLibrary.PcodeUseropDefinition<Object> userop, List<JitVal> args, List<JitTypeBehavior> inputTypes, JitDataFlowState.MiniDFState dfState) Creates an instance of aJitCallOtherDefOp
record class. -
Method Summary
Modifier and TypeMethodDescriptionargs()
Returns the value of theargs
record component.boolean
Indicates the operation can be removed if its output is never used.dfState()
Returns the value of thedfState
record component.final boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.Returns the value of theinputTypes
record component.void
link()
Add this op to theJitVal.uses()
of each input operand, and (if applicable) set theJitOutVar.definition()
of the output operand to this op.op()
Returns the value of theop
record component.out()
Returns the value of theout
record component.final String
toString()
Returns a string representation of this record class.type()
Returns the value of thetype
record component.void
unlink()
Remove this op from theJitVal.uses()
of each input operand, and (if applicable) unset theJitOutVar.definition()
of the output operand.userop()
Returns the value of theuserop
record component.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ghidra.pcode.emu.jit.op.JitCallOtherOpIf
inputs, typeFor
-
Constructor Details
-
JitCallOtherDefOp
public JitCallOtherDefOp(PcodeOp op, JitOutVar out, JitTypeBehavior type, PcodeUseropLibrary.PcodeUseropDefinition<Object> userop, List<JitVal> args, List<JitTypeBehavior> inputTypes, JitDataFlowState.MiniDFState dfState) Creates an instance of aJitCallOtherDefOp
record class.- Parameters:
op
- the value for theop
record componentout
- the value for theout
record componenttype
- the value for thetype
record componentuserop
- the value for theuserop
record componentargs
- the value for theargs
record componentinputTypes
- the value for theinputTypes
record componentdfState
- the value for thedfState
record component
-
-
Method Details
-
canBeRemoved
public boolean canBeRemoved()Description copied from interface:JitOp
Indicates the operation can be removed if its output is never used.- Specified by:
canBeRemoved
in interfaceJitCallOtherOpIf
- Specified by:
canBeRemoved
in interfaceJitDefOp
- Specified by:
canBeRemoved
in interfaceJitOp
- Returns:
- true if removable
-
link
public void link()Description copied from interface:JitOp
Add this op to theJitVal.uses()
of each input operand, and (if applicable) set theJitOutVar.definition()
of the output operand to this op. -
unlink
public void unlink()Description copied from interface:JitOp
Remove this op from theJitVal.uses()
of each input operand, and (if applicable) unset theJitOutVar.definition()
of the output operand. -
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. -
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. -
equals
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 withObjects::equals(Object,Object)
. -
op
Returns the value of theop
record component. -
out
Returns the value of theout
record component. -
type
Returns the value of thetype
record component. -
userop
Returns the value of theuserop
record component.- Specified by:
userop
in interfaceJitCallOtherOpIf
- Returns:
- the value of the
userop
record component
-
args
Returns the value of theargs
record component.- Specified by:
args
in interfaceJitCallOtherOpIf
- Returns:
- the value of the
args
record component
-
inputTypes
Returns the value of theinputTypes
record component.- Specified by:
inputTypes
in interfaceJitCallOtherOpIf
- Returns:
- the value of the
inputTypes
record component
-
dfState
Returns the value of thedfState
record component.- Specified by:
dfState
in interfaceJitCallOtherOpIf
- Returns:
- the value of the
dfState
record component
-