summaryrefslogtreecommitdiff
path: root/test/files/run/static-module-method.scala
diff options
context:
space:
mode:
authorJames Iry <james.iry@typesafe.com>2013-08-28 20:45:49 -0700
committerJames Iry <james.iry@typesafe.com>2013-11-06 12:28:20 -0800
commitf27f2d80d759130597b652d6cc9d789f8c472e5a (patch)
tree8daf89ad1858529a324c8b3900274cc1161999ca /test/files/run/static-module-method.scala
parent5d29697365245707af1a037678a7b48b0fef341c (diff)
downloadscala-f27f2d80d759130597b652d6cc9d789f8c472e5a.tar.gz
scala-f27f2d80d759130597b652d6cc9d789f8c472e5a.tar.bz2
scala-f27f2d80d759130597b652d6cc9d789f8c472e5a.zip
Make GenASM not eliminate loadmodule on static methods.
During development of delayed delambdafy there was a problem where GenASM would eliminate a loadmodule for all methods defined within that module even if those methods were static. The result would be broken byte code that failed verification. This commit fixes that and adds a test.
Diffstat (limited to 'test/files/run/static-module-method.scala')
-rw-r--r--test/files/run/static-module-method.scala14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/files/run/static-module-method.scala b/test/files/run/static-module-method.scala
new file mode 100644
index 0000000000..a8691300de
--- /dev/null
+++ b/test/files/run/static-module-method.scala
@@ -0,0 +1,14 @@
+// During development of delayed delambdafy there was a problem where
+// GenASM would eliminate a loadmodule for all methods defined within that module
+// even if those methods were static. This test would thus fail
+// with a verify error under -Ydelambdafy:method
+
+object Test {
+ def moduleMethod(x: String) = x
+
+ def map(x: String, f: String => String) = f(x)
+
+ def main(args: Array[String]) {
+ println(map("hello", Test.moduleMethod))
+ }
+} \ No newline at end of file