diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java index 8237bc53008..b176bf545fa 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java @@ -248,12 +248,6 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { kind = KotlinClass.Kind.LOCAL_CLASS; } - // Temporarily write class kind anyway because old compiler may not expect its absence - // TODO: remove after M13 - if (kind == null) { - kind = KotlinClass.Kind.CLASS; - } - DescriptorSerializer serializer = DescriptorSerializer.create(descriptor, new JvmSerializerExtension(v.getSerializationBindings(), typeMapper)); @@ -261,7 +255,6 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { AnnotationVisitor av = v.getVisitor().visitAnnotation(asmDescByFqNameWithoutInnerClasses(JvmAnnotationNames.KOTLIN_CLASS), true); JvmCodegenUtil.writeAbiVersion(av); - //noinspection ConstantConditions if (kind != null) { av.visitEnum( JvmAnnotationNames.KIND_FIELD_NAME, diff --git a/core/reflection.jvm/src/kotlin/reflect/jvm/internal/ReflectionFactoryImpl.java b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/ReflectionFactoryImpl.java index 9284194e76d..4f6ed10574c 100644 --- a/core/reflection.jvm/src/kotlin/reflect/jvm/internal/ReflectionFactoryImpl.java +++ b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/ReflectionFactoryImpl.java @@ -16,7 +16,6 @@ package kotlin.reflect.jvm.internal; -import kotlin.jvm.KotlinReflectionNotSupportedError; import kotlin.jvm.internal.*; import kotlin.reflect.*; import org.jetbrains.kotlin.load.java.JvmAbi; @@ -50,19 +49,7 @@ public class ReflectionFactoryImpl extends ReflectionFactory { @Override public KFunction function(FunctionReference f) { - try { - return new KFunctionFromReferenceImpl(f); - } - catch (KotlinReflectionNotSupportedError e) { - // If this function reference is compiled with an older compiler, it doesn't have the newer methods - // (getName(), getOwner(), getSignature()), so the default implementation from FunctionReference will be invoked - // and KotlinReflectionNotSupportedError will be thrown. - // Instead it's much better to use the reference as a KFunction. Yes, it will throw "no kotlin-reflect.jar was found" - // exceptions even if it exists in the classpath. However, at least it can be used as a function (invoke() will work). - // Moreover, old function references were not supposed to be introspected anyway because there was no reflection API back then. - // TODO: drop after M13 - return f; - } + return new KFunctionFromReferenceImpl(f); } // Properties