summaryrefslogtreecommitdiff
path: root/test/files/run/t5938.scala
blob: 59a95ac37f222a96a1f321f98543c3398b4926ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import scala.tools.partest.DirectTest

object Test extends DirectTest {

  override def extraSettings: String =
    s"-usejavacp -d ${testOutput.path}"

  override def code = """
object O extends C {
  def main(args: Array[String]): Unit = {
  }
  // Static forwarder for foo and setter_foo_= added more once in a multi-run compile.
}
  """.trim

  override def show(): Unit = {
    val global = newCompiler()
    Console.withErr(System.out) {
      compileString(global)(code)
      compileString(global)(code)
      loadClass // was "duplicate name and signature in class X"
    }
  }

  def loadClass: Class[_] = {
    val cl = new java.net.URLClassLoader(Array(testOutput.toFile.toURL));
    cl.loadClass("O")
  }
}

trait T {
  val foo: String = ""
}
class C extends T