From b631e89ea72db9c8fe4b36df1ca340ce4bca4fb6 Mon Sep 17 00:00:00 2001 From: Dmitry Savvinov Date: Tue, 14 May 2019 19:02:43 +0300 Subject: [PATCH] [Injection] Annotate default services with @DefaultImplementation --- .../src/org/jetbrains/kotlin/container/Dsl.kt | 4 ++ .../jvm/platform/JvmPlatformConfigurator.kt | 1 - .../kotlin/analyzer/common/CommonPlatform.kt | 20 +--------- .../resolve/DeclarationReturnTypeSanitizer.kt | 2 + .../kotlin/resolve/IdentifierChecker.kt | 2 + .../kotlin/resolve/OverloadFilter.kt | 3 +- .../OverridesBackwardCompatibilityHelper.kt | 2 + .../resolve/PlatformConfiguratorBase.kt | 39 ++++++++++--------- .../kotlin/resolve/lazy/DelegationFilter.kt | 2 + .../calls/components/ExternalComponents.kt | 2 + .../resolve/calls/results/FlatSignature.kt | 2 + .../java/components/SamConversionResolver.kt | 2 + .../builtins/PlatformToKotlinClassMap.java | 12 +++--- .../kotlin/resolve/scopes/SyntheticScopes.kt | 2 + .../jetbrains/kotlin/types/dynamicTypes.kt | 4 +- .../js/resolve/JsPlatformConfigurator.kt | 19 +-------- .../platform/KonanPlatformConfigurator.kt | 22 +---------- 17 files changed, 56 insertions(+), 84 deletions(-) diff --git a/compiler/container/src/org/jetbrains/kotlin/container/Dsl.kt b/compiler/container/src/org/jetbrains/kotlin/container/Dsl.kt index c4c8db2407f..e600743e870 100644 --- a/compiler/container/src/org/jetbrains/kotlin/container/Dsl.kt +++ b/compiler/container/src/org/jetbrains/kotlin/container/Dsl.kt @@ -46,6 +46,10 @@ fun StorageComponentContainer.useInstance(instance: Any) { registerInstance(instance) } +fun StorageComponentContainer.useInstanceIfNotNull(instance: Any?) { + if (instance != null) registerInstance(instance) +} + inline operator fun ComponentProvider.getValue(thisRef: Any?, desc: KProperty<*>): T { return getService(T::class.java) } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt index 1753e43bc6e..76dfa0b0bfb 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt @@ -22,7 +22,6 @@ import org.jetbrains.kotlin.types.DynamicTypesSettings import org.jetbrains.kotlin.types.expressions.FunctionWithBigAritySupport object JvmPlatformConfigurator : PlatformConfiguratorBase( - DynamicTypesSettings(), additionalDeclarationCheckers = listOf( JvmNameAnnotationChecker(), VolatileAnnotationChecker(), diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonPlatform.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonPlatform.kt index 86156ec7c62..1ee4c58f49e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonPlatform.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonPlatform.kt @@ -6,28 +6,12 @@ package org.jetbrains.kotlin.analyzer.common import org.jetbrains.kotlin.analyzer.ModuleInfo -import org.jetbrains.kotlin.builtins.PlatformToKotlinClassMap import org.jetbrains.kotlin.container.StorageComponentContainer -import org.jetbrains.kotlin.container.useInstance import org.jetbrains.kotlin.resolve.* -import org.jetbrains.kotlin.resolve.calls.components.SamConversionTransformer -import org.jetbrains.kotlin.resolve.calls.results.TypeSpecificityComparator -import org.jetbrains.kotlin.resolve.lazy.DelegationFilter -import org.jetbrains.kotlin.resolve.scopes.SyntheticScopes import org.jetbrains.kotlin.storage.StorageManager -import org.jetbrains.kotlin.types.DynamicTypesSettings -private object CommonPlatformConfigurator : PlatformConfiguratorBase( - DynamicTypesSettings(), listOf(), listOf(), listOf(), listOf(), listOf(), - IdentifierChecker.Default, OverloadFilter.Default, PlatformToKotlinClassMap.EMPTY, DelegationFilter.Default, - OverridesBackwardCompatibilityHelper.Default, - DeclarationReturnTypeSanitizer.Default -) { - override fun configureModuleComponents(container: StorageComponentContainer) { - container.useInstance(SyntheticScopes.Empty) - container.useInstance(SamConversionTransformer.Empty) - container.useInstance(TypeSpecificityComparator.NONE) - } +private object CommonPlatformConfigurator : PlatformConfiguratorBase() { + override fun configureModuleComponents(container: StorageComponentContainer) {} } object CommonPlatformCompilerServices : PlatformDependentCompilerServices() { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DeclarationReturnTypeSanitizer.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DeclarationReturnTypeSanitizer.kt index ff8df4d8262..d1aea9458a2 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DeclarationReturnTypeSanitizer.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DeclarationReturnTypeSanitizer.kt @@ -17,10 +17,12 @@ package org.jetbrains.kotlin.resolve import org.jetbrains.kotlin.config.LanguageVersionSettings +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.UnwrappedType import org.jetbrains.kotlin.types.WrappedTypeFactory +@DefaultImplementation(impl = DeclarationReturnTypeSanitizer.Default::class) interface DeclarationReturnTypeSanitizer { fun sanitizeReturnType( inferred: UnwrappedType, diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/IdentifierChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/IdentifierChecker.kt index 92a91c0139b..b440bd9f76f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/IdentifierChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/IdentifierChecker.kt @@ -16,10 +16,12 @@ package org.jetbrains.kotlin.resolve +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.diagnostics.DiagnosticSink import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtSimpleNameExpression +@DefaultImplementation(impl = IdentifierChecker.Default::class) interface IdentifierChecker { fun checkIdentifier(simpleNameExpression: KtSimpleNameExpression, diagnosticHolder: DiagnosticSink) fun checkDeclaration(declaration: KtDeclaration, diagnosticHolder: DiagnosticSink) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverloadFilter.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverloadFilter.kt index b763df2ef4a..55497e2a971 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverloadFilter.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverloadFilter.kt @@ -16,9 +16,10 @@ package org.jetbrains.kotlin.resolve +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.descriptors.DeclarationDescriptorNonRoot - +@DefaultImplementation(impl = OverloadFilter.Default::class) interface OverloadFilter { fun filterPackageMemberOverloads(overloads: Collection): Collection diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverridesBackwardCompatibilityHelper.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverridesBackwardCompatibilityHelper.kt index faf0f25deda..9959eb40562 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverridesBackwardCompatibilityHelper.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverridesBackwardCompatibilityHelper.kt @@ -16,8 +16,10 @@ package org.jetbrains.kotlin.resolve +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor +@DefaultImplementation(impl = OverridesBackwardCompatibilityHelper.Default::class) interface OverridesBackwardCompatibilityHelper { fun overrideCanBeOmitted(overridingDescriptor: CallableMemberDescriptor): Boolean diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt index 3d3c143bfd0..1ece40f388c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.container.composeContainer import org.jetbrains.kotlin.container.useImpl import org.jetbrains.kotlin.container.useInstance import org.jetbrains.kotlin.resolve.calls.checkers.* +import org.jetbrains.kotlin.container.* import org.jetbrains.kotlin.resolve.checkers.* import org.jetbrains.kotlin.resolve.lazy.DelegationFilter import org.jetbrains.kotlin.types.DynamicTypesSettings @@ -56,18 +57,18 @@ private val DEFAULT_ANNOTATION_CHECKERS = listOf() abstract class PlatformConfiguratorBase( - private val dynamicTypesSettings: DynamicTypesSettings, - additionalDeclarationCheckers: List, - additionalCallCheckers: List, - additionalTypeCheckers: List, - additionalClassifierUsageCheckers: List, - additionalAnnotationCheckers: List, - private val identifierChecker: IdentifierChecker, - private val overloadFilter: OverloadFilter, - private val platformToKotlinClassMap: PlatformToKotlinClassMap, - private val delegationFilter: DelegationFilter, - private val overridesBackwardCompatibilityHelper: OverridesBackwardCompatibilityHelper, - private val declarationReturnTypeSanitizer: DeclarationReturnTypeSanitizer + private val dynamicTypesSettings: DynamicTypesSettings? = null, + additionalDeclarationCheckers: List = emptyList(), + additionalCallCheckers: List = emptyList(), + additionalTypeCheckers: List = emptyList(), + additionalClassifierUsageCheckers: List = emptyList(), + additionalAnnotationCheckers: List = emptyList(), + private val identifierChecker: IdentifierChecker? = null, + private val overloadFilter: OverloadFilter? = null, + private val platformToKotlinClassMap: PlatformToKotlinClassMap? = null, + private val delegationFilter: DelegationFilter? = null, + private val overridesBackwardCompatibilityHelper: OverridesBackwardCompatibilityHelper? = null, + private val declarationReturnTypeSanitizer: DeclarationReturnTypeSanitizer? = null ) : PlatformConfigurator { private val declarationCheckers: List = DEFAULT_DECLARATION_CHECKERS + additionalDeclarationCheckers private val callCheckers: List = DEFAULT_CALL_CHECKERS + additionalCallCheckers @@ -77,18 +78,18 @@ abstract class PlatformConfiguratorBase( private val annotationCheckers: List = DEFAULT_ANNOTATION_CHECKERS + additionalAnnotationCheckers override val platformSpecificContainer = composeContainer(this::class.java.simpleName) { - useInstance(dynamicTypesSettings) + useInstanceIfNotNull(dynamicTypesSettings) declarationCheckers.forEach { useInstance(it) } callCheckers.forEach { useInstance(it) } typeCheckers.forEach { useInstance(it) } classifierUsageCheckers.forEach { useInstance(it) } annotationCheckers.forEach { useInstance(it) } - useInstance(identifierChecker) - useInstance(overloadFilter) - useInstance(platformToKotlinClassMap) - useInstance(delegationFilter) - useInstance(overridesBackwardCompatibilityHelper) - useInstance(declarationReturnTypeSanitizer) + useInstanceIfNotNull(identifierChecker) + useInstanceIfNotNull(overloadFilter) + useInstanceIfNotNull(platformToKotlinClassMap) + useInstanceIfNotNull(delegationFilter) + useInstanceIfNotNull(overridesBackwardCompatibilityHelper) + useInstanceIfNotNull(declarationReturnTypeSanitizer) } override fun configureModuleDependentCheckers(container: StorageComponentContainer) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/DelegationFilter.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/DelegationFilter.kt index 98b72318ae1..a84f4496eba 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/DelegationFilter.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/DelegationFilter.kt @@ -17,8 +17,10 @@ package org.jetbrains.kotlin.resolve.lazy import org.jetbrains.kotlin.config.LanguageVersionSettings +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor +@DefaultImplementation(impl = DelegationFilter.Default::class) interface DelegationFilter { fun filter(interfaceMember: CallableMemberDescriptor, languageVersionSettings: LanguageVersionSettings): Boolean diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ExternalComponents.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ExternalComponents.kt index 5e477a10642..cbe8d44254d 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ExternalComponents.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ExternalComponents.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.resolve.calls.components import org.jetbrains.kotlin.config.LanguageVersionSettings +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor @@ -59,6 +60,7 @@ interface KotlinResolutionCallbacks { fun disableContractsIfNecessary(resolvedAtom: ResolvedCallAtom) } +@DefaultImplementation(impl = SamConversionTransformer.Empty::class) interface SamConversionTransformer { fun getFunctionTypeForPossibleSamType(possibleSamType: UnwrappedType): UnwrappedType? diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/results/FlatSignature.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/results/FlatSignature.kt index 1e4b9ef62da..c0d53aa14e8 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/results/FlatSignature.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/results/FlatSignature.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.resolve.calls.results +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.descriptors.MemberDescriptor import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor @@ -28,6 +29,7 @@ interface SpecificityComparisonCallbacks { fun isNonSubtypeNotLessSpecific(specific: KotlinTypeMarker, general: KotlinTypeMarker): Boolean } +@DefaultImplementation(impl = TypeSpecificityComparator.NONE::class) interface TypeSpecificityComparator { fun isDefinitelyLessSpecific(specific: KotlinTypeMarker, general: KotlinTypeMarker): Boolean diff --git a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/components/SamConversionResolver.kt b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/components/SamConversionResolver.kt index 3ba793e2ec1..93f8ff29c0a 100644 --- a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/components/SamConversionResolver.kt +++ b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/components/SamConversionResolver.kt @@ -16,9 +16,11 @@ package org.jetbrains.kotlin.load.java.components +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor import org.jetbrains.kotlin.types.SimpleType +@DefaultImplementation(impl = SamConversionResolver.Empty::class) interface SamConversionResolver { object Empty : SamConversionResolver { override fun resolveFunctionTypeIfSamInterface(classDescriptor: JavaClassDescriptor): SimpleType? = null diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/PlatformToKotlinClassMap.java b/core/descriptors/src/org/jetbrains/kotlin/builtins/PlatformToKotlinClassMap.java index a01d7ce7aca..84ba35688e6 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/PlatformToKotlinClassMap.java +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/PlatformToKotlinClassMap.java @@ -6,20 +6,22 @@ package org.jetbrains.kotlin.builtins; import org.jetbrains.annotations.NotNull; +import org.jetbrains.kotlin.container.DefaultImplementation; import org.jetbrains.kotlin.descriptors.ClassDescriptor; import java.util.Collection; import java.util.Collections; +@DefaultImplementation(impl = PlatformToKotlinClassMap.Default.class) public interface PlatformToKotlinClassMap { - PlatformToKotlinClassMap EMPTY = new PlatformToKotlinClassMap() { + @NotNull + Collection mapPlatformClass(@NotNull ClassDescriptor classDescriptor); + + class Default implements PlatformToKotlinClassMap { @NotNull @Override public Collection mapPlatformClass(@NotNull ClassDescriptor classDescriptor) { return Collections.emptyList(); } - }; - - @NotNull - Collection mapPlatformClass(@NotNull ClassDescriptor classDescriptor); + } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SyntheticScopes.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SyntheticScopes.kt index 0cf1aef204c..8b225162cfb 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SyntheticScopes.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SyntheticScopes.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.resolve.scopes +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.descriptors.ConstructorDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.PropertyDescriptor @@ -95,6 +96,7 @@ interface SyntheticScope { } } +@DefaultImplementation(impl = SyntheticScopes.Empty::class) interface SyntheticScopes { val scopes: Collection diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/dynamicTypes.kt b/core/descriptors/src/org/jetbrains/kotlin/types/dynamicTypes.kt index a8f0035b081..04e4ff7fa08 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/dynamicTypes.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/dynamicTypes.kt @@ -17,18 +17,20 @@ package org.jetbrains.kotlin.types import org.jetbrains.kotlin.builtins.KotlinBuiltIns +import org.jetbrains.kotlin.container.DefaultImplementation import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.renderer.DescriptorRendererOptions import org.jetbrains.kotlin.types.model.DynamicTypeMarker import org.jetbrains.kotlin.types.typeUtil.builtIns +@DefaultImplementation(impl = DynamicTypesSettings::class) open class DynamicTypesSettings { open val dynamicTypesAllowed: Boolean get() = false } -class DynamicTypesAllowed: DynamicTypesSettings() { +class DynamicTypesAllowed : DynamicTypesSettings() { override val dynamicTypesAllowed: Boolean get() = true } diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsPlatformConfigurator.kt b/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsPlatformConfigurator.kt index e339dce9da3..e616913b0e6 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsPlatformConfigurator.kt +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsPlatformConfigurator.kt @@ -16,22 +16,15 @@ package org.jetbrains.kotlin.js.resolve -import org.jetbrains.kotlin.builtins.PlatformToKotlinClassMap import org.jetbrains.kotlin.container.StorageComponentContainer import org.jetbrains.kotlin.container.useImpl import org.jetbrains.kotlin.container.useInstance import org.jetbrains.kotlin.js.analyze.JsNativeDiagnosticSuppressor import org.jetbrains.kotlin.js.naming.NameSuggestion import org.jetbrains.kotlin.js.resolve.diagnostics.* -import org.jetbrains.kotlin.resolve.DeclarationReturnTypeSanitizer -import org.jetbrains.kotlin.resolve.OverloadFilter -import org.jetbrains.kotlin.resolve.OverridesBackwardCompatibilityHelper import org.jetbrains.kotlin.resolve.PlatformConfiguratorBase -import org.jetbrains.kotlin.resolve.calls.components.SamConversionTransformer import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker import org.jetbrains.kotlin.resolve.deprecation.CoroutineCompatibilitySupport -import org.jetbrains.kotlin.resolve.lazy.DelegationFilter -import org.jetbrains.kotlin.resolve.scopes.SyntheticScopes import org.jetbrains.kotlin.types.DynamicTypesAllowed object JsPlatformConfigurator : PlatformConfiguratorBase( @@ -49,21 +42,11 @@ object JsPlatformConfigurator : PlatformConfiguratorBase( JsDynamicCallChecker, JsDefinedExternallyCallChecker ), - additionalTypeCheckers = listOf(), - additionalClassifierUsageCheckers = listOf(), - additionalAnnotationCheckers = listOf(), - identifierChecker = JsIdentifierChecker, - overloadFilter = OverloadFilter.Default, - platformToKotlinClassMap = PlatformToKotlinClassMap.EMPTY, - delegationFilter = DelegationFilter.Default, - overridesBackwardCompatibilityHelper = OverridesBackwardCompatibilityHelper.Default, - declarationReturnTypeSanitizer = DeclarationReturnTypeSanitizer.Default + identifierChecker = JsIdentifierChecker ) { override fun configureModuleComponents(container: StorageComponentContainer) { container.useInstance(NameSuggestion()) container.useImpl() - container.useInstance(SyntheticScopes.Empty) - container.useInstance(SamConversionTransformer.Empty) container.useImpl() container.useImpl() container.useImpl() diff --git a/konan/library-reader/src/org/jetbrains/kotlin/resolve/konan/platform/KonanPlatformConfigurator.kt b/konan/library-reader/src/org/jetbrains/kotlin/resolve/konan/platform/KonanPlatformConfigurator.kt index 4cb05d3bfd6..cbcd23eccc0 100644 --- a/konan/library-reader/src/org/jetbrains/kotlin/resolve/konan/platform/KonanPlatformConfigurator.kt +++ b/konan/library-reader/src/org/jetbrains/kotlin/resolve/konan/platform/KonanPlatformConfigurator.kt @@ -5,35 +5,15 @@ package org.jetbrains.kotlin.resolve.konan.platform -import org.jetbrains.kotlin.builtins.PlatformToKotlinClassMap import org.jetbrains.kotlin.container.StorageComponentContainer -import org.jetbrains.kotlin.container.useInstance import org.jetbrains.kotlin.resolve.* -import org.jetbrains.kotlin.resolve.calls.components.SamConversionTransformer -import org.jetbrains.kotlin.resolve.calls.results.TypeSpecificityComparator import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker import org.jetbrains.kotlin.resolve.jvm.checkers.SuperCallWithDefaultArgumentsChecker -import org.jetbrains.kotlin.resolve.lazy.DelegationFilter -import org.jetbrains.kotlin.resolve.scopes.SyntheticScopes -import org.jetbrains.kotlin.types.DynamicTypesSettings object KonanPlatformConfigurator : PlatformConfiguratorBase( - DynamicTypesSettings(), additionalDeclarationCheckers = listOf(ExpectedActualDeclarationChecker()), - additionalCallCheckers = listOf(SuperCallWithDefaultArgumentsChecker()), - additionalTypeCheckers = listOf(), - additionalClassifierUsageCheckers = listOf(), - additionalAnnotationCheckers = listOf(), - identifierChecker = IdentifierChecker.Default, - overloadFilter = OverloadFilter.Default, - platformToKotlinClassMap = PlatformToKotlinClassMap.EMPTY, - delegationFilter = DelegationFilter.Default, - overridesBackwardCompatibilityHelper = OverridesBackwardCompatibilityHelper.Default, - declarationReturnTypeSanitizer = DeclarationReturnTypeSanitizer.Default + additionalCallCheckers = listOf(SuperCallWithDefaultArgumentsChecker()) ) { override fun configureModuleComponents(container: StorageComponentContainer) { - container.useInstance(SyntheticScopes.Empty) - container.useInstance(TypeSpecificityComparator.NONE) - container.useInstance(SamConversionTransformer.Empty) } }