mirror of
https://github.com/autc04/Retro68.git
synced 2024-09-10 03:54:48 +00:00
81 lines
2.0 KiB
Java
81 lines
2.0 KiB
Java
import java.lang.reflect.Method;
|
|
|
|
// Test return values of Method.invoke.
|
|
public class InvokeReturn {
|
|
public boolean bTrue() {
|
|
return true;
|
|
}
|
|
|
|
public boolean bFalse() {
|
|
return false;
|
|
}
|
|
|
|
public char cc() {
|
|
return 'c';
|
|
}
|
|
|
|
public short s5() {
|
|
return (short)5;
|
|
}
|
|
|
|
public int i6() {
|
|
return 6;
|
|
}
|
|
|
|
public long l7() {
|
|
return (long)7;
|
|
}
|
|
|
|
public float f8() {
|
|
return (float)8.0;
|
|
}
|
|
|
|
public double d9() {
|
|
return 9.0;
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
try {
|
|
Object o = new InvokeReturn();
|
|
Method m;
|
|
|
|
// test boolean result
|
|
m = o.getClass().getDeclaredMethod("bTrue", new Class[0]);
|
|
System.out.println(m.invoke(o, new Object[0]));
|
|
|
|
m = o.getClass().getDeclaredMethod("bFalse", new Class[0]);
|
|
System.out.println(m.invoke(o, new Object[0]));
|
|
|
|
// test char result
|
|
m = o.getClass().getDeclaredMethod("cc", new Class[0]);
|
|
System.out.println(m.invoke(o, new Object[0]));
|
|
|
|
// test short result
|
|
m = o.getClass().getDeclaredMethod("s5", new Class[0]);
|
|
System.out.println(m.invoke(o, new Object[0]));
|
|
|
|
// test int result
|
|
m = o.getClass().getDeclaredMethod("i6", new Class[0]);
|
|
System.out.println(m.invoke(o, new Object[0]));
|
|
|
|
// test long result
|
|
m = o.getClass().getDeclaredMethod("l7", new Class[0]);
|
|
System.out.println(m.invoke(o, new Object[0]));
|
|
|
|
// test float result
|
|
m = o.getClass().getDeclaredMethod("f8", new Class[0]);
|
|
System.out.println(m.invoke(o, new Object[0]));
|
|
|
|
// test double result
|
|
m = o.getClass().getDeclaredMethod("d9", new Class[0]);
|
|
System.out.println(m.invoke(o, new Object[0]));
|
|
} catch (UnsupportedOperationException e) {
|
|
// We get this on targets which don't support reflection (no
|
|
// libffi port yet). We might as well fake PASSes.
|
|
System.out.println("true\nfalse\nc\n5\n6\n7\n8.0\n9.0");
|
|
} catch (Throwable t) {
|
|
t.printStackTrace();
|
|
}
|
|
}
|
|
}
|