From 15220a925c68d95a2a41828e038b69f67ebca7d8 Mon Sep 17 00:00:00 2001 From: Stefan Zeiger Date: Wed, 31 Aug 2016 15:31:30 +0200 Subject: [PATCH 1/4] Restore backwards compatibility in Scala 2.12.0-RC1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - The various JFunction and JProcedure sources that were removed from Scala in https://github.com/scala/scala/pull/5298 are now included here when building for Scala 2.12.x (except M5). - Code that relies on specialized JFunction types being subtypes of the generic JFunction types will inevitably break. This is unavoidable. The specialized types are still part of Scala but they extend Scala function types directly. - All JFunctionN types and JFunction.func methods are deprecated. They are provided for source compatibility between 2.11 and 2.12 only. - The JProcedureN classes, JFunction.funcSpecialized methods and JFunction.proc methods are still useful in 2.12 for easy interoperability between Scala specialization and Java’s primitive types from Java code. --- build.sbt | 12 +- .../scala/runtime/java8/JFunction.java | 237 ++++++++++++++++++ .../scala/runtime/java8/JFunction0.java | 13 + .../scala/runtime/java8/JFunction1.java | 13 + .../scala/runtime/java8/JFunction10.java | 13 + .../scala/runtime/java8/JFunction11.java | 13 + .../scala/runtime/java8/JFunction12.java | 13 + .../scala/runtime/java8/JFunction13.java | 13 + .../scala/runtime/java8/JFunction14.java | 13 + .../scala/runtime/java8/JFunction15.java | 13 + .../scala/runtime/java8/JFunction16.java | 13 + .../scala/runtime/java8/JFunction17.java | 13 + .../scala/runtime/java8/JFunction18.java | 13 + .../scala/runtime/java8/JFunction19.java | 13 + .../scala/runtime/java8/JFunction2.java | 13 + .../scala/runtime/java8/JFunction20.java | 13 + .../scala/runtime/java8/JFunction21.java | 13 + .../scala/runtime/java8/JFunction22.java | 13 + .../scala/runtime/java8/JFunction3.java | 13 + .../scala/runtime/java8/JFunction4.java | 13 + .../scala/runtime/java8/JFunction5.java | 13 + .../scala/runtime/java8/JFunction6.java | 13 + .../scala/runtime/java8/JFunction7.java | 13 + .../scala/runtime/java8/JFunction8.java | 13 + .../scala/runtime/java8/JFunction9.java | 13 + .../scala/runtime/java8/JProcedure0.java | 17 ++ .../scala/runtime/java8/JProcedure1.java | 17 ++ .../scala/runtime/java8/JProcedure10.java | 17 ++ .../scala/runtime/java8/JProcedure11.java | 17 ++ .../scala/runtime/java8/JProcedure12.java | 17 ++ .../scala/runtime/java8/JProcedure13.java | 17 ++ .../scala/runtime/java8/JProcedure14.java | 17 ++ .../scala/runtime/java8/JProcedure15.java | 17 ++ .../scala/runtime/java8/JProcedure16.java | 17 ++ .../scala/runtime/java8/JProcedure17.java | 17 ++ .../scala/runtime/java8/JProcedure18.java | 17 ++ .../scala/runtime/java8/JProcedure19.java | 17 ++ .../scala/runtime/java8/JProcedure2.java | 17 ++ .../scala/runtime/java8/JProcedure20.java | 17 ++ .../scala/runtime/java8/JProcedure21.java | 17 ++ .../scala/runtime/java8/JProcedure22.java | 17 ++ .../scala/runtime/java8/JProcedure3.java | 17 ++ .../scala/runtime/java8/JProcedure4.java | 17 ++ .../scala/runtime/java8/JProcedure5.java | 17 ++ .../scala/runtime/java8/JProcedure6.java | 17 ++ .../scala/runtime/java8/JProcedure7.java | 17 ++ .../scala/runtime/java8/JProcedure8.java | 17 ++ .../scala/runtime/java8/JProcedure9.java | 17 ++ .../java/scala/runtime/java8/BoxingTest.java | 4 +- .../java/scala/runtime/java8/LambdaTest.java | 103 +++++--- 50 files changed, 1005 insertions(+), 41 deletions(-) create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction0.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction1.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction10.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction11.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction12.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction13.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction14.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction15.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction16.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction17.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction18.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction19.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction2.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction20.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction21.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction22.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction3.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction4.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction5.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction6.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction7.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction8.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction9.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure0.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure1.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure10.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure11.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure12.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure13.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure14.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure15.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure16.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure17.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure18.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure19.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure2.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure20.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure21.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure22.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure3.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure4.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure5.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure6.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure7.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure8.java create mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure9.java diff --git a/build.sbt b/build.sbt index 9b06450..548e1e3 100644 --- a/build.sbt +++ b/build.sbt @@ -9,8 +9,9 @@ def jwrite(dir: java.io.File)(name: String, content: String) = { } lazy val commonSettings = Seq( - scalaVersion := "2.11.8", - crossScalaVersions := List("2.11.8", "2.12.0-M5"), + resolvers += "scala-pr" at "https://scala-ci.typesafe.com/artifactory/scala-pr-validation-snapshots/", + crossScalaVersions := List("2.12.0-ab61fed-SNAPSHOT", "2.11.8", "2.12.0-M5"), + scalaVersion := crossScalaVersions.value.head, organization := "org.scala-lang.modules", version := "0.8.0-SNAPSHOT" ) @@ -79,7 +80,7 @@ lazy val root = (project in file(".")). initialize := { // Run previously configured inialization... - initialize.value + val _ = initialize.value // ... and then check the Java version. val specVersion = sys.props("java.specification.version") if (Set("1.5", "1.6", "1.7") contains specVersion) @@ -88,6 +89,11 @@ lazy val root = (project in file(".")). publishArtifact in packageDoc := !disableDocs, + unmanagedSourceDirectories in Compile += { + val isPre212 = scalaVersion.value.startsWith("2.11") || scalaVersion.value == "2.12.0-M5" + sourceDirectory.value / "main" / (if(isPre212) "java-for-scala-2.11" else "java-for-scala-2.12") + }, + sources in (Compile, doc) := { val orig = (sources in (Compile, doc)).value orig.filterNot(_.getName.endsWith(".java")) // raw types not cooked by scaladoc: https://issues.scala-lang.org/browse/SI-8449 diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction.java new file mode 100644 index 0000000..0089911 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction.java @@ -0,0 +1,237 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; +import scala.runtime.java8.*; + +public final class JFunction { + private JFunction() {} + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function0 func(scala.Function0 f) { return f; } + public static scala.Function0 proc(JProcedure0 p) { return p; } + public static scala.Function0 procSpecialized(JFunction0$mcV$sp f) { return f; } + public static scala.Function0 funcSpecialized(JFunction0$mcB$sp f) { return f; } + public static scala.Function0 funcSpecialized(JFunction0$mcS$sp f) { return f; } + public static scala.Function0 funcSpecialized(JFunction0$mcI$sp f) { return f; } + public static scala.Function0 funcSpecialized(JFunction0$mcJ$sp f) { return f; } + public static scala.Function0 funcSpecialized(JFunction0$mcC$sp f) { return f; } + public static scala.Function0 funcSpecialized(JFunction0$mcF$sp f) { return f; } + public static scala.Function0 funcSpecialized(JFunction0$mcD$sp f) { return f; } + public static scala.Function0 funcSpecialized(JFunction0$mcZ$sp f) { return f; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function1 func(scala.Function1 f) { return f; } + public static scala.Function1 proc(JProcedure1 p) { return p; } + public static scala.Function1 procSpecialized(JFunction1$mcVI$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcZI$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcII$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcFI$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcJI$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcDI$sp f) { return f; } + public static scala.Function1 procSpecialized(JFunction1$mcVJ$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcZJ$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcIJ$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcFJ$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcJJ$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcDJ$sp f) { return f; } + public static scala.Function1 procSpecialized(JFunction1$mcVF$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcZF$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcIF$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcFF$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcJF$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcDF$sp f) { return f; } + public static scala.Function1 procSpecialized(JFunction1$mcVD$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcZD$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcID$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcFD$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcJD$sp f) { return f; } + public static scala.Function1 funcSpecialized(JFunction1$mcDD$sp f) { return f; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function2 func(scala.Function2 f) { return f; } + public static scala.Function2 proc(JProcedure2 p) { return p; } + public static scala.Function2 procSpecialized(JFunction2$mcVII$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcZII$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcIII$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcFII$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcJII$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcDII$sp f) { return f; } + public static scala.Function2 procSpecialized(JFunction2$mcVIJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcZIJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcIIJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcFIJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcJIJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcDIJ$sp f) { return f; } + public static scala.Function2 procSpecialized(JFunction2$mcVID$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcZID$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcIID$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcFID$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcJID$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcDID$sp f) { return f; } + public static scala.Function2 procSpecialized(JFunction2$mcVJI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcZJI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcIJI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcFJI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcJJI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcDJI$sp f) { return f; } + public static scala.Function2 procSpecialized(JFunction2$mcVJJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcZJJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcIJJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcFJJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcJJJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcDJJ$sp f) { return f; } + public static scala.Function2 procSpecialized(JFunction2$mcVJD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcZJD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcIJD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcFJD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcJJD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcDJD$sp f) { return f; } + public static scala.Function2 procSpecialized(JFunction2$mcVDI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcZDI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcIDI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcFDI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcJDI$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcDDI$sp f) { return f; } + public static scala.Function2 procSpecialized(JFunction2$mcVDJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcZDJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcIDJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcFDJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcJDJ$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcDDJ$sp f) { return f; } + public static scala.Function2 procSpecialized(JFunction2$mcVDD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcZDD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcIDD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcFDD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcJDD$sp f) { return f; } + public static scala.Function2 funcSpecialized(JFunction2$mcDDD$sp f) { return f; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function3 func(scala.Function3 f) { return f; } + public static scala.Function3 proc(JProcedure3 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function4 func(scala.Function4 f) { return f; } + public static scala.Function4 proc(JProcedure4 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function5 func(scala.Function5 f) { return f; } + public static scala.Function5 proc(JProcedure5 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function6 func(scala.Function6 f) { return f; } + public static scala.Function6 proc(JProcedure6 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function7 func(scala.Function7 f) { return f; } + public static scala.Function7 proc(JProcedure7 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function8 func(scala.Function8 f) { return f; } + public static scala.Function8 proc(JProcedure8 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function9 func(scala.Function9 f) { return f; } + public static scala.Function9 proc(JProcedure9 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function10 func(scala.Function10 f) { return f; } + public static scala.Function10 proc(JProcedure10 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function11 func(scala.Function11 f) { return f; } + public static scala.Function11 proc(JProcedure11 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function12 func(scala.Function12 f) { return f; } + public static scala.Function12 proc(JProcedure12 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function13 func(scala.Function13 f) { return f; } + public static scala.Function13 proc(JProcedure13 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function14 func(scala.Function14 f) { return f; } + public static scala.Function14 proc(JProcedure14 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function15 func(scala.Function15 f) { return f; } + public static scala.Function15 proc(JProcedure15 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function16 func(scala.Function16 f) { return f; } + public static scala.Function16 proc(JProcedure16 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function17 func(scala.Function17 f) { return f; } + public static scala.Function17 proc(JProcedure17 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function18 func(scala.Function18 f) { return f; } + public static scala.Function18 proc(JProcedure18 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function19 func(scala.Function19 f) { return f; } + public static scala.Function19 proc(JProcedure19 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function20 func(scala.Function20 f) { return f; } + public static scala.Function20 proc(JProcedure20 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function21 func(scala.Function21 f) { return f; } + public static scala.Function21 proc(JProcedure21 p) { return p; } + /** + * @deprecated Not needed anymore in Scala 2.12 + */ + @Deprecated + public static scala.Function22 func(scala.Function22 f) { return f; } + public static scala.Function22 proc(JProcedure22 p) { return p; } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction0.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction0.java new file mode 100644 index 0000000..6e0b034 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction0.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function0 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction0 extends scala.Function0, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction1.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction1.java new file mode 100644 index 0000000..a067ebf --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction1.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function1 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction1 extends scala.Function1, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction10.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction10.java new file mode 100644 index 0000000..56015e4 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction10.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function10 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction10 extends scala.Function10, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction11.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction11.java new file mode 100644 index 0000000..55b335c --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction11.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function11 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction11 extends scala.Function11, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction12.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction12.java new file mode 100644 index 0000000..7234a86 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction12.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function12 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction12 extends scala.Function12, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction13.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction13.java new file mode 100644 index 0000000..b5f5f41 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction13.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function13 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction13 extends scala.Function13, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction14.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction14.java new file mode 100644 index 0000000..c330d08 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction14.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function14 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction14 extends scala.Function14, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction15.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction15.java new file mode 100644 index 0000000..e64a471 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction15.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function15 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction15 extends scala.Function15, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction16.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction16.java new file mode 100644 index 0000000..d7fec39 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction16.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function16 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction16 extends scala.Function16, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction17.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction17.java new file mode 100644 index 0000000..edd5a61 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction17.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function17 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction17 extends scala.Function17, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction18.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction18.java new file mode 100644 index 0000000..6e05681 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction18.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function18 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction18 extends scala.Function18, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction19.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction19.java new file mode 100644 index 0000000..0d23e2b --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction19.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function19 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction19 extends scala.Function19, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction2.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction2.java new file mode 100644 index 0000000..f6cecd3 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction2.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function2 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction2 extends scala.Function2, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction20.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction20.java new file mode 100644 index 0000000..5c28ca8 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction20.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function20 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction20 extends scala.Function20, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction21.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction21.java new file mode 100644 index 0000000..26637c6 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction21.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function21 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction21 extends scala.Function21, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction22.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction22.java new file mode 100644 index 0000000..cd2a43d --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction22.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function22 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction22 extends scala.Function22, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction3.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction3.java new file mode 100644 index 0000000..7ca2a8e --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction3.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function3 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction3 extends scala.Function3, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction4.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction4.java new file mode 100644 index 0000000..f90948d --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction4.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function4 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction4 extends scala.Function4, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction5.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction5.java new file mode 100644 index 0000000..cd2b629 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction5.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2015 Typesafe Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function5 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction5 extends scala.Function5, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction6.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction6.java new file mode 100644 index 0000000..dff26be --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction6.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function6 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction6 extends scala.Function6, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction7.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction7.java new file mode 100644 index 0000000..654bd6b --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction7.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function7 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction7 extends scala.Function7, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction8.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction8.java new file mode 100644 index 0000000..16ed6b7 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction8.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function8 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction8 extends scala.Function8, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction9.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction9.java new file mode 100644 index 0000000..a6faa12 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction9.java @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +/** + * @deprecated Use scala.Function9 in Scala 2.12 + */ +@Deprecated +@FunctionalInterface +public interface JFunction9 extends scala.Function9, java.io.Serializable { +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure0.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure0.java new file mode 100644 index 0000000..3d2ee07 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure0.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure0 extends scala.Function0 { + void applyVoid(); + + default BoxedUnit apply() { + applyVoid(); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure1.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure1.java new file mode 100644 index 0000000..86e4838 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure1.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure1 extends scala.Function1 { + void applyVoid(T1 t1); + + default BoxedUnit apply(T1 t1) { + applyVoid(t1); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure10.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure10.java new file mode 100644 index 0000000..ca8017c --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure10.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure10 extends scala.Function10 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure11.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure11.java new file mode 100644 index 0000000..fd8068f --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure11.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure11 extends scala.Function11 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure12.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure12.java new file mode 100644 index 0000000..c46583e --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure12.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure12 extends scala.Function12 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure13.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure13.java new file mode 100644 index 0000000..ebe4a6d --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure13.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure13 extends scala.Function13 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure14.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure14.java new file mode 100644 index 0000000..69261f9 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure14.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure14 extends scala.Function14 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure15.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure15.java new file mode 100644 index 0000000..334182d --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure15.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure15 extends scala.Function15 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure16.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure16.java new file mode 100644 index 0000000..711b5a5 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure16.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure16 extends scala.Function16 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure17.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure17.java new file mode 100644 index 0000000..48b85bc --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure17.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure17 extends scala.Function17 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure18.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure18.java new file mode 100644 index 0000000..07059f8 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure18.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure18 extends scala.Function18 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure19.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure19.java new file mode 100644 index 0000000..75ac2bd --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure19.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure19 extends scala.Function19 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure2.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure2.java new file mode 100644 index 0000000..f8d10b7 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure2.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure2 extends scala.Function2 { + void applyVoid(T1 t1, T2 t2); + + default BoxedUnit apply(T1 t1, T2 t2) { + applyVoid(t1, t2); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure20.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure20.java new file mode 100644 index 0000000..c34c468 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure20.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure20 extends scala.Function20 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure21.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure21.java new file mode 100644 index 0000000..bab5e56 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure21.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure21 extends scala.Function21 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure22.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure22.java new file mode 100644 index 0000000..3f530ae --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure22.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure22 extends scala.Function22 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21, T22 t22); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21, T22 t22) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure3.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure3.java new file mode 100644 index 0000000..ef4c0fd --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure3.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure3 extends scala.Function3 { + void applyVoid(T1 t1, T2 t2, T3 t3); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3) { + applyVoid(t1, t2, t3); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure4.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure4.java new file mode 100644 index 0000000..4a6142b --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure4.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure4 extends scala.Function4 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4) { + applyVoid(t1, t2, t3, t4); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure5.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure5.java new file mode 100644 index 0000000..3ad2d39 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure5.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure5 extends scala.Function5 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) { + applyVoid(t1, t2, t3, t4, t5); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure6.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure6.java new file mode 100644 index 0000000..2f36660 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure6.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure6 extends scala.Function6 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6) { + applyVoid(t1, t2, t3, t4, t5, t6); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure7.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure7.java new file mode 100644 index 0000000..245cbec --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure7.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure7 extends scala.Function7 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7) { + applyVoid(t1, t2, t3, t4, t5, t6, t7); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure8.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure8.java new file mode 100644 index 0000000..9328cc6 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure8.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure8 extends scala.Function8 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8); + return BoxedUnit.UNIT; + } +} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure9.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure9.java new file mode 100644 index 0000000..9b97726 --- /dev/null +++ b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure9.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012-2016 Lightbend Inc. + */ + +package scala.runtime.java8; + +import scala.runtime.BoxedUnit; + +@FunctionalInterface +public interface JProcedure9 extends scala.Function9 { + void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9); + + default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9) { + applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9); + return BoxedUnit.UNIT; + } +} diff --git a/src/test/java/scala/runtime/java8/BoxingTest.java b/src/test/java/scala/runtime/java8/BoxingTest.java index 083b5de..eac05a4 100644 --- a/src/test/java/scala/runtime/java8/BoxingTest.java +++ b/src/test/java/scala/runtime/java8/BoxingTest.java @@ -8,7 +8,7 @@ public class BoxingTest { @Test public void nullBoxesInterpretedAsZeroF1() { - JFunction1$mcII$sp jFunction1 = new JFunction1$mcII$sp() { + scala.Function1 jFunction1 = new JFunction1$mcII$sp() { @Override public int apply$mcII$sp(int v1) { return v1 + 1; @@ -20,7 +20,7 @@ public void nullBoxesInterpretedAsZeroF1() { @Test public void nullBoxesInterpretedAsZeroF2() { - JFunction2$mcIII$sp jFunction2 = new JFunction2$mcIII$sp() { + scala.Function2 jFunction2 = new JFunction2$mcIII$sp() { @Override public int apply$mcIII$sp(int v1, int v2) { return v1 + v2 + 1; diff --git a/src/test/java/scala/runtime/java8/LambdaTest.java b/src/test/java/scala/runtime/java8/LambdaTest.java index 9d67926..aaf0187 100644 --- a/src/test/java/scala/runtime/java8/LambdaTest.java +++ b/src/test/java/scala/runtime/java8/LambdaTest.java @@ -7,20 +7,38 @@ import scala.runtime.*; import static junit.framework.Assert.assertEquals; +import static scala.runtime.java8.JFunction.*; import static scala.runtime.java8.TestAPI.*; import org.junit.Test; public class LambdaTest { - /* - // This version is for Scala 2.12.0-RC1 and is not compatible with 2.11. It's commented out to allow cross-building. @Test public void lambdaDemo() { - scala.Function1 f1 = (String s) -> s; + // Scala 2.12+ only: + //scala.Function1 f1 = (String s) -> s; + + // Not allowed with Scala 2.10 nor 2.11 + // "incompatible types: Function1 is not a functional interface" + // scala.Function1 f = (String s) -> s; + + // Function1 is not a functional interface because it has abstract + // methods in addition to apply, namely `compose` and `andThen` + // (which are implemented in Scala-derived subclasses with mixin + // inheritance), and the specialized variants of apply (also provided + // by scalac.) + + // That's a pity, but we can get pretty close with this library! + + // We have to tell javac to use `JFunction1` as the functional interface. + // Scala 2.12 does not have or need JFunction anymore. We provide it as a + // deprecated stub for backwards compatibility. Use `scala.Function1` for + // code that targets Scala 2.12+ exclusively. + JFunction1 f1 = (String s) -> s; // That's more or less equivalent to the old, anonymous class syntax: - new scala.Function1() { + new JFunction1() { public String apply(String s) { return s; } }; @@ -35,73 +53,86 @@ public void lambdaDemo() { // F1 is a subclass of Function1: scala.Function1 f2 = f1; - scala.Function1 f3 = (String s) -> s; - scala.Function1 f4 = s -> s; + // Factory methods in `JFunction` can reduce the verbosity a little: + // `func` is actually just an identity method; it only exists to + // trigger lambda creation using the `JFunction1` functional interface. + scala.Function1 f3 = func((String s) -> s); - // Specialized variants of the `apply` method are implenented in the - // functional interface - scala.Function1 f5 = (i -> -i); + // Note that javac's type inference can infer the parameter type here, + // based on the acribed type of `f4`. + scala.Function1 f4 = func(s -> s); + + // f1.apply(""); + + // Specialized variants of the `apply` method are provided but implementing a specialized + // Scala function in this straight-forward way results in boxing and unboxing because the + // Java lambda operates on boxed types: + JFunction1 f5 = (i) -> -i; assert(f5.apply(1) == -1); assert(f5.apply$mcII$sp(1) == -1); + // We provide `JFunction.funcSpecialized` and `JFunction.procSpecialized` methods to avoid + // boxing: + scala.Function1 f5b = funcSpecialized((int i) -> -i); + assert(f5b.apply(1) == -1); + assert(f5b.apply$mcII$sp(1) == -1); + // as are `curried`, `tupled`, `compose`, `andThen`. f3.compose(f3).andThen(f3).apply(""); - scala.Function2 f6 = ((s1, s2) -> join(s1, s2)); + scala.Function2 f6 = func((s1, s2) -> join(s1, s2)); assert(f6.curried().apply("1").apply("2").equals("12")); - // Functions returning unit must return BoxedUnit.UNIT explicitly. + // Functions returning unit can use the `JProcedure1`, ... functional interfaces + // in order to convert a void lamdba return to Scala's Unit: + JProcedure1 f7b = s -> sideEffect(); + scala.Function1 f7c = f7b; + + // The easiest way to do this is via `JFunction.proc`, .... // // Note that the lambda has a return type of `void` if the last // statement is a call to a `void` returning method, or if it is // a `return`. - scala.Function1 f7 = (s -> { sideEffect(); return scala.runtime.BoxedUnit.UNIT; }); - scala.Function1 f8 = (s -> { s.toUpperCase(); return scala.runtime.BoxedUnit.UNIT; }); + scala.Function1 f7 = proc(s -> sideEffect()); + scala.Function1 f8 = proc(s -> {s.toUpperCase(); return;}); // Function0 is also available - scala.Function0 f9 = (() -> "42"); + scala.Function0 f9 = func(() -> "42"); assert(f9.apply().equals("42")); // You can go up to 22 (the highest arity function defined in the Scala standard library.) - assert(acceptFunction1((v1 -> v1.toUpperCase())).equals("1")); - acceptFunction1Unit((v1 -> {sideEffect(); return scala.runtime.BoxedUnit.UNIT;})); - acceptFunction1Unit((v1 -> {v1.toUpperCase(); return scala.runtime.BoxedUnit.UNIT;})); + assert(acceptFunction1(func(v1 -> v1.toUpperCase())).equals("1")); + acceptFunction1Unit(proc(v1 -> sideEffect())); + acceptFunction1Unit(proc(v1 -> {v1.toUpperCase(); return;})); - assert(acceptFunction2(((v1, v2) -> join(v1, v2))).equals("12")); - acceptFunction2Unit(((v1, v2) -> {v1.toUpperCase(); return scala.runtime.BoxedUnit.UNIT;})); + assert(acceptFunction2(func((v1, v2) -> join(v1, v2))).equals("12")); + acceptFunction2Unit(proc((v1, v2) -> {v1.toUpperCase(); return;})); - assert(acceptFunction3(((v1, v2, v3) -> join(v1, v2, v3))).equals("123")); - acceptFunction3Unit(((v1, v2, v3) -> {v1.toUpperCase(); return scala.runtime.BoxedUnit.UNIT;})); + assert(acceptFunction3(func((v1, v2, v3) -> join(v1, v2, v3))).equals("123")); + acceptFunction3Unit(proc((v1, v2, v3) -> {v1.toUpperCase(); return;})); - assert(acceptFunction22(((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> join(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22))).equals("12345678910111213141516171819202122")); - acceptFunction22Unit( ((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> {v1.toUpperCase(); return scala.runtime.BoxedUnit.UNIT;})); + assert(acceptFunction22(func((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> join(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22))).equals("12345678910111213141516171819202122")); + acceptFunction22Unit( proc((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> {v1.toUpperCase(); return;})); } - */ - /* - // The JFunctions in 2.12.0-M4 are not Serializable anymore @Test public void isSerializable() { - scala.Function0 f0 = () -> "foo"; + JFunction0 f0 = () -> "foo"; assertEquals("foo", SerializationUtils.clone(f0).apply()); - scala.Function1 f1 = (a) -> a.toUpperCase(); + JFunction1 f1 = (a) -> a.toUpperCase(); assertEquals("FOO", SerializationUtils.clone(f1).apply("foo")); - scala.Function2 f2 = (a, b) -> a + b; + JFunction2 f2 = (a, b) -> a + b; assertEquals("foobar", SerializationUtils.clone(f2).apply("foo", "bar")); - scala.Function3 f3 = (a, b, c) -> a + b + c; + JFunction3 f3 = (a, b, c) -> a + b + c; assertEquals("foobarbaz", SerializationUtils.clone(f3).apply("foo", "bar", "baz")); } - */ - /* - // This version is for Scala 2.12.0-RC1 and is not compatible with 2.11. It's commented out to allow cross-building. private static scala.concurrent.Future futureExample( - scala.concurrent.Future future, scala.concurrent.ExecutionContext ec) { - return future.map(s -> s.toUpperCase(), ec).map(s -> s.length(), ec); + scala.concurrent.Future future, scala.concurrent.ExecutionContext ec) { + return future.map(func(s -> s.toUpperCase()), ec).map(func(s -> s.length()), ec); } - */ private static void sideEffect() { } From 69bfc0f718e4632d69965222f9e2521c3fd3706f Mon Sep 17 00:00:00 2001 From: Stefan Zeiger Date: Wed, 31 Aug 2016 20:56:32 +0200 Subject: [PATCH 2/4] Generate JFunction and JProcedure sources Just like for 2.11, we generate the sources again for 2.12 (after M5). I wrote a new code generator which is much simpler than the old one (because there is less and simpler code to generate). We can remove the old one when we drop support for Scala 2.11. --- build.sbt | 14 +- fnGen/WrapFnGen.scala | 4 +- project/CodeGen.scala | 85 ++++++- .../scala/runtime/java8/JFunction.java | 237 ------------------ .../scala/runtime/java8/JFunction0.java | 13 - .../scala/runtime/java8/JFunction1.java | 13 - .../scala/runtime/java8/JFunction10.java | 13 - .../scala/runtime/java8/JFunction11.java | 13 - .../scala/runtime/java8/JFunction12.java | 13 - .../scala/runtime/java8/JFunction13.java | 13 - .../scala/runtime/java8/JFunction14.java | 13 - .../scala/runtime/java8/JFunction15.java | 13 - .../scala/runtime/java8/JFunction16.java | 13 - .../scala/runtime/java8/JFunction17.java | 13 - .../scala/runtime/java8/JFunction18.java | 13 - .../scala/runtime/java8/JFunction19.java | 13 - .../scala/runtime/java8/JFunction2.java | 13 - .../scala/runtime/java8/JFunction20.java | 13 - .../scala/runtime/java8/JFunction21.java | 13 - .../scala/runtime/java8/JFunction22.java | 13 - .../scala/runtime/java8/JFunction3.java | 13 - .../scala/runtime/java8/JFunction4.java | 13 - .../scala/runtime/java8/JFunction5.java | 13 - .../scala/runtime/java8/JFunction6.java | 13 - .../scala/runtime/java8/JFunction7.java | 13 - .../scala/runtime/java8/JFunction8.java | 13 - .../scala/runtime/java8/JFunction9.java | 13 - .../scala/runtime/java8/JProcedure0.java | 17 -- .../scala/runtime/java8/JProcedure1.java | 17 -- .../scala/runtime/java8/JProcedure10.java | 17 -- .../scala/runtime/java8/JProcedure11.java | 17 -- .../scala/runtime/java8/JProcedure12.java | 17 -- .../scala/runtime/java8/JProcedure13.java | 17 -- .../scala/runtime/java8/JProcedure14.java | 17 -- .../scala/runtime/java8/JProcedure15.java | 17 -- .../scala/runtime/java8/JProcedure16.java | 17 -- .../scala/runtime/java8/JProcedure17.java | 17 -- .../scala/runtime/java8/JProcedure18.java | 17 -- .../scala/runtime/java8/JProcedure19.java | 17 -- .../scala/runtime/java8/JProcedure2.java | 17 -- .../scala/runtime/java8/JProcedure20.java | 17 -- .../scala/runtime/java8/JProcedure21.java | 17 -- .../scala/runtime/java8/JProcedure22.java | 17 -- .../scala/runtime/java8/JProcedure3.java | 17 -- .../scala/runtime/java8/JProcedure4.java | 17 -- .../scala/runtime/java8/JProcedure5.java | 17 -- .../scala/runtime/java8/JProcedure6.java | 17 -- .../scala/runtime/java8/JProcedure7.java | 17 -- .../scala/runtime/java8/JProcedure8.java | 17 -- .../scala/runtime/java8/JProcedure9.java | 17 -- 50 files changed, 93 insertions(+), 937 deletions(-) delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction0.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction1.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction10.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction11.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction12.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction13.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction14.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction15.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction16.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction17.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction18.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction19.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction2.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction20.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction21.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction22.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction3.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction4.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction5.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction6.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction7.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction8.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JFunction9.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure0.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure1.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure10.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure11.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure12.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure13.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure14.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure15.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure16.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure17.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure18.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure19.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure2.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure20.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure21.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure22.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure3.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure4.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure5.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure6.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure7.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure8.java delete mode 100644 src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure9.java diff --git a/build.sbt b/build.sbt index 548e1e3..8efda17 100644 --- a/build.sbt +++ b/build.sbt @@ -63,14 +63,16 @@ lazy val root = (project in file(".")). }.taskValue, sourceGenerators in Compile <+= (sourceManaged in Compile, scalaVersion) map { (dir, v) => + val write = jwrite(dir) _ if(v.startsWith("2.11.")) { - val write = jwrite(dir) _ Seq(write("JFunction", CodeGen.factory)) ++ - (0 to 22).map(n => write("JFunction" + n, CodeGen.fN(n))) ++ - (0 to 22).map(n => write("JProcedure" + n, CodeGen.pN(n))) ++ - CodeGen.specializedF0.map(write.tupled) ++ - CodeGen.specializedF1.map(write.tupled) ++ - CodeGen.specializedF2.map(write.tupled) + (0 to 22).map(n => write("JFunction" + n, CodeGen.fN(n))) ++ + (0 to 22).map(n => write("JProcedure" + n, CodeGen.pN(n))) ++ + CodeGen.specializedF0.map(write.tupled) ++ + CodeGen.specializedF1.map(write.tupled) ++ + CodeGen.specializedF2.map(write.tupled) + } else if(v.startsWith("2.12.") && v != "2.12.0-M5") { + CodeGen.create212.map(write.tupled) } else Seq.empty }, diff --git a/fnGen/WrapFnGen.scala b/fnGen/WrapFnGen.scala index 02938f5..46779bc 100644 --- a/fnGen/WrapFnGen.scala +++ b/fnGen/WrapFnGen.scala @@ -1,12 +1,12 @@ /* - * Copyright (C) 2015 Typesafe Inc. + * Copyright (C) 2015-2016 Lightbend Inc. */ object WrapFnGen { val copyright = s""" |/* - | * Copyright (C) 2015, Typesafe Inc. + | * Copyright (C) 2015-2016, Lightbend Inc. | * This file auto-generated by WrapFnGen.scala. Do not modify directly. | */ |""".stripMargin diff --git a/project/CodeGen.scala b/project/CodeGen.scala index 15c475f..a2737c4 100644 --- a/project/CodeGen.scala +++ b/project/CodeGen.scala @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2014 Typesafe Inc. + * Copyright (C) 2012-2016 Lightbend Inc. */ sealed abstract class Type(val code: Char, val prim: String, val ref: String) { @@ -288,7 +288,7 @@ object CodeGen { private val copyright = """ |/* - | * Copyright (C) 2012-2015 Typesafe Inc. + | * Copyright (C) 2012-2016 Lightbend Inc. | */""".stripMargin.trim private def function0SpecMethods = { @@ -433,4 +433,85 @@ object CodeGen { } def indent(s: String) = s.linesIterator.map(" " + _).mkString("\n") + + /** Create the simpler JFunction and JProcedure sources for Scala 2.12+ */ + def create212: Seq[(String, String)] = { + val blocks = for(i <- 0 to 22) yield { + val ts = (1 to i).map(i => s"T$i").mkString(", ") + val tsComma = if(ts.isEmpty) "" else s"$ts," + val tsAngled = if(ts.isEmpty) "" else s"<$ts>" + val paramTs = (1 to i).map(i => s"T$i t$i").mkString(", ") + val argTs = (1 to i).map(i => s"t$i").mkString(", ") + + ( + ( s"JFunction$i", + s"""$copyright + |$packaging + | + |/** @deprecated Use scala.Function$i in Scala 2.12 */ + |@Deprecated + |@FunctionalInterface + |public interface JFunction$i<$tsComma R> extends scala.Function$i<$tsComma R>, java.io.Serializable {} + """.stripMargin), + ( s"JProcedure$i", + s"""$copyright + |$packaging + | + |import scala.runtime.BoxedUnit; + | + |@FunctionalInterface + |public interface JProcedure$i$tsAngled extends scala.Function$i<$tsComma BoxedUnit> { + | void applyVoid($paramTs); + | default BoxedUnit apply($paramTs) { applyVoid($argTs); return BoxedUnit.UNIT; } + |} + """.stripMargin), + s""" /** @deprecated Not needed anymore in Scala 2.12 */ + | @Deprecated + | public static <$tsComma R> scala.Function$i<$tsComma R> func(scala.Function$i<$tsComma R> f) { return f; } + | public static $tsAngled scala.Function$i<$tsComma BoxedUnit> proc(JProcedure$i$tsAngled p) { return p; } + """.stripMargin + ) + } + + def specialize(args: String): List[(Int, String, String)] = { + def combinations(l: List[String]): List[List[Char]] = + l.foldRight(List(Nil: List[Char])) { (s, z) => s.toList.flatMap(c => z.map(c :: _)) } + val split = args.split(",") + combinations(split.toList).map { s => + val types = s.map { + case 'B' => "Byte" + case 'S' => "Short" + case 'V' => "BoxedUnit" + case 'I' => "Integer" + case 'J' => "Long" + case 'C' => "Character" + case 'F' => "Float" + case 'D' => "Double" + case 'Z' => "Boolean" + } + (split.length-1, (types.tail :+ types.head).mkString(", "), "$mc" + s.mkString + "$sp") + } + } + + val specialized = + List("V", "V,IJFD", "V,IJD,IJD").flatMap(specialize).map { case (i, a, sp) => + s" public static scala.Function$i<$a> procSpecialized(JFunction$i$sp f) { return f; }" } ++ + List("BSIJCFDZ", "ZIFJD,IJFD", "ZIFJD,IJD,IJD").flatMap(specialize).map { case (i, a, sp) => + s" public static scala.Function$i<$a> funcSpecialized(JFunction$i$sp f) { return f; }" } + + (blocks.map(_._1) ++ blocks.map(_._2)) :+ + ( "JFunction", + s"""$copyright + |$packaging + | + |import scala.runtime.BoxedUnit; + |import scala.runtime.java8.*; + | + |public final class JFunction { + | private JFunction() {} + |${specialized.mkString("\n")} + |${blocks.map(_._3).mkString("\n")} + |} + """.stripMargin) + } } diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction.java deleted file mode 100644 index 0089911..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction.java +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; -import scala.runtime.java8.*; - -public final class JFunction { - private JFunction() {} - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function0 func(scala.Function0 f) { return f; } - public static scala.Function0 proc(JProcedure0 p) { return p; } - public static scala.Function0 procSpecialized(JFunction0$mcV$sp f) { return f; } - public static scala.Function0 funcSpecialized(JFunction0$mcB$sp f) { return f; } - public static scala.Function0 funcSpecialized(JFunction0$mcS$sp f) { return f; } - public static scala.Function0 funcSpecialized(JFunction0$mcI$sp f) { return f; } - public static scala.Function0 funcSpecialized(JFunction0$mcJ$sp f) { return f; } - public static scala.Function0 funcSpecialized(JFunction0$mcC$sp f) { return f; } - public static scala.Function0 funcSpecialized(JFunction0$mcF$sp f) { return f; } - public static scala.Function0 funcSpecialized(JFunction0$mcD$sp f) { return f; } - public static scala.Function0 funcSpecialized(JFunction0$mcZ$sp f) { return f; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function1 func(scala.Function1 f) { return f; } - public static scala.Function1 proc(JProcedure1 p) { return p; } - public static scala.Function1 procSpecialized(JFunction1$mcVI$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcZI$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcII$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcFI$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcJI$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcDI$sp f) { return f; } - public static scala.Function1 procSpecialized(JFunction1$mcVJ$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcZJ$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcIJ$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcFJ$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcJJ$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcDJ$sp f) { return f; } - public static scala.Function1 procSpecialized(JFunction1$mcVF$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcZF$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcIF$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcFF$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcJF$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcDF$sp f) { return f; } - public static scala.Function1 procSpecialized(JFunction1$mcVD$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcZD$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcID$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcFD$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcJD$sp f) { return f; } - public static scala.Function1 funcSpecialized(JFunction1$mcDD$sp f) { return f; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function2 func(scala.Function2 f) { return f; } - public static scala.Function2 proc(JProcedure2 p) { return p; } - public static scala.Function2 procSpecialized(JFunction2$mcVII$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcZII$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcIII$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcFII$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcJII$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcDII$sp f) { return f; } - public static scala.Function2 procSpecialized(JFunction2$mcVIJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcZIJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcIIJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcFIJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcJIJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcDIJ$sp f) { return f; } - public static scala.Function2 procSpecialized(JFunction2$mcVID$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcZID$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcIID$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcFID$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcJID$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcDID$sp f) { return f; } - public static scala.Function2 procSpecialized(JFunction2$mcVJI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcZJI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcIJI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcFJI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcJJI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcDJI$sp f) { return f; } - public static scala.Function2 procSpecialized(JFunction2$mcVJJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcZJJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcIJJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcFJJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcJJJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcDJJ$sp f) { return f; } - public static scala.Function2 procSpecialized(JFunction2$mcVJD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcZJD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcIJD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcFJD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcJJD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcDJD$sp f) { return f; } - public static scala.Function2 procSpecialized(JFunction2$mcVDI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcZDI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcIDI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcFDI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcJDI$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcDDI$sp f) { return f; } - public static scala.Function2 procSpecialized(JFunction2$mcVDJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcZDJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcIDJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcFDJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcJDJ$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcDDJ$sp f) { return f; } - public static scala.Function2 procSpecialized(JFunction2$mcVDD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcZDD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcIDD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcFDD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcJDD$sp f) { return f; } - public static scala.Function2 funcSpecialized(JFunction2$mcDDD$sp f) { return f; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function3 func(scala.Function3 f) { return f; } - public static scala.Function3 proc(JProcedure3 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function4 func(scala.Function4 f) { return f; } - public static scala.Function4 proc(JProcedure4 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function5 func(scala.Function5 f) { return f; } - public static scala.Function5 proc(JProcedure5 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function6 func(scala.Function6 f) { return f; } - public static scala.Function6 proc(JProcedure6 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function7 func(scala.Function7 f) { return f; } - public static scala.Function7 proc(JProcedure7 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function8 func(scala.Function8 f) { return f; } - public static scala.Function8 proc(JProcedure8 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function9 func(scala.Function9 f) { return f; } - public static scala.Function9 proc(JProcedure9 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function10 func(scala.Function10 f) { return f; } - public static scala.Function10 proc(JProcedure10 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function11 func(scala.Function11 f) { return f; } - public static scala.Function11 proc(JProcedure11 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function12 func(scala.Function12 f) { return f; } - public static scala.Function12 proc(JProcedure12 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function13 func(scala.Function13 f) { return f; } - public static scala.Function13 proc(JProcedure13 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function14 func(scala.Function14 f) { return f; } - public static scala.Function14 proc(JProcedure14 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function15 func(scala.Function15 f) { return f; } - public static scala.Function15 proc(JProcedure15 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function16 func(scala.Function16 f) { return f; } - public static scala.Function16 proc(JProcedure16 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function17 func(scala.Function17 f) { return f; } - public static scala.Function17 proc(JProcedure17 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function18 func(scala.Function18 f) { return f; } - public static scala.Function18 proc(JProcedure18 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function19 func(scala.Function19 f) { return f; } - public static scala.Function19 proc(JProcedure19 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function20 func(scala.Function20 f) { return f; } - public static scala.Function20 proc(JProcedure20 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function21 func(scala.Function21 f) { return f; } - public static scala.Function21 proc(JProcedure21 p) { return p; } - /** - * @deprecated Not needed anymore in Scala 2.12 - */ - @Deprecated - public static scala.Function22 func(scala.Function22 f) { return f; } - public static scala.Function22 proc(JProcedure22 p) { return p; } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction0.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction0.java deleted file mode 100644 index 6e0b034..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction0.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function0 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction0 extends scala.Function0, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction1.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction1.java deleted file mode 100644 index a067ebf..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction1.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function1 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction1 extends scala.Function1, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction10.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction10.java deleted file mode 100644 index 56015e4..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction10.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function10 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction10 extends scala.Function10, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction11.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction11.java deleted file mode 100644 index 55b335c..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction11.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function11 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction11 extends scala.Function11, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction12.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction12.java deleted file mode 100644 index 7234a86..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction12.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function12 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction12 extends scala.Function12, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction13.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction13.java deleted file mode 100644 index b5f5f41..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction13.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function13 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction13 extends scala.Function13, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction14.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction14.java deleted file mode 100644 index c330d08..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction14.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function14 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction14 extends scala.Function14, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction15.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction15.java deleted file mode 100644 index e64a471..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction15.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function15 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction15 extends scala.Function15, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction16.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction16.java deleted file mode 100644 index d7fec39..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction16.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function16 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction16 extends scala.Function16, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction17.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction17.java deleted file mode 100644 index edd5a61..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction17.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function17 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction17 extends scala.Function17, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction18.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction18.java deleted file mode 100644 index 6e05681..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction18.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function18 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction18 extends scala.Function18, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction19.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction19.java deleted file mode 100644 index 0d23e2b..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction19.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function19 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction19 extends scala.Function19, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction2.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction2.java deleted file mode 100644 index f6cecd3..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction2.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function2 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction2 extends scala.Function2, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction20.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction20.java deleted file mode 100644 index 5c28ca8..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction20.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function20 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction20 extends scala.Function20, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction21.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction21.java deleted file mode 100644 index 26637c6..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction21.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function21 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction21 extends scala.Function21, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction22.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction22.java deleted file mode 100644 index cd2a43d..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction22.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function22 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction22 extends scala.Function22, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction3.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction3.java deleted file mode 100644 index 7ca2a8e..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction3.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function3 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction3 extends scala.Function3, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction4.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction4.java deleted file mode 100644 index f90948d..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction4.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function4 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction4 extends scala.Function4, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction5.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction5.java deleted file mode 100644 index cd2b629..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction5.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2015 Typesafe Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function5 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction5 extends scala.Function5, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction6.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction6.java deleted file mode 100644 index dff26be..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction6.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function6 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction6 extends scala.Function6, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction7.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction7.java deleted file mode 100644 index 654bd6b..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction7.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function7 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction7 extends scala.Function7, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction8.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction8.java deleted file mode 100644 index 16ed6b7..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction8.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function8 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction8 extends scala.Function8, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction9.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction9.java deleted file mode 100644 index a6faa12..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JFunction9.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -/** - * @deprecated Use scala.Function9 in Scala 2.12 - */ -@Deprecated -@FunctionalInterface -public interface JFunction9 extends scala.Function9, java.io.Serializable { -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure0.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure0.java deleted file mode 100644 index 3d2ee07..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure0.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure0 extends scala.Function0 { - void applyVoid(); - - default BoxedUnit apply() { - applyVoid(); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure1.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure1.java deleted file mode 100644 index 86e4838..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure1.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure1 extends scala.Function1 { - void applyVoid(T1 t1); - - default BoxedUnit apply(T1 t1) { - applyVoid(t1); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure10.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure10.java deleted file mode 100644 index ca8017c..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure10.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure10 extends scala.Function10 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure11.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure11.java deleted file mode 100644 index fd8068f..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure11.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure11 extends scala.Function11 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure12.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure12.java deleted file mode 100644 index c46583e..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure12.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure12 extends scala.Function12 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure13.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure13.java deleted file mode 100644 index ebe4a6d..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure13.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure13 extends scala.Function13 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure14.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure14.java deleted file mode 100644 index 69261f9..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure14.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure14 extends scala.Function14 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure15.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure15.java deleted file mode 100644 index 334182d..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure15.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure15 extends scala.Function15 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure16.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure16.java deleted file mode 100644 index 711b5a5..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure16.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure16 extends scala.Function16 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure17.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure17.java deleted file mode 100644 index 48b85bc..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure17.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure17 extends scala.Function17 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure18.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure18.java deleted file mode 100644 index 07059f8..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure18.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure18 extends scala.Function18 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure19.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure19.java deleted file mode 100644 index 75ac2bd..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure19.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure19 extends scala.Function19 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure2.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure2.java deleted file mode 100644 index f8d10b7..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure2.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure2 extends scala.Function2 { - void applyVoid(T1 t1, T2 t2); - - default BoxedUnit apply(T1 t1, T2 t2) { - applyVoid(t1, t2); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure20.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure20.java deleted file mode 100644 index c34c468..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure20.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure20 extends scala.Function20 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure21.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure21.java deleted file mode 100644 index bab5e56..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure21.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure21 extends scala.Function21 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure22.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure22.java deleted file mode 100644 index 3f530ae..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure22.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure22 extends scala.Function22 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21, T22 t22); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21, T22 t22) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure3.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure3.java deleted file mode 100644 index ef4c0fd..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure3.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure3 extends scala.Function3 { - void applyVoid(T1 t1, T2 t2, T3 t3); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3) { - applyVoid(t1, t2, t3); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure4.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure4.java deleted file mode 100644 index 4a6142b..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure4.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure4 extends scala.Function4 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4) { - applyVoid(t1, t2, t3, t4); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure5.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure5.java deleted file mode 100644 index 3ad2d39..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure5.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure5 extends scala.Function5 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) { - applyVoid(t1, t2, t3, t4, t5); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure6.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure6.java deleted file mode 100644 index 2f36660..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure6.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure6 extends scala.Function6 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6) { - applyVoid(t1, t2, t3, t4, t5, t6); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure7.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure7.java deleted file mode 100644 index 245cbec..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure7.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure7 extends scala.Function7 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7) { - applyVoid(t1, t2, t3, t4, t5, t6, t7); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure8.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure8.java deleted file mode 100644 index 9328cc6..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure8.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure8 extends scala.Function8 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8); - return BoxedUnit.UNIT; - } -} diff --git a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure9.java b/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure9.java deleted file mode 100644 index 9b97726..0000000 --- a/src/main/java-for-scala-2.12/scala/runtime/java8/JProcedure9.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2012-2016 Lightbend Inc. - */ - -package scala.runtime.java8; - -import scala.runtime.BoxedUnit; - -@FunctionalInterface -public interface JProcedure9 extends scala.Function9 { - void applyVoid(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9); - - default BoxedUnit apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9) { - applyVoid(t1, t2, t3, t4, t5, t6, t7, t8, t9); - return BoxedUnit.UNIT; - } -} From ebd6516263c70fc25405247f3c12741626f2b3e8 Mon Sep 17 00:00:00 2001 From: Stefan Zeiger Date: Fri, 2 Sep 2016 16:46:14 +0200 Subject: [PATCH 3/4] Move code back from scala.runtime.java8 to scala.compat.java8 The standard library contains some specialized JFunction* classes in scala.runtime.java8, so we cannot use the same package here if we ever want this to work with Java 9 modules. Therefore everything is moved back to scala.compat.java8 where it was in 0.7. We have to drop compatibility with Scala 2.12.0-M5 which contains these classes as part of scala-library in scala.runtime.java8. --- build.sbt | 20 +++++++------------ project/CodeGen.scala | 18 ++++++++++++++++- .../{runtime => compat}/java8/BoxingTest.java | 3 ++- .../{runtime => compat}/java8/LambdaTest.java | 6 +++--- .../scala/compat/java8/SpecializedTest.scala | 2 +- .../java8/SpecializedTestSupport.java | 3 ++- 6 files changed, 32 insertions(+), 20 deletions(-) rename src/test/java/scala/{runtime => compat}/java8/BoxingTest.java (93%) rename src/test/java/scala/{runtime => compat}/java8/LambdaTest.java (98%) rename src/test/java/scala/{runtime => compat}/java8/SpecializedTestSupport.java (91%) diff --git a/build.sbt b/build.sbt index 8efda17..0884aa6 100644 --- a/build.sbt +++ b/build.sbt @@ -2,15 +2,15 @@ val disableDocs = sys.props("nodocs") == "true" lazy val JavaDoc = config("genjavadoc") extend Compile -def jwrite(dir: java.io.File)(name: String, content: String) = { - val f = dir / "scala" / "runtime" / "java8" / s"${name}.java" +def jwrite(dir: java.io.File, pck: String = "scala/compat/java8")(name: String, content: String) = { + val f = dir / pck / s"${name}.java" IO.write(f, content) f } lazy val commonSettings = Seq( - resolvers += "scala-pr" at "https://scala-ci.typesafe.com/artifactory/scala-pr-validation-snapshots/", - crossScalaVersions := List("2.12.0-ab61fed-SNAPSHOT", "2.11.8", "2.12.0-M5"), + resolvers += "scala-nightly" at "https://scala-ci.typesafe.com/artifactory/scala-release-temp/", + crossScalaVersions := List("2.12.0-45edf86-nightly", "2.11.8"), scalaVersion := crossScalaVersions.value.head, organization := "org.scala-lang.modules", version := "0.8.0-SNAPSHOT" @@ -70,10 +70,9 @@ lazy val root = (project in file(".")). (0 to 22).map(n => write("JProcedure" + n, CodeGen.pN(n))) ++ CodeGen.specializedF0.map(write.tupled) ++ CodeGen.specializedF1.map(write.tupled) ++ - CodeGen.specializedF2.map(write.tupled) - } else if(v.startsWith("2.12.") && v != "2.12.0-M5") { - CodeGen.create212.map(write.tupled) - } else Seq.empty + CodeGen.specializedF2.map(write.tupled) ++ + CodeGen.packageDummy.map((jwrite(dir, "java/runtime/java8") _).tupled) + } else CodeGen.create212.map(write.tupled) }, sourceGenerators in Test <+= sourceManaged in Test map { dir => @@ -91,11 +90,6 @@ lazy val root = (project in file(".")). publishArtifact in packageDoc := !disableDocs, - unmanagedSourceDirectories in Compile += { - val isPre212 = scalaVersion.value.startsWith("2.11") || scalaVersion.value == "2.12.0-M5" - sourceDirectory.value / "main" / (if(isPre212) "java-for-scala-2.11" else "java-for-scala-2.12") - }, - sources in (Compile, doc) := { val orig = (sources in (Compile, doc)).value orig.filterNot(_.getName.endsWith(".java")) // raw types not cooked by scaladoc: https://issues.scala-lang.org/browse/SI-8449 diff --git a/project/CodeGen.scala b/project/CodeGen.scala index a2737c4..250637a 100644 --- a/project/CodeGen.scala +++ b/project/CodeGen.scala @@ -25,7 +25,7 @@ object Type { } object CodeGen { - def packaging = "package scala.runtime.java8;" + def packaging = "package scala.compat.java8;" case class arity(n: Int) { val ns = (1 to n).toList @@ -434,6 +434,22 @@ object CodeGen { def indent(s: String) = s.linesIterator.map(" " + _).mkString("\n") + /** Create a dummy class to put into scala.runtime.java8 for Scala 2.11 so that wildcard imports from the + * package won't fail. This allows importing both `scala.runtime.java8.*` and `scala.compat.java8.*` for + * source compatibility between 2.11 and 2.12. + */ + def packageDummy: Seq[(String, String)] = Seq( + ( "PackageDummy", + s"""$copyright + | + |package scala.runtime.java8; + | + |public final class PackageDummy { + | private PackageDummy() {} + |} + """.stripMargin) + ) + /** Create the simpler JFunction and JProcedure sources for Scala 2.12+ */ def create212: Seq[(String, String)] = { val blocks = for(i <- 0 to 22) yield { diff --git a/src/test/java/scala/runtime/java8/BoxingTest.java b/src/test/java/scala/compat/java8/BoxingTest.java similarity index 93% rename from src/test/java/scala/runtime/java8/BoxingTest.java rename to src/test/java/scala/compat/java8/BoxingTest.java index eac05a4..94b05ff 100644 --- a/src/test/java/scala/runtime/java8/BoxingTest.java +++ b/src/test/java/scala/compat/java8/BoxingTest.java @@ -1,9 +1,10 @@ /* * Copyright (C) 2012-2015 Typesafe Inc. */ -package scala.runtime.java8; +package scala.compat.java8; import org.junit.Test; +import scala.runtime.java8.*; public class BoxingTest { @Test diff --git a/src/test/java/scala/runtime/java8/LambdaTest.java b/src/test/java/scala/compat/java8/LambdaTest.java similarity index 98% rename from src/test/java/scala/runtime/java8/LambdaTest.java rename to src/test/java/scala/compat/java8/LambdaTest.java index aaf0187..36634c4 100644 --- a/src/test/java/scala/runtime/java8/LambdaTest.java +++ b/src/test/java/scala/compat/java8/LambdaTest.java @@ -1,14 +1,14 @@ /* * Copyright (C) 2012-2015 Typesafe Inc. */ -package scala.runtime.java8; +package scala.compat.java8; import org.apache.commons.lang3.SerializationUtils; import scala.runtime.*; import static junit.framework.Assert.assertEquals; -import static scala.runtime.java8.JFunction.*; -import static scala.runtime.java8.TestAPI.*; +import static scala.compat.java8.JFunction.*; +import static scala.compat.java8.TestAPI.*; import org.junit.Test; diff --git a/src/test/java/scala/compat/java8/SpecializedTest.scala b/src/test/java/scala/compat/java8/SpecializedTest.scala index 707ad82..e6b3239 100644 --- a/src/test/java/scala/compat/java8/SpecializedTest.scala +++ b/src/test/java/scala/compat/java8/SpecializedTest.scala @@ -4,7 +4,7 @@ package scala.compat.java8 import org.junit.Test -import scala.runtime.java8.SpecializedTestSupport.IntIdentity +import SpecializedTestSupport.IntIdentity class SpecializedTest { @Test def specializationWorks() { diff --git a/src/test/java/scala/runtime/java8/SpecializedTestSupport.java b/src/test/java/scala/compat/java8/SpecializedTestSupport.java similarity index 91% rename from src/test/java/scala/runtime/java8/SpecializedTestSupport.java rename to src/test/java/scala/compat/java8/SpecializedTestSupport.java index 2ba2833..c7e4386 100644 --- a/src/test/java/scala/runtime/java8/SpecializedTestSupport.java +++ b/src/test/java/scala/compat/java8/SpecializedTestSupport.java @@ -1,11 +1,12 @@ /* * Copyright (C) 2012-2015 Typesafe Inc. */ -package scala.runtime.java8; +package scala.compat.java8; import java.util.Arrays; import java.util.List; import org.junit.Assert; +import scala.runtime.java8.*; public class SpecializedTestSupport { public static class IntIdentity implements JFunction1$mcII$sp { From bd2a52e08816647e0ada4d1bd2db6c217f392a36 Mon Sep 17 00:00:00 2001 From: Stefan Zeiger Date: Fri, 9 Sep 2016 16:39:37 +0200 Subject: [PATCH 4/4] Update to proper Scala 2.12.0-RC so we can build a release --- build.sbt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 0884aa6..76eee92 100644 --- a/build.sbt +++ b/build.sbt @@ -9,8 +9,7 @@ def jwrite(dir: java.io.File, pck: String = "scala/compat/java8")(name: String, } lazy val commonSettings = Seq( - resolvers += "scala-nightly" at "https://scala-ci.typesafe.com/artifactory/scala-release-temp/", - crossScalaVersions := List("2.12.0-45edf86-nightly", "2.11.8"), + crossScalaVersions := List("2.12.0-RC1", "2.11.8"), scalaVersion := crossScalaVersions.value.head, organization := "org.scala-lang.modules", version := "0.8.0-SNAPSHOT"