summaryrefslogtreecommitdiff
path: root/test/files/pos/signatures
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2009-05-15 15:44:54 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2009-05-15 15:44:54 +0000
commit10830eaae2955766378369b8d1bcc0e6963b9b7f (patch)
tree595d0d162d94eda17062d4d13710378930b7ac7f /test/files/pos/signatures
parentfbf991833d5ec0d9890ac1e7df9f53209e313552 (diff)
downloadscala-10830eaae2955766378369b8d1bcc0e6963b9b7f.tar.gz
scala-10830eaae2955766378369b8d1bcc0e6963b9b7f.tar.bz2
scala-10830eaae2955766378369b8d1bcc0e6963b9b7f.zip
1.4-related cleanup and reorganization.
Removed a bunch of now useless 1.4 code, merged back jvm5-specific partest tests into the general jvm tests, documentation updates.
Diffstat (limited to 'test/files/pos/signatures')
-rw-r--r--test/files/pos/signatures/Test.java11
-rw-r--r--test/files/pos/signatures/sig.scala12
2 files changed, 23 insertions, 0 deletions
diff --git a/test/files/pos/signatures/Test.java b/test/files/pos/signatures/Test.java
new file mode 100644
index 0000000000..8ecac29910
--- /dev/null
+++ b/test/files/pos/signatures/Test.java
@@ -0,0 +1,11 @@
+import scala.collection.mutable.Vector;
+import test.Outer;
+
+/* Test correct generation of java signatures. The Outer class should not
+ * have a Java signature attribute for the inner method definition. Trait
+ * Mutable should have one, even though it is also a nested definition.
+ * (but for classes there is a way to tell about nesting to the JVM).
+ */
+class Test {
+ Outer o = new Outer();
+} \ No newline at end of file
diff --git a/test/files/pos/signatures/sig.scala b/test/files/pos/signatures/sig.scala
new file mode 100644
index 0000000000..4236f27bed
--- /dev/null
+++ b/test/files/pos/signatures/sig.scala
@@ -0,0 +1,12 @@
+package test
+
+/* Tests correct generation of Java signatures. The local method 'bar' should
+ * not get a generic signature, as it may refer to type parameters of the enclosing
+ * method, and the JVM does not know about nested methods.
+ */
+class Outer {
+ def foo[A, B](x: A, y: B) = {
+ def bar[X](x1: A, y1: B, z1: X) = z1
+ bar(x, y, 10)
+ }
+}