diff options
author | Paul Phillips <paulp@improving.org> | 2013-03-05 08:02:15 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-03-05 08:02:15 -0800 |
commit | 9b0dbdf4d788c0de7f9afb6c4a72c82727615ba8 (patch) | |
tree | df0adf075d5f37e61fae643592ea660bf901216c /test | |
parent | 1a84c86ce400d0a80065fa8d23a9506dc19e92f0 (diff) | |
parent | 387fbf459efe5bb89f3d7a76c819f72b8f8fd58f (diff) | |
download | scala-9b0dbdf4d788c0de7f9afb6c4a72c82727615ba8.tar.gz scala-9b0dbdf4d788c0de7f9afb6c4a72c82727615ba8.tar.bz2 scala-9b0dbdf4d788c0de7f9afb6c4a72c82727615ba8.zip |
Merge pull request #2175 from retronym/ticket/7185
SI-7185 Avoid NPE in TreeInfo.isExprSafeToInline
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t7185.check | 7 | ||||
-rw-r--r-- | test/files/neg/t7185.scala | 3 | ||||
-rw-r--r-- | test/files/run/t7185.check | 34 | ||||
-rw-r--r-- | test/files/run/t7185.scala | 12 |
4 files changed, 56 insertions, 0 deletions
diff --git a/test/files/neg/t7185.check b/test/files/neg/t7185.check new file mode 100644 index 0000000000..46f2cc797e --- /dev/null +++ b/test/files/neg/t7185.check @@ -0,0 +1,7 @@ +t7185.scala:2: error: overloaded method value apply with alternatives: + (f: scala.xml.Node => Boolean)scala.xml.NodeSeq <and> + (i: Int)scala.xml.Node + cannot be applied to () + <e></e>() + ^ +one error found diff --git a/test/files/neg/t7185.scala b/test/files/neg/t7185.scala new file mode 100644 index 0000000000..2f9284bc5f --- /dev/null +++ b/test/files/neg/t7185.scala @@ -0,0 +1,3 @@ +object Test { + <e></e>() +} 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> 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} +""" +} |