checkcast #ref
200201202203204205206207208209210
try { JiapiClass jc = new Loader().loadClass("java.lang.Integer"); JiapiMethod jm = jc.getDeclaredMethod("intValue", new String[0]); il.add(factory.cast("java.lang.Integer")); il.add(factory.invoke(jm)); } catch(Exception e) { e.printStackTrace(); }
213214215216217218219220221222223
try { JiapiClass jc = new Loader().loadClass("java.lang.Long"); JiapiMethod jm = jc.getDeclaredMethod("longValue", new String[0]); il.add(factory.cast("java.lang.Long")); il.add(factory.invoke(jm)); } catch(Exception e) { e.printStackTrace(); }
226227228229230231232233234235236
try { JiapiClass jc = new Loader().loadClass("java.lang.Character"); JiapiMethod jm = jc.getDeclaredMethod("charValue", new String[0]); il.add(factory.cast("java.lang.Character")); il.add(factory.invoke(jm)); } catch(Exception e) { e.printStackTrace(); }
239240241242243244245246247248249
try { JiapiClass jc = new Loader().loadClass("java.lang.Boolean"); JiapiMethod jm = jc.getDeclaredMethod("booleanValue", new String[0]); il.add(factory.cast("java.lang.Boolean")); il.add(factory.invoke(jm)); } catch(Exception e) { e.printStackTrace(); }
252253254255256257258259260261262
try { JiapiClass jc = new Loader().loadClass("java.lang.Byte"); JiapiMethod jm = jc.getDeclaredMethod("byteValue", new String[0]); il.add(factory.cast("java.lang.Byte")); il.add(factory.invoke(jm)); } catch(Exception e) { e.printStackTrace(); }
265266267268269270271272273274275
try { JiapiClass jc = new Loader().loadClass("java.lang.Float"); JiapiMethod jm = jc.getDeclaredMethod("floatValue", new String[0]); il.add(factory.cast("java.lang.Float")); il.add(factory.invoke(jm)); } catch(Exception e) { e.printStackTrace(); }
278279280281282283284285286287288
try { JiapiClass jc = new Loader().loadClass("java.lang.Double"); JiapiMethod jm = jc.getDeclaredMethod("doubleValue", new String[0]); il.add(factory.cast("java.lang.Double")); il.add(factory.invoke(jm)); } catch(Exception e) { e.printStackTrace(); }
291292293294295296297298299300301
// Pop out the return value(probably null) of // the invocation handler if it was a 'void' method il.add(new Instruction(new byte[]{Opcodes.POP})); } else { // Cast to correct Object il.add(factory.cast(rType)); } }
173174175176177178179180181182183
186187188189190191192193194195196