summaryrefslogtreecommitdiff
path: root/test/files/neg
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-11-07 10:56:47 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-11-07 10:56:47 -0800
commite72c11e18062b4e281cc38fb7727b3bd144c8594 (patch)
treec73549ee81ec9aacab999fc68673133940d5ae26 /test/files/neg
parentbb02fb350f7ec4aefcc830fec36a964ae45cfdd4 (diff)
parentef995ac6b4030e3cd10e487d414c941e5794666f (diff)
downloadscala-e72c11e18062b4e281cc38fb7727b3bd144c8594.tar.gz
scala-e72c11e18062b4e281cc38fb7727b3bd144c8594.tar.bz2
scala-e72c11e18062b4e281cc38fb7727b3bd144c8594.zip
Merge pull request #3081 from JamesIry/wip_delayed_delambdafy_cleanup
Delay delambdafication and put the lambda's body into the containing class
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/delambdafy_t6260_method.check13
-rw-r--r--test/files/neg/delambdafy_t6260_method.flags1
-rw-r--r--test/files/neg/delambdafy_t6260_method.scala17
-rw-r--r--test/files/neg/t6231.flags1
-rw-r--r--test/files/neg/t6260.flags1
-rwxr-xr-xtest/files/neg/t6446-additional.check25
-rwxr-xr-xtest/files/neg/t6446-missing.check21
-rw-r--r--test/files/neg/t6446-show-phases.check21
-rw-r--r--test/files/neg/t6666.flags1
-rw-r--r--test/files/neg/t6666c.flags1
-rw-r--r--test/files/neg/t7494-no-options.check25
11 files changed, 83 insertions, 44 deletions
diff --git a/test/files/neg/delambdafy_t6260_method.check b/test/files/neg/delambdafy_t6260_method.check
new file mode 100644
index 0000000000..f5cd6947d1
--- /dev/null
+++ b/test/files/neg/delambdafy_t6260_method.check
@@ -0,0 +1,13 @@
+delambdafy_t6260_method.scala:3: error: bridge generated for member method apply: (bx: Object)Object in class map$extension1
+which overrides method apply: (v1: Object)Object in trait Function1
+clashes with definition of the member itself;
+both have erased type (bx: Object)Object
+ ((bx: Box[X]) => new Box(f(bx.x)))(this)
+ ^
+delambdafy_t6260_method.scala:8: error: bridge generated for member method apply: (bx: Object)Object in class map21
+which overrides method apply: (v1: Object)Object in trait Function1
+clashes with definition of the member itself;
+both have erased type (bx: Object)Object
+ ((bx: Box[X]) => new Box(f(bx.x)))(self)
+ ^
+two errors found
diff --git a/test/files/neg/delambdafy_t6260_method.flags b/test/files/neg/delambdafy_t6260_method.flags
new file mode 100644
index 0000000000..48b438ddf8
--- /dev/null
+++ b/test/files/neg/delambdafy_t6260_method.flags
@@ -0,0 +1 @@
+-Ydelambdafy:method
diff --git a/test/files/neg/delambdafy_t6260_method.scala b/test/files/neg/delambdafy_t6260_method.scala
new file mode 100644
index 0000000000..93b5448227
--- /dev/null
+++ b/test/files/neg/delambdafy_t6260_method.scala
@@ -0,0 +1,17 @@
+class Box[X](val x: X) extends AnyVal {
+ def map[Y](f: X => Y): Box[Y] =
+ ((bx: Box[X]) => new Box(f(bx.x)))(this)
+}
+
+object Test {
+ def map2[X, Y](self: Box[X], f: X => Y): Box[Y] =
+ ((bx: Box[X]) => new Box(f(bx.x)))(self)
+
+ def main(args: Array[String]) {
+ val f = (x: Int) => x + 1
+ val g = (x: String) => x + x
+
+ map2(new Box(42), f)
+ new Box("abc") map g
+ }
+}
diff --git a/test/files/neg/t6231.flags b/test/files/neg/t6231.flags
new file mode 100644
index 0000000000..ac96850b69
--- /dev/null
+++ b/test/files/neg/t6231.flags
@@ -0,0 +1 @@
+-Ydelambdafy:inline \ No newline at end of file
diff --git a/test/files/neg/t6260.flags b/test/files/neg/t6260.flags
new file mode 100644
index 0000000000..2349d8294d
--- /dev/null
+++ b/test/files/neg/t6260.flags
@@ -0,0 +1 @@
+-Ydelambdafy:inline
diff --git a/test/files/neg/t6446-additional.check b/test/files/neg/t6446-additional.check
index c91333830a..a87af2f1e5 100755
--- a/test/files/neg/t6446-additional.check
+++ b/test/files/neg/t6446-additional.check
@@ -21,18 +21,19 @@ superaccessors 6 add super accessors in traits and nested classes
flatten 19 eliminate inner classes
mixin 20 mixin composition
cleanup 21 platform-specific cleanups, generate reflective calls
- icode 22 generate portable intermediate code
+ delambdafy 22 remove lambdas
+ icode 23 generate portable intermediate code
#partest -optimise
- inliner 23 optimization: do inlining
-inlinehandlers 24 optimization: inline exception handlers
- closelim 25 optimization: eliminate uncalled closures
- constopt 26 optimization: optimize null and other constants
- dce 27 optimization: eliminate dead code
- jvm 28 generate JVM bytecode
- ploogin 29 A sample phase that does so many things it's kind of hard...
- terminal 30 the last phase during a compilation run
+ inliner 24 optimization: do inlining
+inlinehandlers 25 optimization: inline exception handlers
+ closelim 26 optimization: eliminate uncalled closures
+ constopt 27 optimization: optimize null and other constants
+ dce 28 optimization: eliminate dead code
+ jvm 29 generate JVM bytecode
+ ploogin 30 A sample phase that does so many things it's kind of hard...
+ terminal 31 the last phase during a compilation run
#partest !-optimise
- jvm 23 generate JVM bytecode
- ploogin 24 A sample phase that does so many things it's kind of hard...
- terminal 25 the last phase during a compilation run
+ jvm 24 generate JVM bytecode
+ ploogin 25 A sample phase that does so many things it's kind of hard...
+ terminal 26 the last phase during a compilation run
#partest
diff --git a/test/files/neg/t6446-missing.check b/test/files/neg/t6446-missing.check
index b2d5ddd686..cd867289c3 100755
--- a/test/files/neg/t6446-missing.check
+++ b/test/files/neg/t6446-missing.check
@@ -22,16 +22,17 @@ superaccessors 6 add super accessors in traits and nested classes
flatten 19 eliminate inner classes
mixin 20 mixin composition
cleanup 21 platform-specific cleanups, generate reflective calls
- icode 22 generate portable intermediate code
+ delambdafy 22 remove lambdas
+ icode 23 generate portable intermediate code
#partest !-optimise
- jvm 23 generate JVM bytecode
- terminal 24 the last phase during a compilation run
+ jvm 24 generate JVM bytecode
+ terminal 25 the last phase during a compilation run
#partest -optimise
- inliner 23 optimization: do inlining
-inlinehandlers 24 optimization: inline exception handlers
- closelim 25 optimization: eliminate uncalled closures
- constopt 26 optimization: optimize null and other constants
- dce 27 optimization: eliminate dead code
- jvm 28 generate JVM bytecode
- terminal 29 the last phase during a compilation run
+ inliner 24 optimization: do inlining
+inlinehandlers 25 optimization: inline exception handlers
+ closelim 26 optimization: eliminate uncalled closures
+ constopt 27 optimization: optimize null and other constants
+ dce 28 optimization: eliminate dead code
+ jvm 29 generate JVM bytecode
+ terminal 30 the last phase during a compilation run
#partest
diff --git a/test/files/neg/t6446-show-phases.check b/test/files/neg/t6446-show-phases.check
index 48d4f37b3e..3ae3f96ef2 100644
--- a/test/files/neg/t6446-show-phases.check
+++ b/test/files/neg/t6446-show-phases.check
@@ -21,16 +21,17 @@ superaccessors 6 add super accessors in traits and nested classes
flatten 19 eliminate inner classes
mixin 20 mixin composition
cleanup 21 platform-specific cleanups, generate reflective calls
- icode 22 generate portable intermediate code
+ delambdafy 22 remove lambdas
+ icode 23 generate portable intermediate code
#partest !-optimise
- jvm 23 generate JVM bytecode
- terminal 24 the last phase during a compilation run
+ jvm 24 generate JVM bytecode
+ terminal 25 the last phase during a compilation run
#partest -optimise
- inliner 23 optimization: do inlining
-inlinehandlers 24 optimization: inline exception handlers
- closelim 25 optimization: eliminate uncalled closures
- constopt 26 optimization: optimize null and other constants
- dce 27 optimization: eliminate dead code
- jvm 28 generate JVM bytecode
- terminal 29 the last phase during a compilation run
+ inliner 24 optimization: do inlining
+inlinehandlers 25 optimization: inline exception handlers
+ closelim 26 optimization: eliminate uncalled closures
+ constopt 27 optimization: optimize null and other constants
+ dce 28 optimization: eliminate dead code
+ jvm 29 generate JVM bytecode
+ terminal 30 the last phase during a compilation run
#partest
diff --git a/test/files/neg/t6666.flags b/test/files/neg/t6666.flags
new file mode 100644
index 0000000000..2349d8294d
--- /dev/null
+++ b/test/files/neg/t6666.flags
@@ -0,0 +1 @@
+-Ydelambdafy:inline
diff --git a/test/files/neg/t6666c.flags b/test/files/neg/t6666c.flags
new file mode 100644
index 0000000000..2349d8294d
--- /dev/null
+++ b/test/files/neg/t6666c.flags
@@ -0,0 +1 @@
+-Ydelambdafy:inline
diff --git a/test/files/neg/t7494-no-options.check b/test/files/neg/t7494-no-options.check
index b5dc0e3d4f..e3316f590a 100644
--- a/test/files/neg/t7494-no-options.check
+++ b/test/files/neg/t7494-no-options.check
@@ -22,18 +22,19 @@ superaccessors 6 add super accessors in traits and nested classes
flatten 19 eliminate inner classes
mixin 20 mixin composition
cleanup 21 platform-specific cleanups, generate reflective calls
- icode 22 generate portable intermediate code
+ delambdafy 22 remove lambdas
+ icode 23 generate portable intermediate code
#partest !-optimise
- jvm 23 generate JVM bytecode
- ploogin 24 A sample phase that does so many things it's kind of hard...
- terminal 25 the last phase during a compilation run
+ jvm 24 generate JVM bytecode
+ ploogin 25 A sample phase that does so many things it's kind of hard...
+ terminal 26 the last phase during a compilation run
#partest -optimise
- inliner 23 optimization: do inlining
-inlinehandlers 24 optimization: inline exception handlers
- closelim 25 optimization: eliminate uncalled closures
- constopt 26 optimization: optimize null and other constants
- dce 27 optimization: eliminate dead code
- jvm 28 generate JVM bytecode
- ploogin 29 A sample phase that does so many things it's kind of hard...
- terminal 30 the last phase during a compilation run
+ inliner 24 optimization: do inlining
+inlinehandlers 25 optimization: inline exception handlers
+ closelim 26 optimization: eliminate uncalled closures
+ constopt 27 optimization: optimize null and other constants
+ dce 28 optimization: eliminate dead code
+ jvm 29 generate JVM bytecode
+ ploogin 30 A sample phase that does so many things it's kind of hard...
+ terminal 31 the last phase during a compilation run
#partest