summaryrefslogtreecommitdiff
path: root/test/files/run/t7185.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-02-26 13:20:03 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-03-02 10:36:22 +0100
commit387fbf459efe5bb89f3d7a76c819f72b8f8fd58f (patch)
tree50783d1987088f7f7e084fe8e8d0d882376ea0de /test/files/run/t7185.scala
parent88b2915790a6a2ccfa490de6e36aa355148a42b2 (diff)
downloadscala-387fbf459efe5bb89f3d7a76c819f72b8f8fd58f.tar.gz
scala-387fbf459efe5bb89f3d7a76c819f72b8f8fd58f.tar.bz2
scala-387fbf459efe5bb89f3d7a76c819f72b8f8fd58f.zip
SI-7185 Avoid NPE in TreeInfo.isExprSafeToInline
We got there typechecking code with a redundant layer of Block. We can't express that in source code, so we test this with manual tree construction and with XML literals, which as reported produce such trees.
Diffstat (limited to 'test/files/run/t7185.scala')
-rw-r--r--test/files/run/t7185.scala12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/files/run/t7185.scala b/test/files/run/t7185.scala
new file mode 100644
index 0000000000..d9d913e78a
--- /dev/null
+++ b/test/files/run/t7185.scala
@@ -0,0 +1,12 @@
+import scala.tools.partest.ReplTest
+
+object Test extends ReplTest {
+ override def code = """
+import scala.tools.reflect.ToolBox
+import scala.reflect.runtime.universe._
+object O { def apply() = 0 }
+val ORef = reify { O }.tree
+val tree = Apply(Block(Nil, Block(Nil, ORef)), Nil)
+{val tb = reflect.runtime.currentMirror.mkToolBox(); tb.typeCheck(tree): Any}
+"""
+}