From 795a83ee242ed7b09b5cef7f69aebb088f3cfbe2 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Thu, 2 Mar 2017 15:55:28 +0300 Subject: [PATCH] LookupTracker.DO_NOTHING is the default implementation of LookupTracker --- .../org/jetbrains/kotlin/frontend/di/injection.kt | 3 --- .../org/jetbrains/kotlin/tests/di/injection.kt | 2 -- .../kotlin/incremental/components/LookupTracker.kt | 12 ++++++------ .../MetadataPackageFragmentProvider.kt | 2 +- .../org/jetbrains/kotlin/frontend/js/di/injection.kt | 2 -- 5 files changed, 7 insertions(+), 14 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/frontend/di/injection.kt b/compiler/frontend/src/org/jetbrains/kotlin/frontend/di/injection.kt index edff1f4a62d..9176bc16181 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/frontend/di/injection.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/frontend/di/injection.kt @@ -85,7 +85,6 @@ fun createContainerForBodyResolve( useInstance(statementFilter) - useInstance(LookupTracker.DO_NOTHING) useInstance(BodyResolveCache.ThrowException) useInstance(languageVersionSettings) useImpl() @@ -104,7 +103,6 @@ fun createContainerForLazyBodyResolve( ): StorageComponentContainer = createContainer("LazyBodyResolve", platform) { configureModule(moduleContext, platform, targetPlatformVersion, bindingTrace) - useInstance(LookupTracker.DO_NOTHING) useInstance(kotlinCodeAnalyzer) useInstance(kotlinCodeAnalyzer.fileScopeProvider) useInstance(bodyResolveCache) @@ -157,7 +155,6 @@ fun createContainerForLazyResolve( configureModule(moduleContext, platform, targetPlatformVersion, bindingTrace) useInstance(declarationProviderFactory) - useInstance(LookupTracker.DO_NOTHING) useInstance(languageVersionSettings) useImpl() diff --git a/compiler/tests-common/org/jetbrains/kotlin/tests/di/injection.kt b/compiler/tests-common/org/jetbrains/kotlin/tests/di/injection.kt index 6901228b3ea..5fbb1c378bc 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/tests/di/injection.kt +++ b/compiler/tests-common/org/jetbrains/kotlin/tests/di/injection.kt @@ -26,7 +26,6 @@ import org.jetbrains.kotlin.container.useInstance import org.jetbrains.kotlin.context.ModuleContext import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.frontend.di.configureModule -import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices @@ -35,7 +34,6 @@ import org.jetbrains.kotlin.types.expressions.FakeCallResolver fun createContainerForTests(project: Project, module: ModuleDescriptor): ContainerForTests { return ContainerForTests(createContainer("Tests", JvmPlatform) { configureModule(ModuleContext(module, project), JvmPlatform, JvmTarget.JVM_1_6) - useInstance(LookupTracker.DO_NOTHING) useInstance(LanguageVersionSettingsImpl.DEFAULT) useImpl() useImpl() diff --git a/core/descriptors/src/org/jetbrains/kotlin/incremental/components/LookupTracker.kt b/core/descriptors/src/org/jetbrains/kotlin/incremental/components/LookupTracker.kt index 873b0d09a98..8e137623951 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/incremental/components/LookupTracker.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/incremental/components/LookupTracker.kt @@ -16,8 +16,10 @@ package org.jetbrains.kotlin.incremental.components +import org.jetbrains.kotlin.container.DefaultImplementation import java.io.Serializable +@DefaultImplementation(LookupTracker.DO_NOTHING::class) interface LookupTracker { // used in tests for more accurate checks val requiresPosition: Boolean @@ -30,13 +32,11 @@ interface LookupTracker { name: String ) - companion object { - val DO_NOTHING: LookupTracker = object : LookupTracker { - override val requiresPosition: Boolean - get() = false + object DO_NOTHING : LookupTracker { + override val requiresPosition: Boolean + get() = false - override fun record(filePath: String, position: Position, scopeFqName: String, scopeKind: ScopeKind, name: String) { - } + override fun record(filePath: String, position: Position, scopeFqName: String, scopeKind: ScopeKind, name: String) { } } } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MetadataPackageFragmentProvider.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MetadataPackageFragmentProvider.kt index 4f21e0a10fa..cc19d32ade3 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MetadataPackageFragmentProvider.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MetadataPackageFragmentProvider.kt @@ -51,7 +51,7 @@ class MetadataPackageFragmentProvider( this, LocalClassifierTypeSettings.Default, ErrorReporter.DO_NOTHING, - LookupTracker.Companion.DO_NOTHING, + LookupTracker.DO_NOTHING, FlexibleTypeDeserializer.ThrowException, emptyList(), notFoundClasses, AdditionalClassPartsProvider.None, PlatformDependentDeclarationFilter.All diff --git a/js/js.frontend/src/org/jetbrains/kotlin/frontend/js/di/injection.kt b/js/js.frontend/src/org/jetbrains/kotlin/frontend/js/di/injection.kt index c96993e3cf2..c5356195699 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/frontend/js/di/injection.kt +++ b/js/js.frontend/src/org/jetbrains/kotlin/frontend/js/di/injection.kt @@ -24,7 +24,6 @@ import org.jetbrains.kotlin.container.useInstance import org.jetbrains.kotlin.context.ModuleContext import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.frontend.di.configureModule -import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.js.resolve.JsPlatform import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer @@ -45,7 +44,6 @@ fun createTopDownAnalyzerForJs( CompilerEnvironment.configure(this) - useInstance(LookupTracker.DO_NOTHING) useInstance(languageVersionSettings) useImpl() useImpl()