Package ghidra.pcode.emu.jit.gen.opnd
Record Class MpIntLocalOpnd
java.lang.Object
java.lang.Record
ghidra.pcode.emu.jit.gen.opnd.MpIntLocalOpnd
- Record Components:
type- the p-code typename- a name (prefix) to use for generated temporary legslegsLE- the legs in little-endian order
- All Implemented Interfaces:
Opnd<JitType.MpIntJitType>
public record MpIntLocalOpnd(JitType.MpIntJitType type, String name, List<? extends SimpleOpnd<Types.TInt,JitType.IntJitType>> legsLE)
extends Record
implements Opnd<JitType.MpIntJitType>
A (usually mutable) multi-precision integer operand
This may be composed of simple mutable and constant operands. The most common cause of constant operands is zero extension. It is also possible the same mutable (local) operand may appear more than once. The most common cause of such duplication is sign extension.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.pcode.emu.jit.gen.opnd.Opnd
Opnd.DoubleToDouble, Opnd.DoubleToFloat, Opnd.DoubleToInt, Opnd.DoubleToLong, Opnd.DoubleToMpInt, Opnd.Ext, Opnd.FloatToDouble, Opnd.FloatToFloat, Opnd.FloatToInt, Opnd.FloatToLong, Opnd.FloatToMpInt, Opnd.IntToDouble, Opnd.IntToFloat, Opnd.IntToInt, Opnd.IntToLong, Opnd.IntToMpInt, Opnd.LongToDouble, Opnd.LongToFloat, Opnd.LongToInt, Opnd.LongToLong, Opnd.LongToMpInt, Opnd.MpIntToDouble, Opnd.MpIntToFloat, Opnd.MpIntToInt, Opnd.MpIntToLong, Opnd.MpIntToMpInt, Opnd.MpToMpConv<FT extends Types.BPrim<?>,FLT extends JitType.SimpleJitType<FT, FLT>, FJT extends JitType.LeggedJitType<FT, FLT>, TT extends Types.BPrim<?>, TLT extends JitType.SimpleJitType<TT, TLT>, TJT extends JitType.LeggedJitType<TT, TLT>>, Opnd.MpToStackConv<FT extends Types.BPrim<?>, FLT extends JitType.SimpleJitType<FT, FLT>, FJT extends JitType.LeggedJitType<FT, FLT>, TT extends Types.BPrim<?>, TJT extends JitType.SimpleJitType<TT, TJT>>, Opnd.OpndEm<T extends JitType, N extends Emitter.Next>, Opnd.StackToMpConv<FT extends Types.BPrim<?>, FJT extends JitType.SimpleJitType<FT, FJT>, TT extends Types.BPrim<?>, TLT extends JitType.SimpleJitType<TT, TLT>, TJT extends JitType.LeggedJitType<TT, TLT>>, Opnd.StackToStackConv<FT extends Types.BPrim<?>, FJT extends JitType.SimpleJitType<FT, FJT>, TT extends Types.BPrim<?>, TJT extends JitType.SimpleJitType<TT, TJT>> -
Constructor Summary
ConstructorsConstructorDescriptionMpIntLocalOpnd(JitType.MpIntJitType type, String name, List<? extends SimpleOpnd<Types.TInt, JitType.IntJitType>> legsLE) Creates an instance of aMpIntLocalOpndrecord class. -
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.List<? extends SimpleOpnd<Types.TInt, JitType.IntJitType>> legsLE()Returns the value of thelegsLErecord component.name()Returns the value of thenamerecord component.static MpIntLocalOpndof(JitType.MpIntJitType type, String name, List<? extends SimpleOpnd<Types.TInt, JitType.IntJitType>> legsLE) Create a multi-precision integer operand from the given legsfinal StringtoString()Returns a string representation of this record class.type()Returns the value of thetyperecord component.
-
Constructor Details
-
MpIntLocalOpnd
public MpIntLocalOpnd(JitType.MpIntJitType type, String name, List<? extends SimpleOpnd<Types.TInt, JitType.IntJitType>> legsLE) Creates an instance of aMpIntLocalOpndrecord class.
-
-
Method Details
-
of
public static MpIntLocalOpnd of(JitType.MpIntJitType type, String name, List<? extends SimpleOpnd<Types.TInt, JitType.IntJitType>> legsLE) Create a multi-precision integer operand from the given legs- Parameters:
type- the p-code typename- the name (prefix) to use for generate temporary legslegsLE- the legs in little-endian order- Returns:
- the 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). -
type
Returns the value of thetyperecord component.- Specified by:
typein interfaceOpnd<JitType.MpIntJitType>- Returns:
- the value of the
typerecord component
-
name
Returns the value of thenamerecord component.- Specified by:
namein interfaceOpnd<JitType.MpIntJitType>- Returns:
- the value of the
namerecord component
-
legsLE
Returns the value of thelegsLErecord component.- Specified by:
legsLEin interfaceOpnd<JitType.MpIntJitType>- Returns:
- the value of the
legsLErecord component
-