Record Class JitCatenateOp
java.lang.Object
java.lang.Record
ghidra.pcode.emu.jit.op.JitCatenateOp
- Record Components:
out- the use-def variable node for the outputparts- the inputs to be concatenated
- All Implemented Interfaces:
JitDefOp, JitOp, JitSyntheticOp
public record JitCatenateOp(JitOutVar out, List<JitVal> parts)
extends Record
implements JitDefOp, JitSyntheticOp
The synthetic use-def node for concatenation.
These are synthesized when memory/register access patterns cause multiple use-def variable nodes
to be "read" at the same time. E.g., consider AL and AH to be written and then
AX read.
-
Constructor Summary
ConstructorsConstructorDescriptionJitCatenateOp(JitOutVar out, List<JitVal> parts) Compact constructor for validation -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.inputs()The input operand use-def nodes in some defined orderiterParts(boolean bigEndian) Iterate over the parts from most to least significantvoidlink()Add this op to theJitVal.uses()of each input operand, and (if applicable) set theJitOutVar.definition()of the output operand to this op.out()Returns the value of theoutrecord component.parts()Returns the value of thepartsrecord component.partType()We'd like every part to be anint.final StringtoString()Returns a string representation of this record class.type()The required type behavior for the outputtypeFor(int position) Get the required type behavior for the input at the given position inJitOp.inputs()voidunlink()Remove this op from theJitVal.uses()of each input operand, and (if applicable) unset theJitOutVar.definition()of the output operand.Methods inherited from interface JitDefOp
canBeRemovedMethods inherited from interface JitSyntheticOp
op
-
Constructor Details
-
JitCatenateOp
-
-
Method Details
-
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. -
iterParts
-
inputs
-
typeFor
Description copied from interface:JitOpGet the required type behavior for the input at the given position inJitOp.inputs() -
partType
We'd like every part to be anint.- Returns:
JitTypeBehavior.INTEGER
-
type
Description copied from interface:JitDefOpThe required type behavior for the output -
toString
-
hashCode
-
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). -
out
-
parts
-