summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--config/list/library.lst20
-rw-r--r--sources/meta/scala/MetaFunction.java20
-rw-r--r--sources/scala/.cvsignore2
-rw-r--r--sources/scala/Function.scala.tmpl (renamed from sources/scala/Function.java.tmpl)6
5 files changed, 24 insertions, 30 deletions
diff --git a/Makefile b/Makefile
index 114271a4fe..8782f403d9 100644
--- a/Makefile
+++ b/Makefile
@@ -677,9 +677,9 @@ endif
##############################################################################
# Targets - template expansion
-# generation of Function<n>.java
-FUNCTION_FILES += $(filter $(LIBRARY_ROOT)/Function%.java,$(LIBRARY_SOURCES))
-FUNCTION_TEMPLATE = $(LIBRARY_ROOT)/Function.java.tmpl
+# generation of Function<n>.scala
+FUNCTION_FILES += $(filter $(LIBRARY_ROOT)/Function%.scala,$(LIBRARY_SOURCES))
+FUNCTION_TEMPLATE = $(LIBRARY_ROOT)/Function.scala.tmpl
# generation of Tuple<n>.scala
TUPLE_FILES += $(filter $(LIBRARY_ROOT)/Tuple%.scala,$(LIBRARY_SOURCES))
diff --git a/config/list/library.lst b/config/list/library.lst
index 66f0014cc1..506ac01955 100644
--- a/config/list/library.lst
+++ b/config/list/library.lst
@@ -17,16 +17,16 @@ Console.scala
Double.java
Enumeration.scala
Float.java
-Function0.java
-Function1.java
-Function2.java
-Function3.java
-Function4.java
-Function5.java
-Function6.java
-Function7.java
-Function8.java
-Function9.java
+Function0.scala
+Function1.scala
+Function2.scala
+Function3.scala
+Function4.scala
+Function5.scala
+Function6.scala
+Function7.scala
+Function8.scala
+Function9.scala
Int.java
Iterable.scala
IterableProxy.scala
diff --git a/sources/meta/scala/MetaFunction.java b/sources/meta/scala/MetaFunction.java
index 269cae0943..11ed9cc159 100644
--- a/sources/meta/scala/MetaFunction.java
+++ b/sources/meta/scala/MetaFunction.java
@@ -10,7 +10,7 @@ package meta.scala;
import meta.java.AbstractJavaExpander;
-public class MetaFunction extends AbstractJavaExpander {
+public class MetaFunction extends AbstractScalaExpander {
//########################################################################
// Public Fields
@@ -35,24 +35,20 @@ public class MetaFunction extends AbstractJavaExpander {
writer.print(arity);
}
- public void printClassScalaTParams() {
+ public void printClassSignature() {
+ writer.print("[");
for (int i = 0; i < arity; i++)
- writer.print("- ?A").print(i).print(", ");
- writer.print("+ ?R");
+ writer.print("-T").print(i).print(", ");
+ writer.print("+R]");
}
- public void printApplyScalaSignature() {
+ public void printApplySignature() {
writer.print("(");
- for (int i = 0; i < arity; i++)
- writer.print("?A").print(i).print(", ");
- writer.print(") ?R");
- }
-
- public void printApplyJavaVParams() {
for (int i = 0; i < arity; i++) {
if (i > 0) writer.print(", ");
- writer.print("java.lang.Object a").print(i);
+ writer.print("v").print(i).print(":").space().print("T").print(i);
}
+ writer.print("): R");
}
//########################################################################
diff --git a/sources/scala/.cvsignore b/sources/scala/.cvsignore
index 96afb593ca..27a42e8e92 100644
--- a/sources/scala/.cvsignore
+++ b/sources/scala/.cvsignore
@@ -1,2 +1,2 @@
-Function*.java
+Function*.scala
Tuple*.scala
diff --git a/sources/scala/Function.java.tmpl b/sources/scala/Function.scala.tmpl
index ed0e7ef30e..66ecda3dba 100644
--- a/sources/scala/Function.java.tmpl
+++ b/sources/scala/Function.scala.tmpl
@@ -10,8 +10,6 @@
package scala;
-/** @meta class [{#ClassScalaTParams#}] extends java.lang.Object; */
-public interface Function{#n#} extends java.io.Serializable {
- /** @meta method {#ApplyScalaSignature#}; */
- public abstract java.lang.Object apply({#ApplyJavaVParams#});
+trait Function{#n#}{#ClassSignature#} with java.io.Serializable {
+ def apply{#ApplySignature#};
}