public class Types extends Object
Modifier and Type | Field and Description |
---|---|
static byte |
T_ARRAY |
static byte |
T_BOOLEAN |
static byte |
T_BYTE |
static byte |
T_CHAR |
static byte |
T_DOUBLE |
static byte |
T_FLOAT |
static byte |
T_INT |
static byte |
T_LONG |
static byte |
T_NONE |
static byte |
T_REFERENCE |
static byte |
T_SHORT |
static byte |
T_VOID |
Constructor and Description |
---|
Types() |
Modifier and Type | Method and Description |
---|---|
static String |
asTypeName(String type) |
static int |
booleanToInt(boolean b) |
static long |
doubleToLong(double d) |
static int |
floatToInt(float f) |
static int |
getArgumentsSize(String sig)
get size in stack slots (ints), excluding this
|
static String[] |
getArgumentTypeNames(String signature) |
static byte[] |
getArgumentTypes(String signature) |
static String |
getArrayElementType(String type) |
static String |
getBoxedType(byte type) |
static byte |
getBuiltinType(String typeName) |
static byte |
getBuiltinTypeFromSignature(String signature) |
static String |
getClassNameFromSignature(String signature) |
static String |
getClassNameFromTypeName(String typeName)
get the canonical representation of a type name, which happens to be
(1) the name of the builtin type (e.g.
|
static String |
getComponentTerminal(String type) |
static String |
getElementDescriptorOfType(int arrayType)
thoses are according to the arrayType codes of the newarray JVMS definition
|
static String |
getJNIMangledMethodName(Method m) |
static String |
getJNIMangledMethodName(String cls,
String name,
String signature) |
static String |
getJNIMethodName(String mangledName)
return the name part of a JNI mangled method name (which is of
course not completely safe - you should only use it if you know
this is a JNI name)
|
static String |
getJNISignature(String mangledName)
get the argument type part of the signature out of a
JNI mangled method name.
|
static String |
getJNITypeCode(String type)
type is supposed to be Class.getName conforming, i.e.
|
static int |
getNumberOfArguments(String signature) |
static int |
getNumberOfStackSlots(String signature,
boolean isStatic) |
static byte |
getReturnBuiltinType(String signature) |
static String |
getReturnTypeName(String signature) |
static String |
getReturnTypeSignature(String signature) |
static String |
getSignatureName(String methodDecl)
return the JPF internal representation of a method signature that is given
in dot-notation (like javap),
e.g.
|
static byte |
getTypeCode(String signature) |
static String |
getTypeName(String signature)
return the qualified signature name according to JLS 6.7 (e.g.
|
static String |
getTypeSignature(String type,
boolean asDotNotation) |
static int |
getTypeSize(byte typeCategory) |
static int |
getTypeSize(String signature) |
static int |
getTypeSizeInBytes(String signature)
what would be the info size in bytes, not words
(we ignore 64bit machines for now)
|
static byte |
getUnboxedType(String typeName) |
static int |
hiDouble(double d) |
static int |
hiLong(long l) |
static boolean |
instanceOf(String type,
String ofType) |
static double |
intsToDouble(int l,
int h) |
static long |
intsToLong(int l,
int h) |
static boolean |
intToBoolean(int i) |
static float |
intToFloat(int i) |
static boolean |
isArray(String type) |
static boolean |
isBasicType(String typeName) |
static boolean |
isReference(String type) |
static boolean |
isReferenceSignature(String signature) |
static boolean |
isTypeCode(String t) |
static int |
loDouble(double d) |
static int |
loLong(long l) |
static double |
longToDouble(long l) |
public static final byte T_NONE
public static final byte T_BOOLEAN
public static final byte T_BYTE
public static final byte T_CHAR
public static final byte T_SHORT
public static final byte T_INT
public static final byte T_LONG
public static final byte T_FLOAT
public static final byte T_DOUBLE
public static final byte T_REFERENCE
public static final byte T_ARRAY
public static final byte T_VOID
public static byte[] getArgumentTypes(String signature)
public static int getArgumentsSize(String sig)
public static byte getBuiltinTypeFromSignature(String signature)
public static String getJNISignature(String mangledName)
public static String getJNIMangledMethodName(String cls, String name, String signature)
public static String getJNIMethodName(String mangledName)
public static String getJNITypeCode(String type)
public static int getNumberOfStackSlots(String signature, boolean isStatic)
public static int getNumberOfArguments(String signature)
public static boolean isReferenceSignature(String signature)
public static boolean isReference(String type)
public static boolean isArray(String type)
public static byte getReturnBuiltinType(String signature)
public static byte getBuiltinType(String typeName)
public static String getBoxedType(byte type)
public static byte getUnboxedType(String typeName)
public static String getClassNameFromTypeName(String typeName)
public static boolean isTypeCode(String t)
public static boolean isBasicType(String typeName)
public static byte getTypeCode(String signature)
public static String getTypeName(String signature)
public static String getElementDescriptorOfType(int arrayType)
public static int getTypeSizeInBytes(String signature)
public static int getTypeSize(String signature)
public static int getTypeSize(byte typeCategory)
public static int booleanToInt(boolean b)
public static long doubleToLong(double d)
public static int floatToInt(float f)
public static int hiDouble(double d)
public static int hiLong(long l)
public static boolean intToBoolean(int i)
public static float intToFloat(int i)
public static double intsToDouble(int l, int h)
public static long intsToLong(int l, int h)
public static int loDouble(double d)
public static int loLong(long l)
public static double longToDouble(long l)