diff options
author | Hubert Plociniczak <hubert.plociniczak@gmail.com> | 2012-05-15 09:40:23 +0200 |
---|---|---|
committer | Hubert Plociniczak <hubert.plociniczak@gmail.com> | 2012-07-30 10:17:47 +0200 |
commit | 0152dbe969520914ce1730c4a81597bc362c9c5b (patch) | |
tree | 7142b8f05d68cbe678b03afd669abdd997786b87 /test/files/run/t5603.scala | |
parent | 1ad6e501997d332e2bc0ccc8dd40e3909e728930 (diff) | |
download | scala-0152dbe969520914ce1730c4a81597bc362c9c5b.tar.gz scala-0152dbe969520914ce1730c4a81597bc362c9c5b.tar.bz2 scala-0152dbe969520914ce1730c4a81597bc362c9c5b.zip |
Fixed SI-5603. Early definitions now get transparent positions.
This includes a fix for a minor problem described in #594 -
ensureNonOverlapping still focuses on default position when outside of early defs.
Review by @dragos, @odersky.
Diffstat (limited to 'test/files/run/t5603.scala')
-rw-r--r-- | test/files/run/t5603.scala | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/files/run/t5603.scala b/test/files/run/t5603.scala new file mode 100644 index 0000000000..60dfd01fee --- /dev/null +++ b/test/files/run/t5603.scala @@ -0,0 +1,42 @@ +import scala.tools.partest._ +import java.io._ +import scala.tools.nsc._ +import scala.tools.nsc.util.CommandLineParser +import scala.tools.nsc.{Global, Settings, CompilerCommand} +import scala.tools.nsc.reporters.ConsoleReporter + +object Test extends DirectTest { + + override def extraSettings: String = "-usejavacp -Xprint:parser -Ystop-after:parser -d " + testOutput.path + + override def code = """ + trait Greeting { + val name: String + val msg = "How are you, "+name + } + class C(i: Int) extends { + val nameElse = "Bob" + } with Greeting { + val name = "avc" + println(msg) + } + + object Test extends App {} + """.trim + + override def show(): Unit = { + // redirect err to out, for logging + val prevErr = System.err + System.setErr(System.out) + compile() + System.setErr(prevErr) + } + + override def newCompiler(args: String*): Global = { + + val settings = new Settings() + settings.Xprintpos.value = true + val command = new CompilerCommand((CommandLineParser tokenize extraSettings) ++ args.toList, settings) + new Global(command.settings, new ConsoleReporter(settings)) with interactive.RangePositions + } +} |