summaryrefslogtreecommitdiff
path: root/test/files/run/StubErrorComplexInnerClass.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run/StubErrorComplexInnerClass.scala')
-rw-r--r--test/files/run/StubErrorComplexInnerClass.scala42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/files/run/StubErrorComplexInnerClass.scala b/test/files/run/StubErrorComplexInnerClass.scala
new file mode 100644
index 0000000000..2028644601
--- /dev/null
+++ b/test/files/run/StubErrorComplexInnerClass.scala
@@ -0,0 +1,42 @@
+object Test extends scala.tools.partest.StubErrorMessageTest {
+ def codeA = """
+ package stuberrors
+ class A
+ """
+
+ def codeB = """
+ package stuberrors
+ class B {
+ def foo: String = ???
+
+ // unused and should fail, but not loaded
+ def unsafeFoo: A = ???
+ // used, B.info -> BB.info -> unpickling A -> stub error
+ class BB extends A
+ }
+ """
+
+ def userCode = """
+ package stuberrors
+ class C {
+ def aloha = {
+ val b = new B
+ val d = new extra.D
+ d.foo
+ println(b.foo)
+ new b.BB
+ }
+ }
+ """
+
+ override def extraUserCode = """
+ package extra
+ class D {
+ def foo = "Hello, World"
+ }
+ """.stripMargin
+
+ def removeFromClasspath(): Unit = {
+ removeClasses("stuberrors", List("A"))
+ }
+}