ReturnsAndArgPassing.testProxyReturns RUNNING ReturnsAndArgPassing.testProxyReturns PASSED ReturnsAndArgPassing.testProxyArgPassing RUNNING ReturnsAndArgPassing.testProxyArgPassing PASSED Invoke public abstract void Shapes.circle(int) 0: 3 --- circle 3 Success: method circle res=null Invoke public abstract int Quads.rectangle(int,int) 0: 10 1: 20 --- rectangle 10,20 Success: method rectangle res=4 Invoke public abstract java.lang.String Shapes.blob() (no args) --- blob Success: method blob res=mix Invoke public abstract int Quads.rectangle(int,int) 0: 15 1: 25 --- rectangle 15,25 Success: method rectangle res=4 Invoke public abstract int Quads.trapezoid(int,double,int) 0: 6 1: 81.18 2: 4 --- trap 6,4,81.18 Success: method trapezoid res=8 Invoke public abstract int Colors.red(float) 0: 1.0 --- red 1.0 Success: method red res=0 Invoke public abstract double Colors.blue(int) 0: 777 --- blue 777 Success: method blue res=2.54 Invoke public abstract int Colors.mauve(java.lang.String) 0: sorry --- mauve sorry Success: method mauve res=3 Invoke public abstract java.lang.String Shapes.blob() (no args) --- blob Success: method blob res=mix $Proxy1.getTrace null:-1 Invoke public abstract void Shapes.upChuck() (no args) Got expected ioobe Invoke public abstract void Shapes.upCheck() throws java.lang.InterruptedException (no args) Got expected ie Proxy interfaces: [interface Quads, interface Colors, interface Trace] Proxy methods: [public final java.lang.String $Proxy1.blob(), public final double $Proxy1.blue(int), public final R0a $Proxy1.checkMe(), public final R0aa $Proxy1.checkMe(), public final R0base $Proxy1.checkMe(), public final void $Proxy1.circle(int), public final boolean $Proxy1.equals(java.lang.Object), public final void $Proxy1.getTrace(), public final int $Proxy1.green(double), public final int $Proxy1.hashCode(), public final int $Proxy1.mauve(java.lang.String), public final int $Proxy1.rectangle(int,int), public final int $Proxy1.red(float), public final int $Proxy1.square(int,int), public final java.lang.String $Proxy1.toString(), public final int $Proxy1.trapezoid(int,double,int), public final void $Proxy1.upCheck() throws java.lang.InterruptedException, public final void $Proxy1.upChuck()] Decl annos: [] Param annos (0) : [] Modifiers: 17 Dupe threw expected exception Clash threw expected exception Clash2 threw expected exception Clash3 threw expected exception Clash4 threw expected exception Invoke public abstract void InterfaceW1.throwFunky() (no args) Got expected UTE Invoke public abstract void InterfaceW1.throwFunky2() throws BaseException,java.lang.NoSuchMethodException,java.io.IOException (no args) Got expected IOE Invoke public abstract void InterfaceW1.throwFunky2() throws BaseException,java.lang.NoSuchMethodException,java.io.IOException (no args) Got expected IOE Invoke public abstract void InterfaceW1.throwException() throws BaseException (no args) Got expected UTE Invoke public abstract void InterfaceW1.throwBase() throws BaseException (no args) Got expected UTE Invoke public abstract void InterfaceW1.throwSub() throws BaseException (no args) Got expected exception Invoke public abstract void InterfaceW1.throwSubSub() throws BaseException (no args) Got expected exception Invoke public abstract void InterfaceW1.bothThrowBase() throws BaseException,SubException,SubSubException (no args) Got expected exception Proxy methods: [public final boolean $Proxy3.equals(java.lang.Object), public final java.lang.Object $Proxy3.foo(), public final java.lang.String $Proxy3.foo(), public final int $Proxy3.hashCode(), public final java.lang.String $Proxy3.toString()] Invocation of public abstract java.lang.String NarrowingTest$I2.foo() Invoking foo using I2 type: hello Invocation of public abstract java.lang.Object NarrowingTest$I1.foo() Invoking foo using I1 type: 1 Invocation of public abstract java.lang.String NarrowingTest$I2.foo() Got expected exception Proxy narrowed invocation return type passed 5.8