summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-11-15 11:44:13 -0800
committerEugene Burmako <xeno.by@gmail.com>2012-11-15 11:44:13 -0800
commitc264898205efc10961a972bdd689c7e65dc25578 (patch)
tree48601b9985bba1fa735f29936974842b6b19f5b1
parent850108886765e99e894f7613f49c1bab3650a0c2 (diff)
parent2e0cbe0aa276720ceaf54a3448f7e04558e255b8 (diff)
downloadscala-c264898205efc10961a972bdd689c7e65dc25578.tar.gz
scala-c264898205efc10961a972bdd689c7e65dc25578.tar.bz2
scala-c264898205efc10961a972bdd689c7e65dc25578.zip
Merge pull request #1612 from scalamacros/topic/showraw
sane printing of renamed imports
-rw-r--r--src/reflect/scala/reflect/internal/Printers.scala7
-rw-r--r--test/files/run/showraw_aliases.check2
-rw-r--r--test/files/run/showraw_aliases.scala15
3 files changed, 22 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/internal/Printers.scala b/src/reflect/scala/reflect/internal/Printers.scala
index e513ccb32c..80d247c0ea 100644
--- a/src/reflect/scala/reflect/internal/Printers.scala
+++ b/src/reflect/scala/reflect/internal/Printers.scala
@@ -561,8 +561,11 @@ trait Printers extends api.Printers { self: SymbolTable =>
if (isError) print(": error>")
} else if (hasSymbol) {
tree match {
- case _: Ident | _: Select | _: SelectFromTypeTree => print(tree.symbol)
- case _ => print(tree.symbol.name)
+ case refTree: RefTree =>
+ if (tree.symbol.name != refTree.name) print("[", tree.symbol, " aka ", refTree.name, "]")
+ else print(tree.symbol)
+ case _ =>
+ print(tree.symbol.name)
}
} else {
print(name)
diff --git a/test/files/run/showraw_aliases.check b/test/files/run/showraw_aliases.check
new file mode 100644
index 0000000000..1838bf9bec
--- /dev/null
+++ b/test/files/run/showraw_aliases.check
@@ -0,0 +1,2 @@
+Block(List(Import(Select(Select(Ident(scala), scala.reflect), scala.reflect.runtime), List(ImportSelector(newTermName("universe"), 52, newTermName("ru"), 64)))), Select(Select(Select(Select(Ident(scala), scala.reflect), scala.reflect.runtime), scala.reflect.runtime.package), [newTermName("universe") aka newTermName("ru")]))
+Block(List(Import(Select(Select(Ident(scala#<id>), scala.reflect#<id>), scala.reflect.runtime#<id>), List(ImportSelector(newTermName("universe"), 52, newTermName("ru"), 64)))), Select(Select(Select(Select(Ident(scala#<id>), scala.reflect#<id>), scala.reflect.runtime#<id>), scala.reflect.runtime.package#<id>), [newTermName("universe")#<id> aka newTermName("ru")]))
diff --git a/test/files/run/showraw_aliases.scala b/test/files/run/showraw_aliases.scala
new file mode 100644
index 0000000000..3a68ca37b2
--- /dev/null
+++ b/test/files/run/showraw_aliases.scala
@@ -0,0 +1,15 @@
+import scala.reflect.runtime.universe._
+import scala.tools.reflect.ToolBox
+
+object Test extends App {
+ val tb = runtimeMirror(getClass.getClassLoader).mkToolBox()
+ val tree = tb.parse("""
+ import scala.reflect.runtime.{universe => ru}
+ ru
+ """)
+ val ttree = tb.typeCheck(tree)
+
+ def stabilize(s: String) = """#\d+""".r.replaceAllIn(s, "#<id>")
+ println(showRaw(ttree))
+ println(stabilize(showRaw(ttree, printIds = true)))
+} \ No newline at end of file