From 99d8d53c36cb2283df9d42b25273aeba594e82b5 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 20 Nov 2009 13:58:36 +0000 Subject: new test --- test/files/pos/t1459/AbstractBase.java | 5 +++++ test/files/pos/t1459/App.scala | 18 ++++++++++++++++++ test/files/pos/t1459/Caller.java | 7 +++++++ 3 files changed, 30 insertions(+) create mode 100755 test/files/pos/t1459/AbstractBase.java create mode 100755 test/files/pos/t1459/App.scala create mode 100755 test/files/pos/t1459/Caller.java (limited to 'test') diff --git a/test/files/pos/t1459/AbstractBase.java b/test/files/pos/t1459/AbstractBase.java new file mode 100755 index 0000000000..492419416c --- /dev/null +++ b/test/files/pos/t1459/AbstractBase.java @@ -0,0 +1,5 @@ +package base; + +public abstract class AbstractBase { + public abstract void doStuff(String... params); // !!! was Object.. +} \ No newline at end of file diff --git a/test/files/pos/t1459/App.scala b/test/files/pos/t1459/App.scala new file mode 100755 index 0000000000..651b285b17 --- /dev/null +++ b/test/files/pos/t1459/App.scala @@ -0,0 +1,18 @@ +package foo +import base._ + +object App extends Application { + class Concrete extends AbstractBase { + override def doStuff(params:java.lang.String*): Unit = println("doStuff invoked") + } + + val impl = new Concrete + + //succeeds + impl.doStuff(null) + + val caller = new Caller + + // fails with AbstractMethodError + caller.callDoStuff(impl) +} diff --git a/test/files/pos/t1459/Caller.java b/test/files/pos/t1459/Caller.java new file mode 100755 index 0000000000..4ae51d8c57 --- /dev/null +++ b/test/files/pos/t1459/Caller.java @@ -0,0 +1,7 @@ +package base; + +public class Caller { + public void callDoStuff(AbstractBase impl) { + impl.doStuff("abc"); // was new Object()); + } +} \ No newline at end of file -- cgit v1.2.3