summaryrefslogtreecommitdiff
path: root/test/files/run/t5603.scala
diff options
context:
space:
mode:
authorHubert Plociniczak <hubert.plociniczak@gmail.com>2012-05-15 09:40:23 +0200
committerHubert Plociniczak <hubert.plociniczak@gmail.com>2012-07-30 10:17:47 +0200
commit0152dbe969520914ce1730c4a81597bc362c9c5b (patch)
tree7142b8f05d68cbe678b03afd669abdd997786b87 /test/files/run/t5603.scala
parent1ad6e501997d332e2bc0ccc8dd40e3909e728930 (diff)
downloadscala-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.scala42
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
+ }
+}