diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java index dbf80d33f1e..51c6c655ef8 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java @@ -231,7 +231,6 @@ public class ClosureCodegen extends MemberCodegen { @Override public Unit invoke(AnnotationVisitor av) { writeAnnotationData(av, serializer, functionProto, false); - av.visit(JvmAnnotationNames.SYNTHETIC_CLASS_KIND_FIELD_NAME, KotlinClassHeader.SyntheticClassKind.FUNCTION.getId()); return Unit.INSTANCE; } }); diff --git a/compiler/testData/codegen/boxWithStdlib/reflection/lambdaClasses/parameterNamesAndNullability.kt b/compiler/testData/codegen/boxWithStdlib/reflection/lambdaClasses/parameterNamesAndNullability.kt index 63f587f432d..96744628f8c 100644 --- a/compiler/testData/codegen/boxWithStdlib/reflection/lambdaClasses/parameterNamesAndNullability.kt +++ b/compiler/testData/codegen/boxWithStdlib/reflection/lambdaClasses/parameterNamesAndNullability.kt @@ -34,17 +34,10 @@ fun extensionFunExpr() { assertEquals(null, g.parameters.single().name) } -fun customFunction() { - val f = object : Function {} - assertNull(f.reflect()) -} - fun box(): String { lambda() funExpr() extensionFunExpr() - customFunction() - return "OK" } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/JvmAnnotationNames.java b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/JvmAnnotationNames.java index f435249ca61..4d8c3023684 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/JvmAnnotationNames.java +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/JvmAnnotationNames.java @@ -44,7 +44,6 @@ public final class JvmAnnotationNames { public static final String KIND_FIELD_NAME = "k"; public static final String METADATA_DATA_FIELD_NAME = "d1"; public static final String METADATA_STRINGS_FIELD_NAME = "d2"; - public static final String SYNTHETIC_CLASS_KIND_FIELD_NAME = "xi"; public static final String METADATA_MULTIFILE_CLASS_NAME_FIELD_NAME = "xs"; public static final String DATA_FIELD_NAME = "data"; public static final String STRINGS_FIELD_NAME = "strings"; diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/header/KotlinClassHeader.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/header/KotlinClassHeader.kt index 1b97a3097cd..c905d7d9fa4 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/header/KotlinClassHeader.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/header/KotlinClassHeader.kt @@ -44,9 +44,5 @@ class KotlinClassHeader( } } - enum class SyntheticClassKind(val id: Int) { - FUNCTION(1), - } - override fun toString() = "$kind version=$metadataVersion" } diff --git a/core/reflection.jvm/src/kotlin/reflect/jvm/reflectLambda.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/reflectLambda.kt index ee5358af126..57bcb7ae672 100644 --- a/core/reflection.jvm/src/kotlin/reflect/jvm/reflectLambda.kt +++ b/core/reflection.jvm/src/kotlin/reflect/jvm/reflectLambda.kt @@ -19,7 +19,6 @@ package kotlin.reflect.jvm import org.jetbrains.kotlin.load.kotlin.JvmNameResolver -import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext import org.jetbrains.kotlin.serialization.deserialization.MemberDeserializer @@ -39,7 +38,6 @@ import kotlin.reflect.jvm.internal.getOrCreateModule */ fun Function.reflect(): KFunction? { val annotation = javaClass.getAnnotation(Metadata::class.java) ?: return null - if (annotation.xi != KotlinClassHeader.SyntheticClassKind.FUNCTION.id) return null val input = BitEncoding.decodeBytes(annotation.d1).inputStream() val nameResolver = JvmNameResolver( JvmProtoBuf.StringTableTypes.parseDelimitedFrom(input, JvmProtoBufUtil.EXTENSION_REGISTRY), annotation.d2 diff --git a/core/runtime.jvm/src/kotlin/Metadata.kt b/core/runtime.jvm/src/kotlin/Metadata.kt index f20245b183e..2700bc89785 100644 --- a/core/runtime.jvm/src/kotlin/Metadata.kt +++ b/core/runtime.jvm/src/kotlin/Metadata.kt @@ -55,14 +55,5 @@ internal annotation class Metadata( /** * An extra string. For a multi-file part class, internal name of the facade class. */ - val xs: String = "", - /** - * An extra integer. For a synthetic class, the specific kind of this class which is one of the following: - * - * 1 Anonymous class for a lambda or a function reference - * - * A value other than this (e.g. 0) or a missing value means this is a synthetic class of some other sort. - * This kind has no effect on the compiler because it doesn't read synthetic class metadata. It may be used in IDEs and tools. - */ - val xi: Int = 0 + val xs: String = "" )