Package ghidra.pcode.emu.jit.analysis
Interface JitType.SimpleJitType<T extends Types.BPrim<?>,JT extends JitType.SimpleJitType<T,JT>>
- Type Parameters:
T- the JVM type for this JIT typeJT- this JIT type (recursive)
- All Superinterfaces:
JitType,JitType.LeggedJitType<T,JT>
- All Known Implementing Classes:
JitType.DoubleJitType,JitType.FloatJitType,JitType.IntJitType,JitType.LongJitType
- Enclosing interface:
JitType
public static interface JitType.SimpleJitType<T extends Types.BPrim<?>,JT extends JitType.SimpleJitType<T,JT>>
extends JitType.LeggedJitType<T,JT>
A p-code type that can be represented in a single JVM variable.
-
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 TypeMethodDescriptionasInt()Re-apply theintegerbehavior to this typebType()The JVM type of the variable that can represent a p-code variable of this typeext()Extend this p-code type to the p-code type that fills its entire host JVM type.static <T extends Types.BPrim<?>,JT extends JitType.SimpleJitType<T, JT>>
JTforJavaType(Class<?> cls) Identify the p-code type that is exactly represented by the given JVM type.Methods inherited from interface ghidra.pcode.emu.jit.analysis.JitType
legTypesLE, nm, pref, sizeMethods inherited from interface ghidra.pcode.emu.jit.analysis.JitType.LeggedJitType
castLegsLE, legTypesBE
-
Method Details
-
forJavaType
static <T extends Types.BPrim<?>,JT extends JitType.SimpleJitType<T, JT forJavaTypeJT>> (Class<?> cls) Identify the p-code type that is exactly represented by the given JVM type.This is used during Direct userop invocation to convert the arguments and return value.
- Parameters:
cls- the primitive class (not boxed)- Returns:
- the p-code type
- See Also:
-
bType
T bType()The JVM type of the variable that can represent a p-code variable of this type- Returns:
- the primitive type (not boxed)
-
asInt
JitType.SimpleJitType<?,?> asInt()Re-apply theintegerbehavior to this typeThis may be slightly faster than
JitTypeBehavior.INTEGER.resolve(this), because each type can pick its int type directly, and integer types can just returnthis.- Returns:
- this type as an int
-
ext
JitType.SimpleJitType<T,JT> ext()Description copied from interface:JitType
-