From e35ebff4e178d7c68d28538363bd3092c5451c5d Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 17 Apr 2018 18:39:29 +0200 Subject: [PATCH] Move superinterface to the only subclass of FunctionBase --- .../jvm/runtime/kotlin/jvm/internal/FunctionBase.java | 4 +--- .../stdlib/jvm/runtime/kotlin/jvm/internal/Lambda.kt | 8 +++++--- .../reference-public-api/kotlin-runtime.txt | 4 ++-- .../reference-public-api/kotlin-stdlib-runtime-merged.txt | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/FunctionBase.java b/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/FunctionBase.java index a980b690eb7..6bf4621e45b 100644 --- a/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/FunctionBase.java +++ b/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/FunctionBase.java @@ -7,8 +7,6 @@ package kotlin.jvm.internal; import kotlin.Function; -import java.io.Serializable; - -public interface FunctionBase extends Function, Serializable { +public interface FunctionBase extends Function { int getArity(); } diff --git a/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/Lambda.kt b/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/Lambda.kt index 5546f4278cb..4aea692f52e 100644 --- a/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/Lambda.kt +++ b/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/Lambda.kt @@ -5,8 +5,10 @@ package kotlin.jvm.internal -public abstract class Lambda(private val arity: Int) : FunctionBase { - override fun getArity() = arity +import java.io.Serializable - override fun toString() = Reflection.renderLambdaToString(this) +abstract class Lambda(private val arity: Int) : FunctionBase, Serializable { + override fun getArity(): Int = arity + + override fun toString(): String = Reflection.renderLambdaToString(this) } diff --git a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-runtime.txt b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-runtime.txt index 8744df73c07..c7842c9d88e 100644 --- a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-runtime.txt +++ b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-runtime.txt @@ -507,7 +507,7 @@ public final class kotlin/jvm/internal/FloatSpreadBuilder : kotlin/jvm/internal/ public final fun toArray ()[F } -public abstract interface class kotlin/jvm/internal/FunctionBase : java/io/Serializable, kotlin/Function { +public abstract interface class kotlin/jvm/internal/FunctionBase : kotlin/Function { public abstract fun getArity ()I } @@ -630,7 +630,7 @@ public class kotlin/jvm/internal/Intrinsics { public static fun throwUninitializedPropertyAccessException (Ljava/lang/String;)V } -public abstract class kotlin/jvm/internal/Lambda : kotlin/jvm/internal/FunctionBase { +public abstract class kotlin/jvm/internal/Lambda : java/io/Serializable, kotlin/jvm/internal/FunctionBase { public fun (I)V public fun getArity ()I public fun toString ()Ljava/lang/String; diff --git a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt index e6224c74064..9df656a7a92 100644 --- a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt +++ b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt @@ -3329,7 +3329,7 @@ public final class kotlin/jvm/internal/FloatSpreadBuilder : kotlin/jvm/internal/ public final fun toArray ()[F } -public abstract interface class kotlin/jvm/internal/FunctionBase : java/io/Serializable, kotlin/Function { +public abstract interface class kotlin/jvm/internal/FunctionBase : kotlin/Function { public abstract fun getArity ()I } @@ -3452,7 +3452,7 @@ public class kotlin/jvm/internal/Intrinsics { public static fun throwUninitializedPropertyAccessException (Ljava/lang/String;)V } -public abstract class kotlin/jvm/internal/Lambda : kotlin/jvm/internal/FunctionBase { +public abstract class kotlin/jvm/internal/Lambda : java/io/Serializable, kotlin/jvm/internal/FunctionBase { public fun (I)V public fun getArity ()I public fun toString ()Ljava/lang/String;