Package ghidra.pcode.emu.jit.analysis
Interface JitType.LeggedJitType<T extends Types.BPrim<?>,LT extends JitType.SimpleJitType<T,LT>>
- Type Parameters:
T- the JVM type of each legLT- the p-code type of each leg
- All Superinterfaces:
JitType
- All Known Subinterfaces:
JitType.SimpleJitType<T,JT>
- All Known Implementing Classes:
JitType.DoubleJitType,JitType.FloatJitType,JitType.IntJitType,JitType.LongJitType,JitType.MpFloatJitType,JitType.MpIntJitType
- Enclosing interface:
JitType
public static interface JitType.LeggedJitType<T extends Types.BPrim<?>,LT extends JitType.SimpleJitType<T,LT>>
extends JitType
A type comprising of legs, each of simple type
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.pcode.emu.jit.analysis.JitType
JitType.DoubleJitType, JitType.FloatJitType, JitType.IntJitType, JitType.LeggedJitType<T extends Types.BPrim<?>,LT extends JitType.SimpleJitType<T, LT>>, JitType.LongJitType, JitType.MpFloatJitType, JitType.MpIntJitType, JitType.SimpleJitType<T extends Types.BPrim<?>, JT extends JitType.SimpleJitType<T, JT>> -
Method Summary
Modifier and TypeMethodDescriptiondefault List<SimpleOpnd<T, LT>> castLegsLE(Opnd<? extends JitType.LeggedJitType<?, ?>> opnd) Cast the given operand's legs as having this type's leg type.Get the p-code type that describes the part of the variable in each leg
-
Method Details
-
legTypesBE
Description copied from interface:JitTypeGet the p-code type that describes the part of the variable in each legEach whole leg will have the type
JitType.IntJitType.I4, and the partial leg, if applicable, will have its appropriate smaller integer type.- Specified by:
legTypesBEin interfaceJitType- Returns:
- the list of types, each fitting in a JVM int, in big-endian order.
-
castLegsLE
Cast the given operand's legs as having this type's leg type.This is (sadly) necessary because of the loss of type information in
Opndwhen it has a legged type.- Parameters:
opnd- the operand whose legs to cast- Returns:
- the legs in little-endian order.
-