summaryrefslogtreecommitdiff
path: root/test/files/run/t7185.check
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.check
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.check')
-rw-r--r--test/files/run/t7185.check34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/files/run/t7185.check b/test/files/run/t7185.check
new file mode 100644
index 0000000000..455c1aa3b7
--- /dev/null
+++ b/test/files/run/t7185.check
@@ -0,0 +1,34 @@
+Type in expressions to have them evaluated.
+Type :help for more information.
+
+scala>
+
+scala> import scala.tools.reflect.ToolBox
+import scala.tools.reflect.ToolBox
+
+scala> import scala.reflect.runtime.universe._
+import scala.reflect.runtime.universe._
+
+scala> object O { def apply() = 0 }
+defined module O
+
+scala> val ORef = reify { O }.tree
+ORef: reflect.runtime.universe.Tree = $read.O
+
+scala> val tree = Apply(Block(Nil, Block(Nil, ORef)), Nil)
+tree: reflect.runtime.universe.Apply =
+{
+ {
+ $read.O
+ }
+}()
+
+scala> {val tb = reflect.runtime.currentMirror.mkToolBox(); tb.typeCheck(tree): Any}
+res0: Any =
+{
+ {
+ $read.O.apply()
+ }
+}
+
+scala>