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 aJitCallOtherDefOprecord class. -
Method Summary
Modifier and TypeMethodDescriptionargs()Returns the value of theargsrecord component.booleanIndicates the operation can be removed if its output is never used.dfState()Returns the value of thedfStaterecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of theinputTypesrecord component.voidlink()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 theoprecord component.out()Returns the value of theoutrecord component.final StringtoString()Returns a string representation of this record class.type()Returns the value of thetyperecord component.voidunlink()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 theuseroprecord component.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods 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 aJitCallOtherDefOprecord class.- Parameters:
op- the value for theoprecord componentout- the value for theoutrecord componenttype- the value for thetyperecord componentuserop- the value for theuseroprecord componentargs- the value for theargsrecord componentinputTypes- the value for theinputTypesrecord componentdfState- the value for thedfStaterecord component
-
-
Method Details
-
canBeRemoved
public boolean canBeRemoved()Description copied from interface:JitOpIndicates the operation can be removed if its output is never used.- Specified by:
canBeRemovedin interfaceJitCallOtherOpIf- Specified by:
canBeRemovedin interfaceJitDefOp- Specified by:
canBeRemovedin interfaceJitOp- Returns:
- true if removable
-
link
public void link()Description copied from interface:JitOpAdd 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:JitOpRemove 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 theoprecord component. -
out
Returns the value of theoutrecord component. -
type
Returns the value of thetyperecord component. -
userop
Returns the value of theuseroprecord component.- Specified by:
useropin interfaceJitCallOtherOpIf- Returns:
- the value of the
useroprecord component
-
args
Returns the value of theargsrecord component.- Specified by:
argsin interfaceJitCallOtherOpIf- Returns:
- the value of the
argsrecord component
-
inputTypes
Returns the value of theinputTypesrecord component.- Specified by:
inputTypesin interfaceJitCallOtherOpIf- Returns:
- the value of the
inputTypesrecord component
-
dfState
Returns the value of thedfStaterecord component.- Specified by:
dfStatein interfaceJitCallOtherOpIf- Returns:
- the value of the
dfStaterecord component
-