gnu.bytecode
Class PrimType
booleanValue_method , boolean_ctype , boolean_type , byte_type , char_type , clone_method , 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 , getSizeInWords , 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