gnu.bytecode
Class PrimType
booleanValue_method, boolean_ctype, boolean_type, byte_type, char_type, doubleValue_method, double_type, floatValue_method, float_type, intValue_method, int_type, java_lang_Class_type, longValue_method, long_type, neverReturnsType, nullType, number_type, pointer_type, reflectClass, short_type, string_type, throwable_type, toString_method, tostring_type, typeArray0, void_type |
static boolean | booleanValue(Object value)- Coerce value to a boolean.
|
char | charValue(Object value)- Coerce value to a char.
|
Object | coerceFromObject(Object obj)- Convert an object to a value of this Type.
|
static int | compare(PrimType type1, PrimType type2)
|
int | compare(Type other)- Return a numeric code showing "subtype" relationship:
1: if other is a pure subtype of this;
0: if has the same values;
-1: if this is a pure subtype of other;
-2: if they have values in common but neither is a subtype of the other;
-3: if the types have no values in common.
|
void | emitCoerceFromObject(CodeAttr code)- Compile code to coerce/convert from Object to this type.
|
void | emitCoerceToObject(CodeAttr code)- Compile code to convert a object of this type on the stack to Object.
|
void | emitIsInstance(CodeAttr code)
|
coerceFromObject, coerceToObject, compare, emitCoerceFromObject, emitCoerceToObject, emitIsInstance, getImplementationType, getName, getReflectClass, getSignature, getSize, getType, hashCode, isInstance, isMoreSpecific, isSubtype, isValidJavaTypeName, isVoid, lookupType, lowestCommonSuperType, make, promote, registerTypeForClass, setName, setReflectClass, setSignature, signatureLength, signatureLength, signatureToName, signatureToPrimitive, signatureToType, signatureToType, swappedCompareResult, toString |
PrimType
public PrimType(String nam,
String sig,
int siz,
Class reflectClass)
PrimType
protected PrimType(PrimType type)
booleanValue
public static boolean booleanValue(Object value)
Coerce value to a boolean.
Only defined if getSignature() is "Z".
charValue
public char charValue(Object value)
Coerce value to a char.
Only defined if getSignature() is "C".
coerceFromObject
public Object coerceFromObject(Object obj)
Convert an object to a value of this Type.
Throw a ClassCastException when this is not possible.
- coerceFromObject in interface Type
compare
public int compare(Type other)
Return a numeric code showing "subtype" relationship:
1: if other is a pure subtype of this;
0: if has the same values;
-1: if this is a pure subtype of other;
-2: if they have values in common but neither is a subtype of the other;
-3: if the types have no values in common.
"Same member" is rather loose; by "A is a subtype of B"
we mean that all instance of A can be "widened" to B.
More formally, A.compare(B) returns:
1: all B values can be converted to A without a coercion failure
(i.e. a ClassCastException or overflow or major loss of information),
but not vice versa.
0: all A values can be converted to B without a coercion failure
and vice versa;
-1: all A values can be converted to B without a coercion failure
not not vice versa;
-2: there are (potentially) some A values that can be converted to B,
and some B values can be converted to A;
-3: there are no A values that can be converted to B, and neither
are there any B values that can be converted to A.
- compare in interface Type
emitCoerceFromObject
public void emitCoerceFromObject(CodeAttr code)
Compile code to coerce/convert from Object to this type.
- emitCoerceFromObject in interface Type
emitCoerceToObject
public void emitCoerceToObject(CodeAttr code)
Compile code to convert a object of this type on the stack to Object.
- emitCoerceToObject in interface Type