summaryrefslogtreecommitdiff
path: root/test/pending
diff options
context:
space:
mode:
Diffstat (limited to 'test/pending')
-rw-r--r--test/pending/pos/existentials-harmful.scala54
-rw-r--r--test/pending/pos/t4012.scala7
-rw-r--r--test/pending/pos/t4541.scala10
-rw-r--r--test/pending/pos/t4786.scala24
-rw-r--r--test/pending/pos/t4790.scala4
-rw-r--r--test/pending/pos/t5259.scala14
-rw-r--r--test/pending/pos/t5399.scala15
-rw-r--r--test/pending/pos/t5400.scala14
-rw-r--r--test/pending/run/reify_addressbook.scala3
-rw-r--r--test/pending/run/reify_brainf_ck.scala3
-rw-r--r--test/pending/run/reify_callccinterpreter.scala3
-rw-r--r--test/pending/run/reify_classfileann_b.check (renamed from test/pending/run/t5229_1.check)0
-rw-r--r--test/pending/run/reify_classfileann_b.scala24
-rw-r--r--test/pending/run/reify_closure1.check2
-rw-r--r--test/pending/run/reify_closure1.scala20
-rw-r--r--test/pending/run/reify_closure2a.check2
-rw-r--r--test/pending/run/reify_closure2a.scala20
-rw-r--r--test/pending/run/reify_closure2b.scala7
-rw-r--r--test/pending/run/reify_closure3a.check2
-rw-r--r--test/pending/run/reify_closure3a.scala22
-rw-r--r--test/pending/run/reify_closure3b.scala7
-rw-r--r--test/pending/run/reify_closure4a.check2
-rw-r--r--test/pending/run/reify_closure4a.scala22
-rw-r--r--test/pending/run/reify_closure4b.scala7
-rw-r--r--test/pending/run/reify_closure5a.check2
-rw-r--r--test/pending/run/reify_closure5a.scala20
-rw-r--r--test/pending/run/reify_closure5b.scala7
-rw-r--r--test/pending/run/reify_closure6.check3
-rw-r--r--test/pending/run/reify_closure6.scala26
-rw-r--r--test/pending/run/reify_closure8b.check1
-rw-r--r--test/pending/run/reify_closure8b.scala16
-rw-r--r--test/pending/run/reify_closure9a.check1
-rw-r--r--test/pending/run/reify_closure9a.scala19
-rw-r--r--test/pending/run/reify_closure9b.check1
-rw-r--r--test/pending/run/reify_closure9b.scala19
-rw-r--r--test/pending/run/reify_closures11.check1
-rw-r--r--test/pending/run/reify_closures11.scala (renamed from test/pending/run/t5275.scala)14
-rw-r--r--test/pending/run/reify_complex.check1
-rw-r--r--test/pending/run/reify_complex.scala31
-rw-r--r--test/pending/run/reify_csv.scala3
-rw-r--r--test/pending/run/reify_extendbuiltins.check1
-rw-r--r--test/pending/run/reify_extendbuiltins.scala21
-rw-r--r--test/pending/run/reify_fors.check5
-rw-r--r--test/pending/run/reify_fors.scala107
-rw-r--r--test/pending/run/reify_gadts.scala3
-rw-r--r--test/pending/run/reify_implicits.check1
-rw-r--r--test/pending/run/reify_implicits.scala21
-rw-r--r--test/pending/run/reify_lazyevaluation.scala3
-rw-r--r--test/pending/run/reify_maps.check4
-rw-r--r--test/pending/run/reify_maps.scala26
-rw-r--r--test/pending/run/reify_properties.scala3
-rw-r--r--test/pending/run/reify_simpleinterpreter.scala3
-rw-r--r--test/pending/run/reify_sort.check2
-rw-r--r--test/pending/run/reify_sort.scala57
-rw-r--r--test/pending/run/reify_sort1.check2
-rw-r--r--test/pending/run/reify_sort1.scala27
-rw-r--r--test/pending/run/reify_timeofday.check1
-rw-r--r--test/pending/run/reify_timeofday.scala48
-rw-r--r--test/pending/run/t4511.scala10
-rw-r--r--test/pending/run/t4971.scala16
-rw-r--r--test/pending/run/t5224.check9
-rw-r--r--test/pending/run/t5224.scala8
-rw-r--r--test/pending/run/t5225_1.check4
-rw-r--r--test/pending/run/t5225_1.scala8
-rw-r--r--test/pending/run/t5225_2.check4
-rw-r--r--test/pending/run/t5225_2.scala8
-rw-r--r--test/pending/run/t5229_1_nolift.scala1
-rw-r--r--test/pending/run/t5229_2.check2
-rw-r--r--test/pending/run/t5229_2.scala19
-rw-r--r--test/pending/run/t5256c.check0
-rw-r--r--test/pending/run/t5256c.scala10
-rw-r--r--test/pending/run/t5256g.check0
-rw-r--r--test/pending/run/t5256g.scala11
-rw-r--r--test/pending/run/t5256h.check8
-rw-r--r--test/pending/run/t5256h.scala8
-rw-r--r--test/pending/run/t5258b.check1
-rw-r--r--test/pending/run/t5258b.scala (renamed from test/pending/run/t5334_1.scala)7
-rw-r--r--test/pending/run/t5258c.check1
-rw-r--r--test/pending/run/t5258c.scala (renamed from test/pending/run/t5279.scala)8
-rw-r--r--test/pending/run/t5269.check1
-rw-r--r--test/pending/run/t5269.scala22
-rw-r--r--test/pending/run/t5270.check1
-rw-r--r--test/pending/run/t5270.scala26
-rw-r--r--test/pending/run/t5271_1.scala3
-rw-r--r--test/pending/run/t5271_2.scala3
-rw-r--r--test/pending/run/t5271_3.check1
-rw-r--r--test/pending/run/t5271_3.scala (renamed from test/pending/run/t5276.scala)9
-rw-r--r--test/pending/run/t5272.check1
-rw-r--r--test/pending/run/t5272.scala17
-rw-r--r--test/pending/run/t5273_1.check1
-rw-r--r--test/pending/run/t5273_1.scala16
-rw-r--r--test/pending/run/t5273_2.check1
-rw-r--r--test/pending/run/t5273_2.scala17
-rw-r--r--test/pending/run/t5274_1.check3
-rw-r--r--test/pending/run/t5274_1.scala20
-rw-r--r--test/pending/run/t5274_2.check2
-rw-r--r--test/pending/run/t5274_2.scala57
-rw-r--r--test/pending/run/t5275.check1
-rw-r--r--test/pending/run/t5276.check1
-rw-r--r--test/pending/run/t5277_1.check1
-rw-r--r--test/pending/run/t5277_1.scala21
-rw-r--r--test/pending/run/t5277_2.check2
-rw-r--r--test/pending/run/t5277_2.scala18
-rw-r--r--test/pending/run/t5279.check1
-rw-r--r--test/pending/run/t5284.scala14
-rw-r--r--test/pending/run/t5334_2.scala15
-rw-r--r--test/pending/run/t5418.check0
-rw-r--r--test/pending/run/t5418.scala (renamed from test/pending/run/t5229_1.scala)7
-rw-r--r--test/pending/run/t5427a.check1
-rw-r--r--test/pending/run/t5427a.scala10
-rw-r--r--test/pending/run/t5427b.check1
-rw-r--r--test/pending/run/t5427b.scala11
-rw-r--r--test/pending/run/t5427c.check1
-rw-r--r--test/pending/run/t5427c.scala13
-rw-r--r--test/pending/run/t5427d.check1
-rw-r--r--test/pending/run/t5427d.scala11
116 files changed, 344 insertions, 918 deletions
diff --git a/test/pending/pos/existentials-harmful.scala b/test/pending/pos/existentials-harmful.scala
deleted file mode 100644
index 8722852e8a..0000000000
--- a/test/pending/pos/existentials-harmful.scala
+++ /dev/null
@@ -1,54 +0,0 @@
-// a.scala
-// Mon Jul 11 14:18:26 PDT 2011
-
-object ExistentialsConsideredHarmful {
- class Animal(val name: String)
- object Dog extends Animal("Dog")
- object Sheep extends Animal("Sheep")
-
- trait Tools[A] {
- def shave(a: A): A
- }
- def tools[A](a: A): Tools[A] = null // dummy
-
- case class TransportBox[A <: Animal](animal: A, tools: Tools[A]) {
- def label: String = animal.name
- }
-
- // 1.
- def carry[A <: Animal](box: TransportBox[A]): Unit = {
- println(box.animal.name+" got carried away")
- }
-
- val aBox =
- if (math.random < 0.5)
- TransportBox(Dog, tools(Dog))
- else
- TransportBox(Sheep, tools(Sheep))
-
- // 2.
- //aBox.tools.shave(aBox.animal)
-
- // Use pattern match to avoid opening the existential twice
- aBox match {
- case TransportBox(animal, tools) => tools.shave(animal)
- }
-
- abstract class BoxCarrier[R <: Animal](box: TransportBox[R]) {
- def speed: Int
-
- def talkToAnimal: Unit = println("The carrier says hello to"+box.animal.name)
- }
-
- // 3.
- //val bc = new BoxCarrier(aBox) {
-
- // Use pattern match to avoid opening the existential twice
- // Type annotation on bc is required ... possible compiler bug?
- // val bc : BoxCarrier[_ <: Animal] = aBox match {
- val bc = aBox match {
- case tb : TransportBox[a] => new BoxCarrier(tb) {
- def speed: Int = 12
- }
- }
-}
diff --git a/test/pending/pos/t4012.scala b/test/pending/pos/t4012.scala
new file mode 100644
index 0000000000..9b8a1b0dbe
--- /dev/null
+++ b/test/pending/pos/t4012.scala
@@ -0,0 +1,7 @@
+trait C1[+A] {
+ def head: A = sys.error("")
+}
+trait C2[@specialized +A] extends C1[A] {
+ override def head: A = super.head
+}
+class C3 extends C2[Char] \ No newline at end of file
diff --git a/test/pending/pos/t4541.scala b/test/pending/pos/t4541.scala
new file mode 100644
index 0000000000..c6d9672cc5
--- /dev/null
+++ b/test/pending/pos/t4541.scala
@@ -0,0 +1,10 @@
+@SerialVersionUID(1L)
+final class SparseArray[@specialized T](private var data : Array[T]) extends Serializable {
+ def use(inData : Array[T]) = {
+ data = inData;
+ }
+
+ def set(that : SparseArray[T]) = {
+ use(that.data.clone)
+ }
+} \ No newline at end of file
diff --git a/test/pending/pos/t4786.scala b/test/pending/pos/t4786.scala
new file mode 100644
index 0000000000..f0579142b8
--- /dev/null
+++ b/test/pending/pos/t4786.scala
@@ -0,0 +1,24 @@
+trait Matrix[@specialized A, Repr[C] <: Matrix[C, Repr]] { // crash goes away if @specialize is removed
+ def duplicate(mb: MatrixBuilder[A, Repr]): Repr[A] = {
+ mb.zeros
+ }
+}
+trait DenseMatrix[@specialized A] extends Matrix[A, DenseMatrix]
+trait DenseMatrixFlt extends DenseMatrix[Float]
+
+trait MatrixBuilder[@specialized A, Repr[C] <: Matrix[C, Repr]] {
+ def zeros: Repr[A]
+}
+object DenseFloatBuilder extends MatrixBuilder[Float, DenseMatrix] {
+ val zeros = new Object with DenseMatrixFlt
+ // Note:
+ // - in 2.9 crash goes away if the explicit type "DenseMatrixFlt" is assigned to "zeros"
+ // - in 2.9 crash goes away if DenseMatrixFlt is a class instead of a trait:
+ // val zeros = new DenseMatrixFlt
+}
+
+object Test extends App {
+ val m1 = DenseFloatBuilder.zeros // in 2.9 crash goes away if explicit type "DenseMatrixFlt" is assigned to m1
+ val m2 = m1.duplicate(DenseFloatBuilder)
+}
+
diff --git a/test/pending/pos/t4790.scala b/test/pending/pos/t4790.scala
new file mode 100644
index 0000000000..e451fe80ab
--- /dev/null
+++ b/test/pending/pos/t4790.scala
@@ -0,0 +1,4 @@
+package spectest {
+ class Sp[@specialized A, B](val a: A, val b: B) { }
+ class Fsp[@specialized A, B](a: A, b: B) extends Sp(a,b) { def ab = (a,b) }
+}
diff --git a/test/pending/pos/t5259.scala b/test/pending/pos/t5259.scala
new file mode 100644
index 0000000000..317e28a9dc
--- /dev/null
+++ b/test/pending/pos/t5259.scala
@@ -0,0 +1,14 @@
+object DefaultArgBogusTypeMismatch {
+
+ class A[T]
+ class B {
+ type T = this.type
+ def m(implicit a : A[T] = new A[T]) = a
+ }
+
+ def newB = new B
+ val a1 = newB.m // Bogus type mismatch
+
+ val stableB = new B
+ val a2 = stableB.m // OK
+}
diff --git a/test/pending/pos/t5399.scala b/test/pending/pos/t5399.scala
new file mode 100644
index 0000000000..d8c1d5e51c
--- /dev/null
+++ b/test/pending/pos/t5399.scala
@@ -0,0 +1,15 @@
+class Test {
+ type AnyCyclic = Execute[Task]#CyclicException[_]
+
+ trait Task[T]
+
+ trait Execute[A[_] <: AnyRef] {
+ class CyclicException[T](val caller: A[T], val target: A[T])
+ }
+
+ def convertCyclic(c: AnyCyclic): String =
+ (c.caller, c.target) match {
+ case (caller: Task[_], target: Task[_]) => "bazinga!"
+ }
+}
+
diff --git a/test/pending/pos/t5400.scala b/test/pending/pos/t5400.scala
new file mode 100644
index 0000000000..cb4be4bde5
--- /dev/null
+++ b/test/pending/pos/t5400.scala
@@ -0,0 +1,14 @@
+trait TFn1B {
+ type In
+ type Out
+ type Apply[T <: In] <: Out
+}
+
+trait TFn1[I, O] extends TFn1B {
+ type In = I
+ type Out = O
+}
+
+trait >>[F1 <: TFn1[_, _], F2 <: TFn1[_, _]] extends TFn1[F1#In, F2#Out] {
+ type Apply[T] = F2#Apply[F1#Apply[T]]
+}
diff --git a/test/pending/run/reify_addressbook.scala b/test/pending/run/reify_addressbook.scala
index 225f26b75e..54dd5545bd 100644
--- a/test/pending/run/reify_addressbook.scala
+++ b/test/pending/run/reify_addressbook.scala
@@ -66,6 +66,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/reify_brainf_ck.scala b/test/pending/run/reify_brainf_ck.scala
index 3bfb76c9ea..0034644b81 100644
--- a/test/pending/run/reify_brainf_ck.scala
+++ b/test/pending/run/reify_brainf_ck.scala
@@ -80,6 +80,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/reify_callccinterpreter.scala b/test/pending/run/reify_callccinterpreter.scala
index c10f4f0b4e..96ae9c5c17 100644
--- a/test/pending/run/reify_callccinterpreter.scala
+++ b/test/pending/run/reify_callccinterpreter.scala
@@ -89,6 +89,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/t5229_1.check b/test/pending/run/reify_classfileann_b.check
index e69de29bb2..e69de29bb2 100644
--- a/test/pending/run/t5229_1.check
+++ b/test/pending/run/reify_classfileann_b.check
diff --git a/test/pending/run/reify_classfileann_b.scala b/test/pending/run/reify_classfileann_b.scala
new file mode 100644
index 0000000000..c31826377a
--- /dev/null
+++ b/test/pending/run/reify_classfileann_b.scala
@@ -0,0 +1,24 @@
+import scala.reflect._
+import scala.reflect.api._
+import scala.tools.nsc.reporters._
+import scala.tools.nsc.Settings
+import reflect.runtime.Mirror.ToolBox
+
+class ann(bar: String, quux: Array[String] = Array(), baz: ann = null) extends ClassfileAnnotation
+
+object Test extends App {
+ // test 1: reify
+ val tree = scala.reflect.Code.lift{
+ class C {
+ def x: Int = {
+ 2: @ann(bar="1", quux=Array("2", "3"), baz = new ann(bar = "4"))
+ }
+ }
+ }.tree
+ println(tree.toString)
+
+ // test 2: import and compile
+ val reporter = new ConsoleReporter(new Settings)
+ val toolbox = new ToolBox(reporter)
+ toolbox.runExpr(tree)
+} \ No newline at end of file
diff --git a/test/pending/run/reify_closure1.check b/test/pending/run/reify_closure1.check
deleted file mode 100644
index b2f7f08c17..0000000000
--- a/test/pending/run/reify_closure1.check
+++ /dev/null
@@ -1,2 +0,0 @@
-10
-10
diff --git a/test/pending/run/reify_closure1.scala b/test/pending/run/reify_closure1.scala
deleted file mode 100644
index 825a38dc1d..0000000000
--- a/test/pending/run/reify_closure1.scala
+++ /dev/null
@@ -1,20 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- def foo[T](ys: List[T]): Int => Int = {
- val fun: reflect.Code[Int => Int] = x => {
- x
- }
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(fun.tree)
- val dyn = toolbox.runExpr(ttree)
- dyn.asInstanceOf[Int => Int]
- }
-
- println(foo(List(1, 2, 3))(10))
- println(foo(List(1, 2, 3, 4))(10))
-}
diff --git a/test/pending/run/reify_closure2a.check b/test/pending/run/reify_closure2a.check
deleted file mode 100644
index c1f3abd7e6..0000000000
--- a/test/pending/run/reify_closure2a.check
+++ /dev/null
@@ -1,2 +0,0 @@
-11
-12
diff --git a/test/pending/run/reify_closure2a.scala b/test/pending/run/reify_closure2a.scala
deleted file mode 100644
index b88bec005d..0000000000
--- a/test/pending/run/reify_closure2a.scala
+++ /dev/null
@@ -1,20 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- def foo(y: Int): Int => Int = {
- val fun: reflect.Code[Int => Int] = x => {
- x + y
- }
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(fun.tree)
- val dyn = toolbox.runExpr(ttree)
- dyn.asInstanceOf[Int => Int]
- }
-
- println(foo(1)(10))
- println(foo(2)(10))
-}
diff --git a/test/pending/run/reify_closure2b.scala b/test/pending/run/reify_closure2b.scala
index e9fb40bede..b9c0063290 100644
--- a/test/pending/run/reify_closure2b.scala
+++ b/test/pending/run/reify_closure2b.scala
@@ -5,15 +5,14 @@ import reflect.runtime.Mirror.ToolBox
object Test extends App {
def foo(y: Int): Int => Int = {
class Foo(y: Int) {
- val fun: reflect.Code[Int => Int] = x => {
+ val fun = reflect.Code.lift{(x: Int) => {
x + y
- }
+ }}
}
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(new Foo(y).fun.tree)
- val dyn = toolbox.runExpr(ttree)
+ val dyn = toolbox.runExpr(new Foo(y).fun.tree)
dyn.asInstanceOf[Int => Int]
}
diff --git a/test/pending/run/reify_closure3a.check b/test/pending/run/reify_closure3a.check
deleted file mode 100644
index c1f3abd7e6..0000000000
--- a/test/pending/run/reify_closure3a.check
+++ /dev/null
@@ -1,2 +0,0 @@
-11
-12
diff --git a/test/pending/run/reify_closure3a.scala b/test/pending/run/reify_closure3a.scala
deleted file mode 100644
index 6414fa58a3..0000000000
--- a/test/pending/run/reify_closure3a.scala
+++ /dev/null
@@ -1,22 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- def foo(y: Int): Int => Int = {
- def y1 = y
-
- val fun: reflect.Code[Int => Int] = x => {
- x + y1
- }
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(fun.tree)
- val dyn = toolbox.runExpr(ttree)
- dyn.asInstanceOf[Int => Int]
- }
-
- println(foo(1)(10))
- println(foo(2)(10))
-}
diff --git a/test/pending/run/reify_closure3b.scala b/test/pending/run/reify_closure3b.scala
index 5c4f3c81b9..8f161dbff3 100644
--- a/test/pending/run/reify_closure3b.scala
+++ b/test/pending/run/reify_closure3b.scala
@@ -7,15 +7,14 @@ object Test extends App {
class Foo(y: Int) {
def y1 = y
- val fun: reflect.Code[Int => Int] = x => {
+ val fun = reflect.Code.lift{(x: Int) => {
x + y1
- }
+ }}
}
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(new Foo(y).fun.tree)
- val dyn = toolbox.runExpr(ttree)
+ val dyn = toolbox.runExpr(new Foo(y).fun.tree)
dyn.asInstanceOf[Int => Int]
}
diff --git a/test/pending/run/reify_closure4a.check b/test/pending/run/reify_closure4a.check
deleted file mode 100644
index c1f3abd7e6..0000000000
--- a/test/pending/run/reify_closure4a.check
+++ /dev/null
@@ -1,2 +0,0 @@
-11
-12
diff --git a/test/pending/run/reify_closure4a.scala b/test/pending/run/reify_closure4a.scala
deleted file mode 100644
index 99e9d82706..0000000000
--- a/test/pending/run/reify_closure4a.scala
+++ /dev/null
@@ -1,22 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- def foo(y: Int): Int => Int = {
- val y1 = y
-
- val fun: reflect.Code[Int => Int] = x => {
- x + y1
- }
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(fun.tree)
- val dyn = toolbox.runExpr(ttree)
- dyn.asInstanceOf[Int => Int]
- }
-
- println(foo(1)(10))
- println(foo(2)(10))
-}
diff --git a/test/pending/run/reify_closure4b.scala b/test/pending/run/reify_closure4b.scala
index 24dfa9fe17..238795d4dd 100644
--- a/test/pending/run/reify_closure4b.scala
+++ b/test/pending/run/reify_closure4b.scala
@@ -7,15 +7,14 @@ object Test extends App {
class Foo(y: Int) {
val y1 = y
- val fun: reflect.Code[Int => Int] = x => {
+ val fun = reflect.Code.lift{(x: Int) => {
x + y1
- }
+ }}
}
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(new Foo(y).fun.tree)
- val dyn = toolbox.runExpr(ttree)
+ val dyn = toolbox.runExpr(new Foo(y).fun.tree)
dyn.asInstanceOf[Int => Int]
}
diff --git a/test/pending/run/reify_closure5a.check b/test/pending/run/reify_closure5a.check
deleted file mode 100644
index df9e19c591..0000000000
--- a/test/pending/run/reify_closure5a.check
+++ /dev/null
@@ -1,2 +0,0 @@
-13
-14
diff --git a/test/pending/run/reify_closure5a.scala b/test/pending/run/reify_closure5a.scala
deleted file mode 100644
index 0ac53d5479..0000000000
--- a/test/pending/run/reify_closure5a.scala
+++ /dev/null
@@ -1,20 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- def foo[T](ys: List[T]): Int => Int = {
- val fun: reflect.Code[Int => Int] = x => {
- x + ys.length
- }
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(fun.tree)
- val dyn = toolbox.runExpr(ttree)
- dyn.asInstanceOf[Int => Int]
- }
-
- println(foo(List(1, 2, 3))(10))
- println(foo(List(1, 2, 3, 4))(10))
-}
diff --git a/test/pending/run/reify_closure5b.scala b/test/pending/run/reify_closure5b.scala
index 02eb771f0c..bdb2583e8a 100644
--- a/test/pending/run/reify_closure5b.scala
+++ b/test/pending/run/reify_closure5b.scala
@@ -5,15 +5,14 @@ import reflect.runtime.Mirror.ToolBox
object Test extends App {
def foo[T](ys: List[T]): Int => Int = {
class Foo[T](ys: List[T]) {
- val fun: reflect.Code[Int => Int] = x => {
+ val fun = reflect.Code.lift{(x: Int) => {
x + ys.length
- }
+ }}
}
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(new Foo(ys).fun.tree)
- val dyn = toolbox.runExpr(ttree)
+ val dyn = toolbox.runExpr(new Foo(ys).fun.tree)
dyn.asInstanceOf[Int => Int]
}
diff --git a/test/pending/run/reify_closure6.check b/test/pending/run/reify_closure6.check
deleted file mode 100644
index 3526d04b0e..0000000000
--- a/test/pending/run/reify_closure6.check
+++ /dev/null
@@ -1,3 +0,0 @@
-first invocation = 15
-second invocation = 18
-q after second invocation = 2
diff --git a/test/pending/run/reify_closure6.scala b/test/pending/run/reify_closure6.scala
deleted file mode 100644
index 909071aa44..0000000000
--- a/test/pending/run/reify_closure6.scala
+++ /dev/null
@@ -1,26 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- var q = 0
- def foo[T](ys: List[T]): Int => Int = {
- val z = 1
- var y = 0
- val fun: reflect.Code[Int => Int] = x => {
- y += 1
- q += 1
- x + ys.length * z + q + y
- }
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(fun.tree)
- val dyn = toolbox.runExpr(ttree)
- dyn.asInstanceOf[Int => Int]
- }
-
- println("first invocation = " + foo(List(1, 2, 3))(10))
- println("second invocation = " + foo(List(1, 2, 3, 4))(10))
- println("q after second invocation = " + q)
-}
diff --git a/test/pending/run/reify_closure8b.check b/test/pending/run/reify_closure8b.check
new file mode 100644
index 0000000000..9a037142aa
--- /dev/null
+++ b/test/pending/run/reify_closure8b.check
@@ -0,0 +1 @@
+10 \ No newline at end of file
diff --git a/test/pending/run/reify_closure8b.scala b/test/pending/run/reify_closure8b.scala
new file mode 100644
index 0000000000..38031c217b
--- /dev/null
+++ b/test/pending/run/reify_closure8b.scala
@@ -0,0 +1,16 @@
+import scala.reflect.Code._
+import scala.tools.nsc.reporters._
+import scala.tools.nsc.Settings
+import reflect.runtime.Mirror.ToolBox
+
+object Test extends App {
+ class Foo(y: Int) {
+ def fun = lift{y}
+ }
+
+ val reporter = new ConsoleReporter(new Settings)
+ val toolbox = new ToolBox(reporter)
+ val dyn = toolbox.runExpr(new Foo(10).fun.tree)
+ val foo = dyn.asInstanceOf[Int]
+ println(foo)
+}
diff --git a/test/pending/run/reify_closure9a.check b/test/pending/run/reify_closure9a.check
new file mode 100644
index 0000000000..9a037142aa
--- /dev/null
+++ b/test/pending/run/reify_closure9a.check
@@ -0,0 +1 @@
+10 \ No newline at end of file
diff --git a/test/pending/run/reify_closure9a.scala b/test/pending/run/reify_closure9a.scala
new file mode 100644
index 0000000000..185f4ffca1
--- /dev/null
+++ b/test/pending/run/reify_closure9a.scala
@@ -0,0 +1,19 @@
+import scala.reflect.Code._
+import scala.tools.nsc.reporters._
+import scala.tools.nsc.Settings
+import reflect.runtime.Mirror.ToolBox
+
+object Test extends App {
+ def foo(y: Int) = {
+ class Foo(val y: Int) {
+ def fun = lift{y}
+ }
+
+ val reporter = new ConsoleReporter(new Settings)
+ val toolbox = new ToolBox(reporter)
+ val dyn = toolbox.runExpr(new Foo(y).fun.tree)
+ dyn.asInstanceOf[Int]
+ }
+
+ println(foo(10))
+}
diff --git a/test/pending/run/reify_closure9b.check b/test/pending/run/reify_closure9b.check
new file mode 100644
index 0000000000..9a037142aa
--- /dev/null
+++ b/test/pending/run/reify_closure9b.check
@@ -0,0 +1 @@
+10 \ No newline at end of file
diff --git a/test/pending/run/reify_closure9b.scala b/test/pending/run/reify_closure9b.scala
new file mode 100644
index 0000000000..ad279fac6d
--- /dev/null
+++ b/test/pending/run/reify_closure9b.scala
@@ -0,0 +1,19 @@
+import scala.reflect.Code._
+import scala.tools.nsc.reporters._
+import scala.tools.nsc.Settings
+import reflect.runtime.Mirror.ToolBox
+
+object Test extends App {
+ def foo(y: Int) = {
+ class Foo(y: Int) {
+ def fun = lift{y}
+ }
+
+ val reporter = new ConsoleReporter(new Settings)
+ val toolbox = new ToolBox(reporter)
+ val dyn = toolbox.runExpr(new Foo(y).fun.tree)
+ dyn.asInstanceOf[Int]
+ }
+
+ println(foo(10))
+}
diff --git a/test/pending/run/reify_closures11.check b/test/pending/run/reify_closures11.check
new file mode 100644
index 0000000000..d8263ee986
--- /dev/null
+++ b/test/pending/run/reify_closures11.check
@@ -0,0 +1 @@
+2 \ No newline at end of file
diff --git a/test/pending/run/t5275.scala b/test/pending/run/reify_closures11.scala
index d419834ded..2c4177b8f2 100644
--- a/test/pending/run/t5275.scala
+++ b/test/pending/run/reify_closures11.scala
@@ -1,15 +1,17 @@
+import scala.reflect.Code._
import scala.tools.nsc.reporters._
import scala.tools.nsc.Settings
import reflect.runtime.Mirror.ToolBox
object Test extends App {
- val code = scala.reflect.Code.lift{
- class C(val foo: Int)
- println(new C(2).foo)
- };
+ def fun() = {
+ def z() = 2
+ lift{z}
+ }
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ val dyn = toolbox.runExpr(fun().tree)
+ val foo = dyn.asInstanceOf[Int]
+ println(foo)
}
diff --git a/test/pending/run/reify_complex.check b/test/pending/run/reify_complex.check
deleted file mode 100644
index 7df35e33a0..0000000000
--- a/test/pending/run/reify_complex.check
+++ /dev/null
@@ -1 +0,0 @@
-3.0+4.0*i
diff --git a/test/pending/run/reify_complex.scala b/test/pending/run/reify_complex.scala
deleted file mode 100644
index aae4d558cf..0000000000
--- a/test/pending/run/reify_complex.scala
+++ /dev/null
@@ -1,31 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- class Complex(val re: Double, val im: Double) {
- def + (that: Complex) =
- new Complex(re + that.re, im + that.im)
- def - (that: Complex) =
- new Complex(re - that.re, im - that.im)
- def * (that: Complex) =
- new Complex(re * that.re - im * that.im,
- re * that.im + im * that.re)
- def / (that: Complex) = {
- val denom = that.re * that.re + that.im * that.im
- new Complex((re * that.re + im * that.im) / denom,
- (im * that.re - re * that.im) / denom)
- }
- override def toString =
- re + (if (im < 0) "-" + (-im) else "+" + im) + "*i"
- }
- val x = new Complex(2, 1); val y = new Complex(1, 3)
- println(x + y)
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/reify_csv.scala b/test/pending/run/reify_csv.scala
index a05a3b55d4..a6a616fab0 100644
--- a/test/pending/run/reify_csv.scala
+++ b/test/pending/run/reify_csv.scala
@@ -37,6 +37,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/reify_extendbuiltins.check b/test/pending/run/reify_extendbuiltins.check
deleted file mode 100644
index a48033a30d..0000000000
--- a/test/pending/run/reify_extendbuiltins.check
+++ /dev/null
@@ -1 +0,0 @@
-10! = 3628800
diff --git a/test/pending/run/reify_extendbuiltins.scala b/test/pending/run/reify_extendbuiltins.scala
deleted file mode 100644
index 57acd699ff..0000000000
--- a/test/pending/run/reify_extendbuiltins.scala
+++ /dev/null
@@ -1,21 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- def fact(n: Int): BigInt =
- if (n == 0) 1 else fact(n-1) * n
- class Factorizer(n: Int) {
- def ! = fact(n)
- }
- implicit def int2fact(n: Int) = new Factorizer(n)
-
- println("10! = " + (10!))
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/reify_fors.check b/test/pending/run/reify_fors.check
deleted file mode 100644
index eefddedc20..0000000000
--- a/test/pending/run/reify_fors.check
+++ /dev/null
@@ -1,5 +0,0 @@
-Persons over 20: John Richard
-divisors(34) = List(1, 2, 17, 34)
-findNums(15) = (4,1) (5,2) (6,1) (7,4) (8,3) (8,5) (9,2) (9,4) (10,1) (10,3) (10,7) (11,2) (11,6) (11,8) (12,1) (12,5) (12,7) (13,4) (13,6) (13,10) (14,3) (14,5) (14,9)
-average(List(3.5, 5.0, 4.5)) = 4.333333333333333
-scalProd(List(3.5, 5.0, 4.5), List(2.0, 1.0, 3.0)) = 25.5
diff --git a/test/pending/run/reify_fors.scala b/test/pending/run/reify_fors.scala
deleted file mode 100644
index f3556514a9..0000000000
--- a/test/pending/run/reify_fors.scala
+++ /dev/null
@@ -1,107 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- object Persons {
- /** A list of persons. To create a list, we use Predef.List
- * which takes a variable number of arguments and constructs
- * a list out of them.
- */
- val persons = List(
- new Person("Bob", 17),
- new Person("John", 40),
- new Person("Richard", 68)
- )
-
- /** A Person class. 'val' constructor parameters become
- * public members of the class.
- */
- class Person(val name: String, val age: Int)
-
- /** Return an iterator over persons that are older than 20.
- */
- def olderThan20(xs: Seq[Person]): Iterator[String] =
- olderThan20(xs.elements)
-
- /** Return an iterator over persons older than 20, given
- * an iterator over persons.
- */
- def olderThan20(xs: Iterator[Person]): Iterator[String] = {
-
- // The first expression is called a 'generator' and makes
- // 'p' take values from 'xs'. The second expression is
- // called a 'filter' and it is a boolean expression which
- // selects only persons older than 20. There can be more than
- // one generator and filter. The 'yield' expression is evaluated
- // for each 'p' which satisfies the filters and used to assemble
- // the resulting iterator
- for (p <- xs if p.age > 20) yield p.name
- }
- }
-
- /** Some functions over lists of numbers which demonstrate
- * the use of for comprehensions.
- */
- object Numeric {
-
- /** Return the divisors of n. */
- def divisors(n: Int): List[Int] =
- for (i <- List.range(1, n+1) if n % i == 0) yield i
-
- /** Is 'n' a prime number? */
- def isPrime(n: Int) = divisors(n).length == 2
-
- /** Return pairs of numbers whose sum is prime. */
- def findNums(n: Int): Iterable[(Int, Int)] = {
-
- // a for comprehension using two generators
- for (i <- 1 until n;
- j <- 1 until (i-1);
- if isPrime(i + j)) yield (i, j)
- }
-
- /** Return the sum of the elements of 'xs'. */
- def sum(xs: List[Double]): Double =
- xs.foldLeft(0.0) { (x, y) => x + y }
-
- /** Return the sum of pairwise product of the two lists. */
- def scalProd(xs: List[Double], ys: List[Double]) =
- sum(for((x, y) <- xs zip ys) yield x * y);
-
- /** Remove duplicate elements in 'xs'. */
- def removeDuplicates[A](xs: List[A]): List[A] =
- if (xs.isEmpty)
- xs
- else
- xs.head :: removeDuplicates(for (x <- xs.tail if x != xs.head) yield x)
- }
-
- // import all members of object 'persons' in the current scope
- import Persons._
-
- print("Persons over 20:")
- olderThan20(persons) foreach { x => print(" " + x) }
- println
-
- import Numeric._
-
- println("divisors(34) = " + divisors(34))
-
- print("findNums(15) =")
- findNums(15) foreach { x => print(" " + x) }
- println
-
- val xs = List(3.5, 5.0, 4.5)
- println("average(" + xs + ") = " + sum(xs) / xs.length)
-
- val ys = List(2.0, 1.0, 3.0)
- println("scalProd(" + xs + ", " + ys +") = " + scalProd(xs, ys))
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/reify_gadts.scala b/test/pending/run/reify_gadts.scala
index 7077de735c..9feb7a5726 100644
--- a/test/pending/run/reify_gadts.scala
+++ b/test/pending/run/reify_gadts.scala
@@ -40,6 +40,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/reify_implicits.check b/test/pending/run/reify_implicits.check
deleted file mode 100644
index e3aeb20f6b..0000000000
--- a/test/pending/run/reify_implicits.check
+++ /dev/null
@@ -1 +0,0 @@
-x = List(1, 2, 3, 4)
diff --git a/test/pending/run/reify_implicits.scala b/test/pending/run/reify_implicits.scala
deleted file mode 100644
index a15cef9c97..0000000000
--- a/test/pending/run/reify_implicits.scala
+++ /dev/null
@@ -1,21 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- implicit def arrayWrapper[A : ClassManifest](x: Array[A]) =
- new {
- def sort(p: (A, A) => Boolean) = {
- util.Sorting.stableSort(x, p); x
- }
- }
- val x = Array(2, 3, 1, 4)
- println("x = "+ x.sort((x: Int, y: Int) => x < y).toList)
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/reify_lazyevaluation.scala b/test/pending/run/reify_lazyevaluation.scala
index f38af76751..0720a7c979 100644
--- a/test/pending/run/reify_lazyevaluation.scala
+++ b/test/pending/run/reify_lazyevaluation.scala
@@ -60,6 +60,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/reify_maps.check b/test/pending/run/reify_maps.check
deleted file mode 100644
index 08cbbb1359..0000000000
--- a/test/pending/run/reify_maps.check
+++ /dev/null
@@ -1,4 +0,0 @@
-red has code: 16711680
-Unknown color: green
-Unknown color: blue
-turquoise has code: 65535
diff --git a/test/pending/run/reify_maps.scala b/test/pending/run/reify_maps.scala
deleted file mode 100644
index 589b28d049..0000000000
--- a/test/pending/run/reify_maps.scala
+++ /dev/null
@@ -1,26 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- val colors = Map("red" -> 0xFF0000,
- "turquoise" -> 0x00FFFF,
- "black" -> 0x000000,
- "orange" -> 0xFF8040,
- "brown" -> 0x804000)
- for (name <- List("red", "green", "blue", "turquoise")) println(
- colors.get(name) match {
- case Some(code) =>
- name + " has code: " + code
- case None =>
- "Unknown color: " + name
- }
- )
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/reify_properties.scala b/test/pending/run/reify_properties.scala
index 2115a96715..265c344b8e 100644
--- a/test/pending/run/reify_properties.scala
+++ b/test/pending/run/reify_properties.scala
@@ -58,6 +58,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/reify_simpleinterpreter.scala b/test/pending/run/reify_simpleinterpreter.scala
index b39f5583bb..4762afb3cc 100644
--- a/test/pending/run/reify_simpleinterpreter.scala
+++ b/test/pending/run/reify_simpleinterpreter.scala
@@ -77,6 +77,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/reify_sort.check b/test/pending/run/reify_sort.check
deleted file mode 100644
index 375536cc29..0000000000
--- a/test/pending/run/reify_sort.check
+++ /dev/null
@@ -1,2 +0,0 @@
-[6,2,8,5,1]
-[1,2,5,6,8]
diff --git a/test/pending/run/reify_sort.scala b/test/pending/run/reify_sort.scala
deleted file mode 100644
index 42991fe5d2..0000000000
--- a/test/pending/run/reify_sort.scala
+++ /dev/null
@@ -1,57 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- /** Nested methods can use and even update everything
- * visible in their scope (including local variables or
- * arguments of enclosing methods).
- */
- def sort(a: Array[Int]) {
-
- def swap(i: Int, j: Int) {
- val t = a(i); a(i) = a(j); a(j) = t
- }
-
- def sort1(l: Int, r: Int) {
- val pivot = a((l + r) / 2)
- var i = l
- var j = r
- while (i <= j) {
- while (a(i) < pivot) i += 1
- while (a(j) > pivot) j -= 1
- if (i <= j) {
- swap(i, j)
- i += 1
- j -= 1
- }
- }
- if (l < j) sort1(l, j)
- if (j < r) sort1(i, r)
- }
-
- if (a.length > 0)
- sort1(0, a.length - 1)
- }
-
- def println(ar: Array[Int]) {
- def print1 = {
- def iter(i: Int): String =
- ar(i) + (if (i < ar.length-1) "," + iter(i+1) else "")
- if (ar.length == 0) "" else iter(0)
- }
- Console.println("[" + print1 + "]")
- }
-
- val ar = Array(6, 2, 8, 5, 1)
- println(ar)
- sort(ar)
- println(ar)
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/reify_sort1.check b/test/pending/run/reify_sort1.check
deleted file mode 100644
index 0d30805141..0000000000
--- a/test/pending/run/reify_sort1.check
+++ /dev/null
@@ -1,2 +0,0 @@
-List(6, 2, 8, 5, 1)
-List(1, 2, 5, 6, 8)
diff --git a/test/pending/run/reify_sort1.scala b/test/pending/run/reify_sort1.scala
deleted file mode 100644
index 42f4c824a5..0000000000
--- a/test/pending/run/reify_sort1.scala
+++ /dev/null
@@ -1,27 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- def sort(a: List[Int]): List[Int] = {
- if (a.length < 2)
- a
- else {
- val pivot = a(a.length / 2)
- sort(a.filter(_ < pivot)) :::
- a.filter(_ == pivot) :::
- sort(a.filter(_ > pivot))
- }
- }
-
- val xs = List(6, 2, 8, 5, 1)
- println(xs)
- println(sort(xs))
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/reify_timeofday.check b/test/pending/run/reify_timeofday.check
deleted file mode 100644
index 3fd3b76a62..0000000000
--- a/test/pending/run/reify_timeofday.check
+++ /dev/null
@@ -1 +0,0 @@
-DateError
diff --git a/test/pending/run/reify_timeofday.scala b/test/pending/run/reify_timeofday.scala
deleted file mode 100644
index 6bd11b0d30..0000000000
--- a/test/pending/run/reify_timeofday.scala
+++ /dev/null
@@ -1,48 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- class DateError extends Exception
-
- /** Simulating properties in Scala
- * (example 4.2.1 in ScalaReference.pdf)
- */
- class TimeOfDayVar {
- private var h, m, s: Int = 0
-
- def hours = h
-
- /** A method 'ident_=' is a setter for 'ident'. 'code.ident = ...' will
- * be translated to a call to 'ident_='
- */
- def hours_= (h: Int) =
- if (0 <= h && h < 24) this.h = h
- else throw new DateError()
-
- def minutes = m
- def minutes_= (m: Int) =
- if (0 <= m && m < 60) this.m = m
- else throw new DateError()
-
- def seconds = s
- def seconds_= (s: Int) =
- if (0 <= s && s < 60) this.s = s
- else throw new DateError()
- }
-
- val d = new TimeOfDayVar
- d.hours = 8; d.minutes = 30; d.seconds = 0
- try { d.hours = 25 // throws a DateError exception
- } catch {
- case de: DateError => println("DateError")
- case e: Exception => println("Exception")
- }
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t4511.scala b/test/pending/run/t4511.scala
new file mode 100644
index 0000000000..58d4e0c7b0
--- /dev/null
+++ b/test/pending/run/t4511.scala
@@ -0,0 +1,10 @@
+class Interval[@specialized T](val high: T)
+class Node[@specialized T](val interval: Interval[T]) {
+ val x1 = Some(interval.high)
+}
+
+object Test {
+ def main(args: Array[String]): Unit = {
+ new Node(new Interval(5)).x1
+ }
+} \ No newline at end of file
diff --git a/test/pending/run/t4971.scala b/test/pending/run/t4971.scala
new file mode 100644
index 0000000000..c9b6d6f39f
--- /dev/null
+++ b/test/pending/run/t4971.scala
@@ -0,0 +1,16 @@
+trait A[@specialized(Int) K, @specialized(Double) V] {
+ def doStuff(k: K, v: V): Unit = sys.error("I am overridden, you cannot call me")
+}
+
+trait B[@specialized(Double) V] extends A[Int, V] {
+ override def doStuff(k: Int, v: V): Unit = println("Hi - I'm calling doStuff in B")
+}
+
+object Test {
+ def main(args: Array[String]): Unit = delegate(new B[Double]() {}, 1, 0.1)
+
+ def delegate[@specialized(Int) K, @specialized(Double) V](a: A[K, V], k: K, v: V) {
+ a.doStuff(k, v)
+ }
+}
+
diff --git a/test/pending/run/t5224.check b/test/pending/run/t5224.check
deleted file mode 100644
index 2b920773c0..0000000000
--- a/test/pending/run/t5224.check
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- @serializable class C extends Object with ScalaObject {
- def <init>() = {
- super.<init>();
- ()
- }
- };
- ()
-} \ No newline at end of file
diff --git a/test/pending/run/t5224.scala b/test/pending/run/t5224.scala
deleted file mode 100644
index 865ce4bfe9..0000000000
--- a/test/pending/run/t5224.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-import scala.reflect._
-import scala.reflect.api._
-
-object Test extends App {
- println(scala.reflect.Code.lift{
- @serializable class C
- }.tree.toString)
-} \ No newline at end of file
diff --git a/test/pending/run/t5225_1.check b/test/pending/run/t5225_1.check
deleted file mode 100644
index b29cd9c365..0000000000
--- a/test/pending/run/t5225_1.check
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- @transient @volatile var x: Int = 2;
- ()
-} \ No newline at end of file
diff --git a/test/pending/run/t5225_1.scala b/test/pending/run/t5225_1.scala
deleted file mode 100644
index 454502e810..0000000000
--- a/test/pending/run/t5225_1.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-import scala.reflect._
-import scala.reflect.api._
-
-object Test extends App {
- println(scala.reflect.Code.lift{
- @transient @volatile var x = 2
- }.tree.toString)
-} \ No newline at end of file
diff --git a/test/pending/run/t5225_2.check b/test/pending/run/t5225_2.check
deleted file mode 100644
index 88972fd27f..0000000000
--- a/test/pending/run/t5225_2.check
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- def foo(@cloneable x: Int): String = "";
- ()
-}
diff --git a/test/pending/run/t5225_2.scala b/test/pending/run/t5225_2.scala
deleted file mode 100644
index 82bad0f353..0000000000
--- a/test/pending/run/t5225_2.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-import scala.reflect._
-import scala.reflect.api._
-
-object Test extends App {
- println(scala.reflect.Code.lift{
- def foo(@cloneable x: Int) = ""
- }.tree.toString)
-} \ No newline at end of file
diff --git a/test/pending/run/t5229_1_nolift.scala b/test/pending/run/t5229_1_nolift.scala
deleted file mode 100644
index 33855d2e4f..0000000000
--- a/test/pending/run/t5229_1_nolift.scala
+++ /dev/null
@@ -1 +0,0 @@
-object C
diff --git a/test/pending/run/t5229_2.check b/test/pending/run/t5229_2.check
deleted file mode 100644
index 5db6ec9b38..0000000000
--- a/test/pending/run/t5229_2.check
+++ /dev/null
@@ -1,2 +0,0 @@
-2
-evaluated = null
diff --git a/test/pending/run/t5229_2.scala b/test/pending/run/t5229_2.scala
deleted file mode 100644
index 67be7328a6..0000000000
--- a/test/pending/run/t5229_2.scala
+++ /dev/null
@@ -1,19 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- object C {
- val x = 2
- }
-
- println(C.x)
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- val evaluated = toolbox.runExpr(ttree)
- println("evaluated = " + evaluated)
-}
diff --git a/test/pending/run/t5256c.check b/test/pending/run/t5256c.check
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/pending/run/t5256c.check
diff --git a/test/pending/run/t5256c.scala b/test/pending/run/t5256c.scala
new file mode 100644
index 0000000000..8ebb51a009
--- /dev/null
+++ b/test/pending/run/t5256c.scala
@@ -0,0 +1,10 @@
+import scala.reflect.mirror._
+
+object Test extends App {
+ {
+ class A
+ val c = classToType(classOf[A])
+ println(c)
+ println(c.typeSymbol == classToSymbol(classOf[A]))
+ }
+}
diff --git a/test/pending/run/t5256g.check b/test/pending/run/t5256g.check
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/pending/run/t5256g.check
diff --git a/test/pending/run/t5256g.scala b/test/pending/run/t5256g.scala
new file mode 100644
index 0000000000..6158a9281d
--- /dev/null
+++ b/test/pending/run/t5256g.scala
@@ -0,0 +1,11 @@
+import scala.reflect.mirror._
+
+class A
+trait B
+
+object Test extends App {
+ val mutant = new A with B
+ val c = classToType(mutant.getClass)
+ println(c)
+ println(c.typeSymbol == classToSymbol(mutant.getClass))
+}
diff --git a/test/pending/run/t5256h.check b/test/pending/run/t5256h.check
new file mode 100644
index 0000000000..4f9b8faf71
--- /dev/null
+++ b/test/pending/run/t5256h.check
@@ -0,0 +1,8 @@
+import scala.reflect.mirror._
+
+object Test extends App {
+ val mutant = new { val x = 2 }
+ val c = classToType(mutant.getClass)
+ println(c)
+ println(c.typeSymbol == classToSymbol(mutant.getClass))
+}
diff --git a/test/pending/run/t5256h.scala b/test/pending/run/t5256h.scala
new file mode 100644
index 0000000000..4f9b8faf71
--- /dev/null
+++ b/test/pending/run/t5256h.scala
@@ -0,0 +1,8 @@
+import scala.reflect.mirror._
+
+object Test extends App {
+ val mutant = new { val x = 2 }
+ val c = classToType(mutant.getClass)
+ println(c)
+ println(c.typeSymbol == classToSymbol(mutant.getClass))
+}
diff --git a/test/pending/run/t5258b.check b/test/pending/run/t5258b.check
new file mode 100644
index 0000000000..283b4225fb
--- /dev/null
+++ b/test/pending/run/t5258b.check
@@ -0,0 +1 @@
+TBI \ No newline at end of file
diff --git a/test/pending/run/t5334_1.scala b/test/pending/run/t5258b.scala
index c1eba89c2b..3a603095b3 100644
--- a/test/pending/run/t5334_1.scala
+++ b/test/pending/run/t5258b.scala
@@ -5,11 +5,10 @@ import reflect.runtime.Mirror.ToolBox
object Test extends App {
val code = scala.reflect.Code.lift{
class C
- new C
+ println(classOf[C])
};
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
+ toolbox.runExpr(code.tree)
+} \ No newline at end of file
diff --git a/test/pending/run/t5258c.check b/test/pending/run/t5258c.check
new file mode 100644
index 0000000000..283b4225fb
--- /dev/null
+++ b/test/pending/run/t5258c.check
@@ -0,0 +1 @@
+TBI \ No newline at end of file
diff --git a/test/pending/run/t5279.scala b/test/pending/run/t5258c.scala
index 39e7dd2c66..b0d16ba0b1 100644
--- a/test/pending/run/t5279.scala
+++ b/test/pending/run/t5258c.scala
@@ -4,11 +4,11 @@ import reflect.runtime.Mirror.ToolBox
object Test extends App {
val code = scala.reflect.Code.lift{
- println(new Integer(10))
+ object E extends Enumeration { val foo, bar = Value }
+ println(E.foo)
};
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
+ toolbox.runExpr(code.tree)
+} \ No newline at end of file
diff --git a/test/pending/run/t5269.check b/test/pending/run/t5269.check
deleted file mode 100644
index 0cfbf08886..0000000000
--- a/test/pending/run/t5269.check
+++ /dev/null
@@ -1 +0,0 @@
-2
diff --git a/test/pending/run/t5269.scala b/test/pending/run/t5269.scala
deleted file mode 100644
index a30509f3fe..0000000000
--- a/test/pending/run/t5269.scala
+++ /dev/null
@@ -1,22 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- trait Z {
- val z = 2
- }
-
- class X extends Z {
- def println() = Predef.println(z)
- }
-
- new X().println()
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5270.check b/test/pending/run/t5270.check
deleted file mode 100644
index 08839f6bb2..0000000000
--- a/test/pending/run/t5270.check
+++ /dev/null
@@ -1 +0,0 @@
-200
diff --git a/test/pending/run/t5270.scala b/test/pending/run/t5270.scala
deleted file mode 100644
index 10f79790b0..0000000000
--- a/test/pending/run/t5270.scala
+++ /dev/null
@@ -1,26 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- class Y {
- def y = 100
- }
-
- trait Z { this: Y =>
- val z = 2 * y
- }
-
- class X extends Y with Z {
- def println() = Predef.println(z)
- }
-
- new X().println()
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5271_1.scala b/test/pending/run/t5271_1.scala
index 5f10e64528..afbd8fe465 100644
--- a/test/pending/run/t5271_1.scala
+++ b/test/pending/run/t5271_1.scala
@@ -9,6 +9,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/t5271_2.scala b/test/pending/run/t5271_2.scala
index 71967c04ed..d85d945973 100644
--- a/test/pending/run/t5271_2.scala
+++ b/test/pending/run/t5271_2.scala
@@ -11,6 +11,5 @@ object Test extends App {
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/t5271_3.check b/test/pending/run/t5271_3.check
new file mode 100644
index 0000000000..f32a5804e2
--- /dev/null
+++ b/test/pending/run/t5271_3.check
@@ -0,0 +1 @@
+true \ No newline at end of file
diff --git a/test/pending/run/t5276.scala b/test/pending/run/t5271_3.scala
index 432fdb91e4..5a624de903 100644
--- a/test/pending/run/t5276.scala
+++ b/test/pending/run/t5271_3.scala
@@ -4,12 +4,13 @@ import reflect.runtime.Mirror.ToolBox
object Test extends App {
val code = scala.reflect.Code.lift{
- lazy x = 2
- println(x)
+ object C { def qwe = 4 }
+ case class C(foo: Int, bar: Int)
+ val c = C(2, 2)
+ println(c.foo * c.bar == C.qwe)
};
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
+ toolbox.runExpr(code.tree)
}
diff --git a/test/pending/run/t5272.check b/test/pending/run/t5272.check
deleted file mode 100644
index dcf02b2fb6..0000000000
--- a/test/pending/run/t5272.check
+++ /dev/null
@@ -1 +0,0 @@
-okay
diff --git a/test/pending/run/t5272.scala b/test/pending/run/t5272.scala
deleted file mode 100644
index 3f44d05fb3..0000000000
--- a/test/pending/run/t5272.scala
+++ /dev/null
@@ -1,17 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- 2 match {
- case 2 => println("okay")
- case _ => println("not okay")
- }
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5273_1.check b/test/pending/run/t5273_1.check
deleted file mode 100644
index c551774ca5..0000000000
--- a/test/pending/run/t5273_1.check
+++ /dev/null
@@ -1 +0,0 @@
-name = American Dollar, shortname = USD, value = 2,8567
diff --git a/test/pending/run/t5273_1.scala b/test/pending/run/t5273_1.scala
deleted file mode 100644
index 8b75084463..0000000000
--- a/test/pending/run/t5273_1.scala
+++ /dev/null
@@ -1,16 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- val RegexParser = """(.*) \d+([A-Z]+) \| (.*) \|.*""".r
- val RegexParser(name, shortname, value) = "American Dollar 1USD | 2,8567 | sometext"
- println("name = %s, shortname = %s, value = %s".format(name, shortname, value))
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5273_2.check b/test/pending/run/t5273_2.check
deleted file mode 100644
index 0cfbf08886..0000000000
--- a/test/pending/run/t5273_2.check
+++ /dev/null
@@ -1 +0,0 @@
-2
diff --git a/test/pending/run/t5273_2.scala b/test/pending/run/t5273_2.scala
deleted file mode 100644
index 1175881c9f..0000000000
--- a/test/pending/run/t5273_2.scala
+++ /dev/null
@@ -1,17 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- List(1, 2, 3) match {
- case foo :: bar :: _ => println(foo * bar)
- case _ => println("this is getting out of hand!")
- }
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5274_1.check b/test/pending/run/t5274_1.check
deleted file mode 100644
index fca8bc3d3e..0000000000
--- a/test/pending/run/t5274_1.check
+++ /dev/null
@@ -1,3 +0,0 @@
-50! = 30414093201713378043612608166064768844377641568960512000000000000
-49! = 608281864034267560872252163321295376887552831379210240000000000
-50!/49! = 50
diff --git a/test/pending/run/t5274_1.scala b/test/pending/run/t5274_1.scala
deleted file mode 100644
index c501172518..0000000000
--- a/test/pending/run/t5274_1.scala
+++ /dev/null
@@ -1,20 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- def factorial(n: BigInt): BigInt =
- if (n == 0) 1 else n * factorial(n-1)
-
- val f50 = factorial(50); val f49 = factorial(49)
- println("50! = " + f50)
- println("49! = " + f49)
- println("50!/49! = " + (f50 / f49))
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5274_2.check b/test/pending/run/t5274_2.check
deleted file mode 100644
index 375536cc29..0000000000
--- a/test/pending/run/t5274_2.check
+++ /dev/null
@@ -1,2 +0,0 @@
-[6,2,8,5,1]
-[1,2,5,6,8]
diff --git a/test/pending/run/t5274_2.scala b/test/pending/run/t5274_2.scala
deleted file mode 100644
index 42991fe5d2..0000000000
--- a/test/pending/run/t5274_2.scala
+++ /dev/null
@@ -1,57 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- /** Nested methods can use and even update everything
- * visible in their scope (including local variables or
- * arguments of enclosing methods).
- */
- def sort(a: Array[Int]) {
-
- def swap(i: Int, j: Int) {
- val t = a(i); a(i) = a(j); a(j) = t
- }
-
- def sort1(l: Int, r: Int) {
- val pivot = a((l + r) / 2)
- var i = l
- var j = r
- while (i <= j) {
- while (a(i) < pivot) i += 1
- while (a(j) > pivot) j -= 1
- if (i <= j) {
- swap(i, j)
- i += 1
- j -= 1
- }
- }
- if (l < j) sort1(l, j)
- if (j < r) sort1(i, r)
- }
-
- if (a.length > 0)
- sort1(0, a.length - 1)
- }
-
- def println(ar: Array[Int]) {
- def print1 = {
- def iter(i: Int): String =
- ar(i) + (if (i < ar.length-1) "," + iter(i+1) else "")
- if (ar.length == 0) "" else iter(0)
- }
- Console.println("[" + print1 + "]")
- }
-
- val ar = Array(6, 2, 8, 5, 1)
- println(ar)
- sort(ar)
- println(ar)
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5275.check b/test/pending/run/t5275.check
deleted file mode 100644
index 0cfbf08886..0000000000
--- a/test/pending/run/t5275.check
+++ /dev/null
@@ -1 +0,0 @@
-2
diff --git a/test/pending/run/t5276.check b/test/pending/run/t5276.check
deleted file mode 100644
index 0cfbf08886..0000000000
--- a/test/pending/run/t5276.check
+++ /dev/null
@@ -1 +0,0 @@
-2
diff --git a/test/pending/run/t5277_1.check b/test/pending/run/t5277_1.check
deleted file mode 100644
index a48033a30d..0000000000
--- a/test/pending/run/t5277_1.check
+++ /dev/null
@@ -1 +0,0 @@
-10! = 3628800
diff --git a/test/pending/run/t5277_1.scala b/test/pending/run/t5277_1.scala
deleted file mode 100644
index 57acd699ff..0000000000
--- a/test/pending/run/t5277_1.scala
+++ /dev/null
@@ -1,21 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- def fact(n: Int): BigInt =
- if (n == 0) 1 else fact(n-1) * n
- class Factorizer(n: Int) {
- def ! = fact(n)
- }
- implicit def int2fact(n: Int) = new Factorizer(n)
-
- println("10! = " + (10!))
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5277_2.check b/test/pending/run/t5277_2.check
deleted file mode 100644
index 5f1d0ecea5..0000000000
--- a/test/pending/run/t5277_2.check
+++ /dev/null
@@ -1,2 +0,0 @@
-2
-1
diff --git a/test/pending/run/t5277_2.scala b/test/pending/run/t5277_2.scala
deleted file mode 100644
index 67b6b000bc..0000000000
--- a/test/pending/run/t5277_2.scala
+++ /dev/null
@@ -1,18 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- def p(implicit i: Int) = print(i)
- implicit val v = 2
-
- println(p)
- println(p(1))
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5279.check b/test/pending/run/t5279.check
deleted file mode 100644
index f599e28b8a..0000000000
--- a/test/pending/run/t5279.check
+++ /dev/null
@@ -1 +0,0 @@
-10
diff --git a/test/pending/run/t5284.scala b/test/pending/run/t5284.scala
new file mode 100644
index 0000000000..b43afed5b8
--- /dev/null
+++ b/test/pending/run/t5284.scala
@@ -0,0 +1,14 @@
+object Test {
+ def main(args:Array[String]) {
+ val a = Blarg(Array(1,2,3))
+ println(a.m((x:Int) => x+1))
+ }
+}
+
+object Blarg {
+ def apply[T:Manifest](a:Array[T]) = new Blarg(a)
+}
+class Blarg [@specialized T:Manifest](val a:Array[T]) {
+ def m[@specialized W>:T,@specialized S](f:W=>S) = f(a(0))
+}
+
diff --git a/test/pending/run/t5334_2.scala b/test/pending/run/t5334_2.scala
deleted file mode 100644
index 361b8c85f2..0000000000
--- a/test/pending/run/t5334_2.scala
+++ /dev/null
@@ -1,15 +0,0 @@
-import scala.tools.nsc.reporters._
-import scala.tools.nsc.Settings
-import reflect.runtime.Mirror.ToolBox
-
-object Test extends App {
- val code = scala.reflect.Code.lift{
- class C
- List((new C, new C))
- };
-
- val reporter = new ConsoleReporter(new Settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
diff --git a/test/pending/run/t5418.check b/test/pending/run/t5418.check
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/pending/run/t5418.check
diff --git a/test/pending/run/t5229_1.scala b/test/pending/run/t5418.scala
index 1d7bf0590b..fe813cf5ae 100644
--- a/test/pending/run/t5229_1.scala
+++ b/test/pending/run/t5418.scala
@@ -4,11 +4,10 @@ import reflect.runtime.Mirror.ToolBox
object Test extends App {
val code = scala.reflect.Code.lift{
- object C
+ new Object().getClass
};
val reporter = new ConsoleReporter(new Settings)
val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- toolbox.runExpr(ttree)
-}
+ toolbox.runExpr(code.tree)
+} \ No newline at end of file
diff --git a/test/pending/run/t5427a.check b/test/pending/run/t5427a.check
new file mode 100644
index 0000000000..d8263ee986
--- /dev/null
+++ b/test/pending/run/t5427a.check
@@ -0,0 +1 @@
+2 \ No newline at end of file
diff --git a/test/pending/run/t5427a.scala b/test/pending/run/t5427a.scala
new file mode 100644
index 0000000000..27b28da0ac
--- /dev/null
+++ b/test/pending/run/t5427a.scala
@@ -0,0 +1,10 @@
+import scala.reflect.mirror._
+
+object Foo { val bar = 2 }
+
+object Test extends App {
+ val tpe = getType(Foo)
+ val bar = tpe.nonPrivateMember(newTermName("bar"))
+ val value = getValue(Foo, bar)
+ println(value)
+} \ No newline at end of file
diff --git a/test/pending/run/t5427b.check b/test/pending/run/t5427b.check
new file mode 100644
index 0000000000..d8263ee986
--- /dev/null
+++ b/test/pending/run/t5427b.check
@@ -0,0 +1 @@
+2 \ No newline at end of file
diff --git a/test/pending/run/t5427b.scala b/test/pending/run/t5427b.scala
new file mode 100644
index 0000000000..7a92b6ebbe
--- /dev/null
+++ b/test/pending/run/t5427b.scala
@@ -0,0 +1,11 @@
+import scala.reflect.mirror._
+
+class Foo { val bar = 2 }
+
+object Test extends App {
+ val foo = new Foo
+ val tpe = getType(foo)
+ val bar = tpe.nonPrivateMember(newTermName("bar"))
+ val value = getValue(foo, bar)
+ println(value)
+} \ No newline at end of file
diff --git a/test/pending/run/t5427c.check b/test/pending/run/t5427c.check
new file mode 100644
index 0000000000..32c91abbd6
--- /dev/null
+++ b/test/pending/run/t5427c.check
@@ -0,0 +1 @@
+no public member \ No newline at end of file
diff --git a/test/pending/run/t5427c.scala b/test/pending/run/t5427c.scala
new file mode 100644
index 0000000000..ab41d8b8cd
--- /dev/null
+++ b/test/pending/run/t5427c.scala
@@ -0,0 +1,13 @@
+import scala.reflect.mirror._
+
+class Foo(bar: Int)
+
+object Test extends App {
+ val foo = new Foo(2)
+ val tpe = getType(foo)
+ val bar = tpe.nonPrivateMember(newTermName("bar"))
+ bar match {
+ case NoSymbol => println("no public member")
+ case _ => println("i'm screwed")
+ }
+} \ No newline at end of file
diff --git a/test/pending/run/t5427d.check b/test/pending/run/t5427d.check
new file mode 100644
index 0000000000..d8263ee986
--- /dev/null
+++ b/test/pending/run/t5427d.check
@@ -0,0 +1 @@
+2 \ No newline at end of file
diff --git a/test/pending/run/t5427d.scala b/test/pending/run/t5427d.scala
new file mode 100644
index 0000000000..fd4c62e876
--- /dev/null
+++ b/test/pending/run/t5427d.scala
@@ -0,0 +1,11 @@
+import scala.reflect.mirror._
+
+class Foo(val bar: Int)
+
+object Test extends App {
+ val foo = new Foo(2)
+ val tpe = getType(foo)
+ val bar = tpe.nonPrivateMember(newTermName("bar"))
+ val value = getValue(foo, bar)
+ println(value)
+} \ No newline at end of file