summaryrefslogtreecommitdiff
path: root/test/pending
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2011-12-07 21:18:25 +0100
committerEugene Burmako <xeno.by@gmail.com>2011-12-07 22:38:48 +0100
commita6152b4c2c0a26835e60a8ef209cca87bec8510e (patch)
tree706474dd4f3756a06dd0b14671e626c773c838a3 /test/pending
parent332fec96e31840878bed41dd7b5314b97d8da7c2 (diff)
downloadscala-a6152b4c2c0a26835e60a8ef209cca87bec8510e.tar.gz
scala-a6152b4c2c0a26835e60a8ef209cca87bec8510e.tar.bz2
scala-a6152b4c2c0a26835e60a8ef209cca87bec8510e.zip
Fix reflective toolbox producing invalid bytecode
Wrapper method for AST undergoing a reflective compilation has been incorrectly marked as static. This was off the radars until one day the code being compiled declared a top-level method. During flatten that method got hoisted into the wrapper module, and its invocation got translated into an instance call upon the module. This led to static wrapper method trying to call an instance method, and that blew up the bytecode verifier. More info: https://issues.scala-lang.org/browse/SI-5266. Fixes SI-5266, review by @odersky.
Diffstat (limited to 'test/pending')
-rw-r--r--test/pending/run/t5266_1.check2
-rw-r--r--test/pending/run/t5266_1.scala23
-rw-r--r--test/pending/run/t5266_2.check2
-rw-r--r--test/pending/run/t5266_2.scala17
4 files changed, 0 insertions, 44 deletions
diff --git a/test/pending/run/t5266_1.check b/test/pending/run/t5266_1.check
deleted file mode 100644
index 3feac16a0b..0000000000
--- a/test/pending/run/t5266_1.check
+++ /dev/null
@@ -1,2 +0,0 @@
-2
-evaluated = null \ No newline at end of file
diff --git a/test/pending/run/t5266_1.scala b/test/pending/run/t5266_1.scala
deleted file mode 100644
index 06a81a04ea..0000000000
--- a/test/pending/run/t5266_1.scala
+++ /dev/null
@@ -1,23 +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 x = 2
- println(x)
- };
-
- val settings = new Settings
- settings.debug.value = true
- settings.Xshowtrees.value = true
- settings.Xprint.value = List("typer")
- settings.printtypes.value = true
- settings.Ytyperdebug.value = true
-
- val reporter = new ConsoleReporter(settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- val evaluated = toolbox.runExpr(ttree)
- println("evaluated = " + evaluated)
-} \ No newline at end of file
diff --git a/test/pending/run/t5266_2.check b/test/pending/run/t5266_2.check
deleted file mode 100644
index 3feac16a0b..0000000000
--- a/test/pending/run/t5266_2.check
+++ /dev/null
@@ -1,2 +0,0 @@
-2
-evaluated = null \ No newline at end of file
diff --git a/test/pending/run/t5266_2.scala b/test/pending/run/t5266_2.scala
deleted file mode 100644
index cd841da021..0000000000
--- a/test/pending/run/t5266_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{
- def x = 2
- def y = x
- println(y)
- };
-
- val reporter = new ConsoleReporter(settings)
- val toolbox = new ToolBox(reporter)
- val ttree = toolbox.typeCheck(code.tree)
- val evaluated = toolbox.runExpr(ttree)
- println("evaluated = " + evaluated)
-}