Remove scala 3 inline keyword since its erased in bytecode

This commit is contained in:
Matthew de Detrich 2024-01-29 21:31:43 +11:00 committed by Matthew de Detrich
parent e4ad151a28
commit 25f80a160a
8 changed files with 16 additions and 118 deletions

View file

@ -1,6 +0,0 @@
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.FutureConverters#CompletionStageOps.asScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.FutureConverters#CompletionStageOps.asScala")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.FutureConverters#CompletionStageOps.asScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.FutureConverters#FutureOps.asJava$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.FutureConverters#FutureOps.asJava")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.FutureConverters#FutureOps.asJava$extension")

View file

@ -1,4 +0,0 @@
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")

View file

@ -1,30 +0,0 @@
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOption.toJava$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOption.toJavaPrimitive$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOption.toJava")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOption.toJavaPrimitive")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOption.toJava$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOption.toJavaPrimitive$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptional.toJavaPrimitive$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptional.toScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptional.toScala")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptional.toJavaPrimitive")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptional.toScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptional.toJavaPrimitive$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalDouble.toJavaGeneric$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalDouble.toScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalDouble.toScala")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalDouble.toJavaGeneric")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalDouble.toScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalDouble.toJavaGeneric$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalInt.toJavaGeneric$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalInt.toScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalInt.toScala")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalInt.toJavaGeneric")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalInt.toScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalInt.toJavaGeneric$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalLong.toJavaGeneric$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalLong.toScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalLong.toScala")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalLong.toJavaGeneric")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalLong.toScala$extension")
ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.OptionConverters#RichOptionalLong.toJavaGeneric$extension")

View file

@ -15,8 +15,6 @@ package org.apache.pekko.compat
import org.apache.pekko.annotation.InternalApi
import scala.annotation.targetName
/**
* INTERNAL API
*
@ -24,15 +22,10 @@ import scala.annotation.targetName
* against Scala 2.12, 2.13, 3.0
*
* Remove these classes as soon as support for Scala 2.12 is dropped!
* Remove the @targetName bytecode forwarded methods for Pekko 2.0.x since we only care about source compatibility
*/
@InternalApi private[pekko] object PartialFunction {
inline def fromFunction[A, B](f: A => B): scala.PartialFunction[A, B] =
scala.PartialFunction.fromFunction(f)
@targetName("fromFunction")
def _pekko10FromFunction[A, B](f: A => B): scala.PartialFunction[A, B] =
def fromFunction[A, B](f: A => B): scala.PartialFunction[A, B] =
scala.PartialFunction.fromFunction(f)
}

View file

@ -18,18 +18,13 @@ import scala.concurrent.ExecutionContext
import org.apache.pekko
import pekko.annotation.InternalApi
import scala.annotation.targetName
/**
* Factory to create same thread ec. Not intended to be called from any other site than to create [[pekko.dispatch.ExecutionContexts#parasitic]]
* Remove the @targetName bytecode forwarded methods for Pekko 2.0.x since we only care about source compatibility
*
* INTERNAL API
*/
@InternalApi
private[dispatch] object SameThreadExecutionContext {
inline def apply(): ExecutionContext = ExecutionContext.parasitic
def apply(): ExecutionContext = ExecutionContext.parasitic
@targetName("apply")
def _pekko1Apply(): ExecutionContext = ExecutionContext.parasitic
}

View file

@ -13,13 +13,11 @@ import org.apache.pekko.annotation.InternalStableApi
import java.util.concurrent.CompletionStage
import scala.concurrent.Future
import scala.annotation.targetName
/**
* INTERNAL API
*
* Remove this once Scala 2.12 support is dropped since all methods are in Scala 2.13+ stdlib
* Remove the @targetName bytecode forwarded methods for Pekko 2.0.x since we only care about source compatibility
*/
@InternalStableApi
private[pekko] object FutureConverters {
@ -30,10 +28,7 @@ private[pekko] object FutureConverters {
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] = javaapi.FutureConverters.asJava(f)
@targetName("asJava")
def _pekko1AsJava: CompletionStage[T] = javaapi.FutureConverters.asJava(f)
def asJava: CompletionStage[T] = javaapi.FutureConverters.asJava(f)
}
// Ideally this should have the Scala 3 inline keyword but then Java sources are
@ -41,9 +36,6 @@ private[pekko] object FutureConverters {
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] = javaapi.FutureConverters.asScala(cs)
@targetName("asScala")
def _pekko1AsScala: Future[T] = javaapi.FutureConverters.asScala(cs)
def asScala: Future[T] = javaapi.FutureConverters.asScala(cs)
}
}

View file

@ -15,14 +15,12 @@ package org.apache.pekko.util
import java.time.{ Duration => JDuration }
import scala.annotation.targetName
import scala.concurrent.duration.{ Duration, FiniteDuration }
import org.apache.pekko.annotation.InternalStableApi
/**
* INTERNAL API
* Remove the @targetName bytecode forwarded methods for Pekko 2.0.x since we only care about source compatibility
*/
@InternalStableApi
private[pekko] object JavaDurationConverters {
@ -32,16 +30,10 @@ private[pekko] object JavaDurationConverters {
def asFiniteDuration(duration: JDuration): FiniteDuration = duration.asScala
final implicit class JavaDurationOps(val self: JDuration) extends AnyVal {
inline def asScala: FiniteDuration = Duration.fromNanos(self.toNanos)
@targetName("asScala")
def _pekko1AsScala: FiniteDuration = Duration.fromNanos(self.toNanos)
def asScala: FiniteDuration = Duration.fromNanos(self.toNanos)
}
final implicit class ScalaDurationOps(val self: Duration) extends AnyVal {
inline def asJava: JDuration = JDuration.ofNanos(self.toNanos)
@targetName("asJava")
def _pekko1AsJava: JDuration = JDuration.ofNanos(self.toNanos)
def asJava: JDuration = JDuration.ofNanos(self.toNanos)
}
}

View file

@ -12,14 +12,12 @@ package org.apache.pekko.util
import org.apache.pekko.annotation.InternalStableApi
import java.util._
import scala.annotation.targetName
import scala.jdk.OptionShape
/**
* INTERNAL API
*
* Remove this once Scala 2.12 support is dropped since all methods are in Scala 2.13+ stdlib.
* Remove the @targetName bytecode forwarded methods for Pekko 2.0.x since we only care about source compatibility
*/
@InternalStableApi
private[pekko] object OptionConverters {
@ -37,77 +35,45 @@ private[pekko] object OptionConverters {
final def toJava[A](o: Option[A]): Optional[A] = scala.jdk.javaapi.OptionConverters.toJava(o)
implicit final class RichOptional[A](private val o: java.util.Optional[A]) extends AnyVal {
inline def toScala: Option[A] = scala.jdk.OptionConverters.RichOptional(o).toScala
def toScala: Option[A] = scala.jdk.OptionConverters.RichOptional(o).toScala
@targetName("toScala")
def _pekko1ToScala: Option[A] = scala.jdk.OptionConverters.RichOptional(o).toScala
inline def toJavaPrimitive[O](implicit shape: OptionShape[A, O]): O =
scala.jdk.OptionConverters.RichOptional(o).toJavaPrimitive
@targetName("toJavaPrimitive")
def _pekko1ToJavaPrimitive[O](implicit shape: OptionShape[A, O]): O =
def toJavaPrimitive[O](implicit shape: OptionShape[A, O]): O =
scala.jdk.OptionConverters.RichOptional(o).toJavaPrimitive
}
implicit final class RichOption[A](private val o: Option[A]) extends AnyVal {
inline def toJava: Optional[A] = scala.jdk.OptionConverters.RichOption(o).toJava
def toJava: Optional[A] = scala.jdk.OptionConverters.RichOption(o).toJava
@targetName("toJava")
def _pekko1ToJava: Optional[A] = scala.jdk.OptionConverters.RichOption(o).toJava
inline def toJavaPrimitive[O](implicit shape: OptionShape[A, O]): O =
scala.jdk.OptionConverters.RichOption(o).toJavaPrimitive
@targetName("toJavaPrimitive")
def _pekko1ToJavaPrimitive[O](implicit shape: OptionShape[A, O]): O =
def toJavaPrimitive[O](implicit shape: OptionShape[A, O]): O =
scala.jdk.OptionConverters.RichOption(o).toJavaPrimitive
}
implicit class RichOptionalDouble(private val o: OptionalDouble) extends AnyVal {
/** Convert a Java `OptionalDouble` to a Scala `Option` */
inline def toScala: Option[Double] = scala.jdk.OptionConverters.RichOptionalDouble(o).toScala
@targetName("toScala")
def _pekko1ToScala: Option[Double] = scala.jdk.OptionConverters.RichOptionalDouble(o).toScala
def toScala: Option[Double] = scala.jdk.OptionConverters.RichOptionalDouble(o).toScala
/** Convert a Java `OptionalDouble` to a generic Java `Optional` */
inline def toJavaGeneric: Optional[Double] = scala.jdk.OptionConverters.RichOptionalDouble(o).toJavaGeneric
@targetName("toJavaGeneric")
def _pekko1ToJavaGeneric: Optional[Double] = scala.jdk.OptionConverters.RichOptionalDouble(o).toJavaGeneric
def toJavaGeneric: Optional[Double] = scala.jdk.OptionConverters.RichOptionalDouble(o).toJavaGeneric
}
/** Provides conversions from `OptionalInt` to Scala `Option` and the generic `Optional` */
implicit class RichOptionalInt(private val o: OptionalInt) extends AnyVal {
/** Convert a Java `OptionalInt` to a Scala `Option` */
inline def toScala: Option[Int] = scala.jdk.OptionConverters.RichOptionalInt(o).toScala
@targetName("toScala")
def _pekko1ToScala: Option[Int] = scala.jdk.OptionConverters.RichOptionalInt(o).toScala
def toScala: Option[Int] = scala.jdk.OptionConverters.RichOptionalInt(o).toScala
/** Convert a Java `OptionalInt` to a generic Java `Optional` */
inline def toJavaGeneric: Optional[Int] = scala.jdk.OptionConverters.RichOptionalInt(o).toJavaGeneric
@targetName("toJavaGeneric")
def _pekko1ToJavaGeneric: Optional[Int] = scala.jdk.OptionConverters.RichOptionalInt(o).toJavaGeneric
def toJavaGeneric: Optional[Int] = scala.jdk.OptionConverters.RichOptionalInt(o).toJavaGeneric
}
/** Provides conversions from `OptionalLong` to Scala `Option` and the generic `Optional` */
implicit class RichOptionalLong(private val o: OptionalLong) extends AnyVal {
/** Convert a Java `OptionalLong` to a Scala `Option` */
inline def toScala: Option[Long] = scala.jdk.OptionConverters.RichOptionalLong(o).toScala
@targetName("toScala")
def _pekko1ToScala: Option[Long] = scala.jdk.OptionConverters.RichOptionalLong(o).toScala
def toScala: Option[Long] = scala.jdk.OptionConverters.RichOptionalLong(o).toScala
/** Convert a Java `OptionalLong` to a generic Java `Optional` */
inline def toJavaGeneric: Optional[Long] = scala.jdk.OptionConverters.RichOptionalLong(o).toJavaGeneric
@targetName("toJavaGeneric")
def _pekko1ToJavaGeneric: Optional[Long] = scala.jdk.OptionConverters.RichOptionalLong(o).toJavaGeneric
def toJavaGeneric: Optional[Long] = scala.jdk.OptionConverters.RichOptionalLong(o).toJavaGeneric
}
}