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]

Reply via email to