From e38bbbfc13cafbe65c2dffbcc9244d5b7c13f645 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Mon, 13 Nov 2017 12:39:15 +0300 Subject: [PATCH] Drop local interfaces support in ExpressionCodegen Local interfaces are prohibited since 1.0. --- .../jetbrains/kotlin/codegen/ExpressionCodegen.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java index 43acf28e842..d6a1b313b66 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java @@ -392,16 +392,6 @@ public class ExpressionCodegen extends KtVisitor impleme ClassContext objectContext = context.intoAnonymousClass(descriptor, this, OwnerKind.IMPLEMENTATION); new ImplementationBodyCodegen(declaration, objectContext, classBuilder, state, getParentCodegen(), /* isLocal = */ true).generate(); - if (declaration instanceof KtClass && ((KtClass) declaration).isInterface()) { - // TODO consider dropping this code - // It looks like this code generates DefaultImpl class for a local interface. - // Local interfaces are prohibited in Kotlin 1.0. - Type traitImplType = state.getTypeMapper().mapDefaultImpls(descriptor); - ClassBuilder traitImplBuilder = state.getFactory().newVisitor(JvmDeclarationOriginKt.DefaultImpls(declaration, descriptor), traitImplType, declaration.getContainingFile()); - ClassContext traitImplContext = context.intoAnonymousClass(descriptor, this, OwnerKind.DEFAULT_IMPLS); - new InterfaceImplBodyCodegen(declaration, traitImplContext, traitImplBuilder, state, parentCodegen).generate(); - } - return StackValue.none(); }