From c56f74cc81ac4cc8818f6425de52a54b1a372e3d Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 10 May 2017 20:10:02 +0300 Subject: [PATCH] Do not generate bridge and stub methods in light class mode --- .../org/jetbrains/kotlin/codegen/state/GenerationState.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt index 414aba2dec0..b73fcc3be8c 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt @@ -44,7 +44,7 @@ import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics import org.jetbrains.kotlin.resolve.jvm.JvmClassName import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin -import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKind.CLASS_MEMBER_DELEGATION_TO_DEFAULT_IMPL +import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKind.* import org.jetbrains.kotlin.serialization.deserialization.DeserializationConfiguration import java.io.File @@ -213,9 +213,11 @@ class GenerationState @JvmOverloads constructor( } private fun shouldOnlyCollectSignatures(origin: JvmDeclarationOrigin) - = classBuilderMode == ClassBuilderMode.LIGHT_CLASSES && origin.originKind == CLASS_MEMBER_DELEGATION_TO_DEFAULT_IMPL + = classBuilderMode == ClassBuilderMode.LIGHT_CLASSES && origin.originKind in doNotGenerateInLightClassMode } +private val doNotGenerateInLightClassMode = setOf(CLASS_MEMBER_DELEGATION_TO_DEFAULT_IMPL, BRIDGE, COLLECTION_STUB, AUGMENTED_BUILTIN_API) + private class LazyJvmDiagnostics(compute: () -> Diagnostics): Diagnostics { private val delegate by lazy(LazyThreadSafetyMode.SYNCHRONIZED, compute)