diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-02-26 13:20:03 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-03-02 10:36:22 +0100 |
commit | 387fbf459efe5bb89f3d7a76c819f72b8f8fd58f (patch) | |
tree | 50783d1987088f7f7e084fe8e8d0d882376ea0de /test/files/run/t7185.check | |
parent | 88b2915790a6a2ccfa490de6e36aa355148a42b2 (diff) | |
download | scala-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.check | 34 |
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> |