From c05285a23cf59cfce720d382f81fcdd11c7ddc56 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Thu, 21 Jun 2018 11:02:23 +0300 Subject: [PATCH] Remove unneeded bunch file for `TargetPlatform.kt` - added missing call checkers - fixed missing dependency for `KotlinCallComponents` #KT-25018 Fixed --- .../kotlin/resolve/TargetPlatform.kt.as32 | 148 ------------------ 1 file changed, 148 deletions(-) delete mode 100644 compiler/frontend/src/org/jetbrains/kotlin/resolve/TargetPlatform.kt.as32 diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/TargetPlatform.kt.as32 b/compiler/frontend/src/org/jetbrains/kotlin/resolve/TargetPlatform.kt.as32 deleted file mode 100644 index 77d0b26050d..00000000000 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/TargetPlatform.kt.as32 +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.resolve - -import com.intellij.openapi.util.Key -import org.jetbrains.kotlin.container.StorageComponentContainer -import org.jetbrains.kotlin.container.composeContainer -import org.jetbrains.kotlin.container.useInstance -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi.UserDataProperty -import org.jetbrains.kotlin.resolve.calls.checkers.* -import org.jetbrains.kotlin.resolve.calls.results.TypeSpecificityComparator -import org.jetbrains.kotlin.resolve.checkers.* -import org.jetbrains.kotlin.resolve.lazy.DelegationFilter -import org.jetbrains.kotlin.resolve.scopes.SyntheticScopes -import org.jetbrains.kotlin.storage.LockBasedStorageManager -import org.jetbrains.kotlin.types.DynamicTypesSettings -import java.util.* - -abstract class TargetPlatform(val platformName: String) { - override fun toString() = platformName - - abstract val platformConfigurator: PlatformConfigurator - abstract fun getDefaultImports(includeKotlinComparisons: Boolean): List - open val excludedImports: List get() = emptyList() - - abstract val multiTargetPlatform: MultiTargetPlatform - - object Common : TargetPlatform("Default") { - private val defaultImports = - LockBasedStorageManager().createMemoizedFunction> { includeKotlinComparisons -> - ArrayList().apply { - listOf( - "kotlin.*", - "kotlin.annotation.*", - "kotlin.collections.*", - "kotlin.ranges.*", - "kotlin.sequences.*", - "kotlin.text.*", - "kotlin.io.*" - ).forEach { add(ImportPath.fromString(it)) } - - if (includeKotlinComparisons) { - add(ImportPath.fromString("kotlin.comparisons.*")) - } - } - } - - override fun getDefaultImports(includeKotlinComparisons: Boolean): List = defaultImports(includeKotlinComparisons) - - override val platformConfigurator = - object : PlatformConfigurator( - 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(TypeSpecificityComparator.NONE) - } - } - - override val multiTargetPlatform: MultiTargetPlatform - get() = MultiTargetPlatform.Common - } -} - -private val DEFAULT_DECLARATION_CHECKERS = listOf( - DataClassDeclarationChecker(), - ConstModifierChecker, - UnderscoreChecker, - InlineParameterChecker, - InfixModifierChecker(), - SinceKotlinAnnotationValueChecker, - RequireKotlinAnnotationValueChecker, - ReifiedTypeParameterAnnotationChecker(), - DynamicReceiverChecker, - DelegationChecker(), - KClassWithIncorrectTypeArgumentChecker, - SuspendOperatorsCheckers, - InlineClassDeclarationChecker -) - -private val DEFAULT_CALL_CHECKERS = listOf( - CapturingInClosureChecker(), InlineCheckerWrapper(), SafeCallChecker(), - DeprecatedCallChecker, CallReturnsArrayOfNothingChecker(), InfixCallChecker(), OperatorCallChecker(), - ConstructorHeaderCallChecker, ProtectedConstructorCallChecker, ApiVersionCallChecker, - CoroutineSuspendCallChecker, BuilderFunctionsCallChecker, DslScopeViolationCallChecker, MissingDependencyClassChecker, - CallableReferenceCompatibilityChecker(), LateinitIntrinsicApplicabilityChecker, - UnderscoreUsageChecker, AssigningNamedArgumentToVarargChecker(), - PrimitiveNumericComparisonCallChecker, LambdaWithSuspendModifierCallChecker -) -private val DEFAULT_TYPE_CHECKERS = emptyList() -private val DEFAULT_CLASSIFIER_USAGE_CHECKERS = listOf( - DeprecatedClassifierUsageChecker(), ApiVersionClassifierUsageChecker, MissingDependencyClassChecker.ClassifierUsage -) -private val DEFAULT_ANNOTATION_CHECKERS = listOf( - ExperimentalMarkerDeclarationAnnotationChecker -) - - -abstract class PlatformConfigurator( - 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 declarationCheckers: List = DEFAULT_DECLARATION_CHECKERS + additionalDeclarationCheckers - private val callCheckers: List = DEFAULT_CALL_CHECKERS + additionalCallCheckers - private val typeCheckers: List = DEFAULT_TYPE_CHECKERS + additionalTypeCheckers - private val classifierUsageCheckers: List = - DEFAULT_CLASSIFIER_USAGE_CHECKERS + additionalClassifierUsageCheckers - private val annotationCheckers: List = DEFAULT_ANNOTATION_CHECKERS + additionalAnnotationCheckers - - abstract fun configureModuleComponents(container: StorageComponentContainer) - - val platformSpecificContainer = composeContainer(this::class.java.simpleName) { - useInstance(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) - } -} - -fun createContainer(id: String, platform: TargetPlatform, init: StorageComponentContainer.() -> Unit) = - composeContainer(id, platform.platformConfigurator.platformSpecificContainer, init)