This is an automated email from the ASF dual-hosted git repository.
mdedetrich pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-pekko.git
The following commit(s) were added to refs/heads/main by this push:
new 0f1db5301e Fix remaining missing inline statements/annotations
0f1db5301e is described below
commit 0f1db5301ed87fea39ab331b5bce88022ccb54da
Author: Matthew de Detrich <[email protected]>
AuthorDate: Sat Dec 30 15:45:06 2023 +1100
Fix remaining missing inline statements/annotations
---
.../java-duration-converters.excludes | 4 ++++
.../org/apache/pekko/compat/PartialFunction.scala | 3 +--
.../pekko/dispatch/internal/SameThreadExecutionContext.scala | 2 +-
.../org/apache/pekko/util/JavaDurationConverters.scala | 6 +++---
.../org/apache/pekko/compat/PartialFunction.scala | 3 +--
.../pekko/dispatch/internal/SameThreadExecutionContext.scala | 2 +-
.../scala-3/org/apache/pekko/util/FutureConverters.scala | 12 ++++++++++--
.../org/apache/pekko/util/JavaDurationConverters.scala | 7 +++++--
.../scala/org/apache/pekko/stream/scaladsl/package.scala | 4 ++--
9 files changed, 28 insertions(+), 15 deletions(-)
diff --git
a/actor/src/main/mima-filters/1.1.0.backwards.excludes/java-duration-converters.excludes
b/actor/src/main/mima-filters/1.1.0.backwards.excludes/java-duration-converters.excludes
new file mode 100644
index 0000000000..b4e7eef355
--- /dev/null
+++
b/actor/src/main/mima-filters/1.1.0.backwards.excludes/java-duration-converters.excludes
@@ -0,0 +1,4 @@
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.JavaDurationConverters#JavaDurationOps.asScala$extension")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.JavaDurationConverters#JavaDurationOps.asScala")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.JavaDurationConverters#ScalaDurationOps.asJava$extension")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.JavaDurationConverters#ScalaDurationOps.asJava")
diff --git
a/actor/src/main/scala-2.13+/org/apache/pekko/compat/PartialFunction.scala
b/actor/src/main/scala-2.13/org/apache/pekko/compat/PartialFunction.scala
similarity index 91%
copy from
actor/src/main/scala-2.13+/org/apache/pekko/compat/PartialFunction.scala
copy to actor/src/main/scala-2.13/org/apache/pekko/compat/PartialFunction.scala
index b3f3970ec0..f76d4d32f0 100644
--- a/actor/src/main/scala-2.13+/org/apache/pekko/compat/PartialFunction.scala
+++ b/actor/src/main/scala-2.13/org/apache/pekko/compat/PartialFunction.scala
@@ -25,8 +25,7 @@ import org.apache.pekko.annotation.InternalApi
*/
@InternalApi private[pekko] object PartialFunction {
- def fromFunction[A, B](f: (A) => B): scala.PartialFunction[A, B] = {
+ @inline def fromFunction[A, B](f: A => B): scala.PartialFunction[A, B] =
scala.PartialFunction.fromFunction(f)
- }
}
diff --git
a/actor/src/main/scala-2.13+/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
b/actor/src/main/scala-2.13/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
similarity index 91%
copy from
actor/src/main/scala-2.13+/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
copy to
actor/src/main/scala-2.13/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
index d4cfa35fbf..983f155df3 100644
---
a/actor/src/main/scala-2.13+/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
+++
b/actor/src/main/scala-2.13/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
@@ -25,5 +25,5 @@ import pekko.annotation.InternalApi
*/
@InternalApi
private[dispatch] object SameThreadExecutionContext {
- def apply(): ExecutionContext = ExecutionContext.parasitic
+ @inline def apply(): ExecutionContext = ExecutionContext.parasitic
}
diff --git
a/actor/src/main/scala/org/apache/pekko/util/JavaDurationConverters.scala
b/actor/src/main/scala-2/org/apache/pekko/util/JavaDurationConverters.scala
similarity index 77%
copy from
actor/src/main/scala/org/apache/pekko/util/JavaDurationConverters.scala
copy to
actor/src/main/scala-2/org/apache/pekko/util/JavaDurationConverters.scala
index e593c9ad5f..5588faa389 100644
--- a/actor/src/main/scala/org/apache/pekko/util/JavaDurationConverters.scala
+++ b/actor/src/main/scala-2/org/apache/pekko/util/JavaDurationConverters.scala
@@ -23,13 +23,13 @@ import org.apache.pekko.annotation.InternalStableApi
*/
@InternalStableApi
private[pekko] object JavaDurationConverters {
- def asFiniteDuration(duration: JDuration): FiniteDuration = duration.asScala
+ @inline def asFiniteDuration(duration: JDuration): FiniteDuration =
duration.asScala
final implicit class JavaDurationOps(val self: JDuration) extends AnyVal {
- def asScala: FiniteDuration = Duration.fromNanos(self.toNanos)
+ @inline def asScala: FiniteDuration = Duration.fromNanos(self.toNanos)
}
final implicit class ScalaDurationOps(val self: Duration) extends AnyVal {
- def asJava: JDuration = JDuration.ofNanos(self.toNanos)
+ @inline def asJava: JDuration = JDuration.ofNanos(self.toNanos)
}
}
diff --git
a/actor/src/main/scala-2.13+/org/apache/pekko/compat/PartialFunction.scala
b/actor/src/main/scala-3/org/apache/pekko/compat/PartialFunction.scala
similarity index 91%
rename from
actor/src/main/scala-2.13+/org/apache/pekko/compat/PartialFunction.scala
rename to actor/src/main/scala-3/org/apache/pekko/compat/PartialFunction.scala
index b3f3970ec0..a05afc17bd 100644
--- a/actor/src/main/scala-2.13+/org/apache/pekko/compat/PartialFunction.scala
+++ b/actor/src/main/scala-3/org/apache/pekko/compat/PartialFunction.scala
@@ -25,8 +25,7 @@ import org.apache.pekko.annotation.InternalApi
*/
@InternalApi private[pekko] object PartialFunction {
- def fromFunction[A, B](f: (A) => B): scala.PartialFunction[A, B] = {
+ inline def fromFunction[A, B](f: A => B): scala.PartialFunction[A, B] =
scala.PartialFunction.fromFunction(f)
- }
}
diff --git
a/actor/src/main/scala-2.13+/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
b/actor/src/main/scala-3/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
similarity index 91%
rename from
actor/src/main/scala-2.13+/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
rename to
actor/src/main/scala-3/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
index d4cfa35fbf..6abce8cadf 100644
---
a/actor/src/main/scala-2.13+/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
+++
b/actor/src/main/scala-3/org/apache/pekko/dispatch/internal/SameThreadExecutionContext.scala
@@ -25,5 +25,5 @@ import pekko.annotation.InternalApi
*/
@InternalApi
private[dispatch] object SameThreadExecutionContext {
- def apply(): ExecutionContext = ExecutionContext.parasitic
+ inline def apply(): ExecutionContext = ExecutionContext.parasitic
}
diff --git
a/actor/src/main/scala-3/org/apache/pekko/util/FutureConverters.scala
b/actor/src/main/scala-3/org/apache/pekko/util/FutureConverters.scala
index b3b8e63c9b..4affed9673 100644
--- a/actor/src/main/scala-3/org/apache/pekko/util/FutureConverters.scala
+++ b/actor/src/main/scala-3/org/apache/pekko/util/FutureConverters.scala
@@ -23,15 +23,23 @@ import scala.concurrent.Future
private[pekko] object FutureConverters {
import scala.jdk.javaapi
+ // Ideally this should have the Scala 3 inline keyword but then Java sources
are
+ // unable to call this method, see
https://github.com/lampepfl/dotty/issues/19346
def asJava[T](f: Future[T]): CompletionStage[T] =
javaapi.FutureConverters.asJava(f)
implicit final class FutureOps[T](private val f: Future[T]) extends AnyVal {
- inline def asJava: CompletionStage[T] = FutureConverters.asJava(f)
+ // Change to FutureConverters.asJava(f) once
https://github.com/lampepfl/dotty/issues/19346
+ // is resolved and the asJava method is marked as inline
+ inline def asJava: CompletionStage[T] = javaapi.FutureConverters.asJava(f)
}
+ // Ideally this should have the Scala 3 inline keyword but then Java sources
are
+ // unable to call this method, see
https://github.com/lampepfl/dotty/issues/19346
def asScala[T](cs: CompletionStage[T]): Future[T] =
javaapi.FutureConverters.asScala(cs)
implicit final class CompletionStageOps[T](private val cs:
CompletionStage[T]) extends AnyVal {
- inline def asScala: Future[T] = FutureConverters.asScala(cs)
+ // Change to FutureConverters.asScala(cs) once
https://github.com/lampepfl/dotty/issues/19346
+ // is resolved and the asScala method is marked as inline
+ inline def asScala: Future[T] = javaapi.FutureConverters.asScala(cs)
}
}
diff --git
a/actor/src/main/scala/org/apache/pekko/util/JavaDurationConverters.scala
b/actor/src/main/scala-3/org/apache/pekko/util/JavaDurationConverters.scala
similarity index 74%
rename from
actor/src/main/scala/org/apache/pekko/util/JavaDurationConverters.scala
rename to
actor/src/main/scala-3/org/apache/pekko/util/JavaDurationConverters.scala
index e593c9ad5f..50102c0ac2 100644
--- a/actor/src/main/scala/org/apache/pekko/util/JavaDurationConverters.scala
+++ b/actor/src/main/scala-3/org/apache/pekko/util/JavaDurationConverters.scala
@@ -23,13 +23,16 @@ import org.apache.pekko.annotation.InternalStableApi
*/
@InternalStableApi
private[pekko] object JavaDurationConverters {
+
+ // Ideally this should have the Scala 3 inline keyword but then Java sources
are
+ // unable to call this method, see
https://github.com/lampepfl/dotty/issues/19346
def asFiniteDuration(duration: JDuration): FiniteDuration = duration.asScala
final implicit class JavaDurationOps(val self: JDuration) extends AnyVal {
- def asScala: FiniteDuration = Duration.fromNanos(self.toNanos)
+ inline def asScala: FiniteDuration = Duration.fromNanos(self.toNanos)
}
final implicit class ScalaDurationOps(val self: Duration) extends AnyVal {
- def asJava: JDuration = JDuration.ofNanos(self.toNanos)
+ inline def asJava: JDuration = JDuration.ofNanos(self.toNanos)
}
}
diff --git
a/stream/src/main/scala/org/apache/pekko/stream/scaladsl/package.scala
b/stream/src/main/scala/org/apache/pekko/stream/scaladsl/package.scala
index b1dac9ce36..c3d2855d57 100644
--- a/stream/src/main/scala/org/apache/pekko/stream/scaladsl/package.scala
+++ b/stream/src/main/scala/org/apache/pekko/stream/scaladsl/package.scala
@@ -67,10 +67,10 @@ import scala.concurrent.Future
package object scaladsl {
implicit class SourceToCompletionStage[Out, T](val src: Source[Out,
Future[T]]) extends AnyVal {
def toCompletionStage(): Source[Out, CompletionStage[T]] =
- src.mapMaterializedValue(FutureConverters.asJava)
+ src.mapMaterializedValue(f => FutureConverters.asJava(f))
}
implicit class SinkToCompletionStage[In, T](val sink: Sink[In, Future[T]])
extends AnyVal {
def toCompletionStage(): Sink[In, CompletionStage[T]] =
- sink.mapMaterializedValue(FutureConverters.asJava)
+ sink.mapMaterializedValue(f => FutureConverters.asJava(f))
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]