summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-07-31 16:32:22 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-07-31 23:19:38 +0200
commitddcba109843d4f665a010f3dbbd28a6b99e6185a (patch)
tree6b769c96f35db8cd537832dba3d27d32b8c226fd /test/files/run
parentf4693871f4aad1fdbdbb743feaed8a848a9e2dca (diff)
downloadscala-ddcba109843d4f665a010f3dbbd28a6b99e6185a.tar.gz
scala-ddcba109843d4f665a010f3dbbd28a6b99e6185a.tar.bz2
scala-ddcba109843d4f665a010f3dbbd28a6b99e6185a.zip
SI-5751 cleans up toolboxes for the release
Removes the `freeTypes` parameters on `typeCheckExpr` and `runExpr`, since we now have public `substituteTypes` on both trees and types. Also implements long-awaited `inferImplicitValue` and `inferImplicitView` (thanks to Miles Sabin for nudging me!)
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/reify_newimpl_45.scala3
-rw-r--r--test/files/run/toolbox_typecheck_inferimplicitvalue.check1
-rw-r--r--test/files/run/toolbox_typecheck_inferimplicitvalue.scala13
3 files changed, 16 insertions, 1 deletions
diff --git a/test/files/run/reify_newimpl_45.scala b/test/files/run/reify_newimpl_45.scala
index d2254d6dde..cbae0839b2 100644
--- a/test/files/run/reify_newimpl_45.scala
+++ b/test/files/run/reify_newimpl_45.scala
@@ -8,7 +8,8 @@ object Test extends App {
val code = reify{val x: T = "2".asInstanceOf[T]; println("ima worx: %s".format(x)); x}
println(code.tree.freeTypes)
val T = code.tree.freeTypes(0)
- cm.mkToolBox().runExpr(code.tree, Map(T -> definitions.StringClass.asType))
+ val tree = code.tree.substituteSymbols(List(T), List(definitions.StringClass))
+ cm.mkToolBox().runExpr(tree)
}
new C[String]
diff --git a/test/files/run/toolbox_typecheck_inferimplicitvalue.check b/test/files/run/toolbox_typecheck_inferimplicitvalue.check
new file mode 100644
index 0000000000..23ba536aff
--- /dev/null
+++ b/test/files/run/toolbox_typecheck_inferimplicitvalue.check
@@ -0,0 +1 @@
+C.MC
diff --git a/test/files/run/toolbox_typecheck_inferimplicitvalue.scala b/test/files/run/toolbox_typecheck_inferimplicitvalue.scala
new file mode 100644
index 0000000000..3c5c994ac9
--- /dev/null
+++ b/test/files/run/toolbox_typecheck_inferimplicitvalue.scala
@@ -0,0 +1,13 @@
+import scala.reflect.runtime.universe._
+import scala.reflect.runtime.{currentMirror => cm}
+import scala.tools.reflect.ToolBox
+
+class C
+object C {
+ implicit object MC extends C
+}
+
+object Test extends App {
+ val tb = cm.mkToolBox()
+ println(tb.inferImplicitValue(typeOf[C]))
+} \ No newline at end of file