LookupTracker.DO_NOTHING is the default implementation of LookupTracker

This commit is contained in:
Pavel V. Talanov
2017-03-02 15:55:28 +03:00
parent aeda85b256
commit 795a83ee24
5 changed files with 7 additions and 14 deletions
@@ -85,7 +85,6 @@ fun createContainerForBodyResolve(
useInstance(statementFilter) useInstance(statementFilter)
useInstance(LookupTracker.DO_NOTHING)
useInstance(BodyResolveCache.ThrowException) useInstance(BodyResolveCache.ThrowException)
useInstance(languageVersionSettings) useInstance(languageVersionSettings)
useImpl<AnnotationResolverImpl>() useImpl<AnnotationResolverImpl>()
@@ -104,7 +103,6 @@ fun createContainerForLazyBodyResolve(
): StorageComponentContainer = createContainer("LazyBodyResolve", platform) { ): StorageComponentContainer = createContainer("LazyBodyResolve", platform) {
configureModule(moduleContext, platform, targetPlatformVersion, bindingTrace) configureModule(moduleContext, platform, targetPlatformVersion, bindingTrace)
useInstance(LookupTracker.DO_NOTHING)
useInstance(kotlinCodeAnalyzer) useInstance(kotlinCodeAnalyzer)
useInstance(kotlinCodeAnalyzer.fileScopeProvider) useInstance(kotlinCodeAnalyzer.fileScopeProvider)
useInstance(bodyResolveCache) useInstance(bodyResolveCache)
@@ -157,7 +155,6 @@ fun createContainerForLazyResolve(
configureModule(moduleContext, platform, targetPlatformVersion, bindingTrace) configureModule(moduleContext, platform, targetPlatformVersion, bindingTrace)
useInstance(declarationProviderFactory) useInstance(declarationProviderFactory)
useInstance(LookupTracker.DO_NOTHING)
useInstance(languageVersionSettings) useInstance(languageVersionSettings)
useImpl<AnnotationResolverImpl>() useImpl<AnnotationResolverImpl>()
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.container.useInstance
import org.jetbrains.kotlin.context.ModuleContext import org.jetbrains.kotlin.context.ModuleContext
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.frontend.di.configureModule import org.jetbrains.kotlin.frontend.di.configureModule
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.*
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices 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 { fun createContainerForTests(project: Project, module: ModuleDescriptor): ContainerForTests {
return ContainerForTests(createContainer("Tests", JvmPlatform) { return ContainerForTests(createContainer("Tests", JvmPlatform) {
configureModule(ModuleContext(module, project), JvmPlatform, JvmTarget.JVM_1_6) configureModule(ModuleContext(module, project), JvmPlatform, JvmTarget.JVM_1_6)
useInstance(LookupTracker.DO_NOTHING)
useInstance(LanguageVersionSettingsImpl.DEFAULT) useInstance(LanguageVersionSettingsImpl.DEFAULT)
useImpl<AnnotationResolverImpl>() useImpl<AnnotationResolverImpl>()
useImpl<ExpressionTypingServices>() useImpl<ExpressionTypingServices>()
@@ -16,8 +16,10 @@
package org.jetbrains.kotlin.incremental.components package org.jetbrains.kotlin.incremental.components
import org.jetbrains.kotlin.container.DefaultImplementation
import java.io.Serializable import java.io.Serializable
@DefaultImplementation(LookupTracker.DO_NOTHING::class)
interface LookupTracker { interface LookupTracker {
// used in tests for more accurate checks // used in tests for more accurate checks
val requiresPosition: Boolean val requiresPosition: Boolean
@@ -30,13 +32,11 @@ interface LookupTracker {
name: String name: String
) )
companion object { object DO_NOTHING : LookupTracker {
val DO_NOTHING: LookupTracker = object : LookupTracker { override val requiresPosition: Boolean
override val requiresPosition: Boolean get() = false
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) {
}
} }
} }
} }
@@ -51,7 +51,7 @@ class MetadataPackageFragmentProvider(
this, this,
LocalClassifierTypeSettings.Default, LocalClassifierTypeSettings.Default,
ErrorReporter.DO_NOTHING, ErrorReporter.DO_NOTHING,
LookupTracker.Companion.DO_NOTHING, LookupTracker.DO_NOTHING,
FlexibleTypeDeserializer.ThrowException, FlexibleTypeDeserializer.ThrowException,
emptyList(), emptyList(),
notFoundClasses, AdditionalClassPartsProvider.None, PlatformDependentDeclarationFilter.All notFoundClasses, AdditionalClassPartsProvider.None, PlatformDependentDeclarationFilter.All
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.container.useInstance
import org.jetbrains.kotlin.context.ModuleContext import org.jetbrains.kotlin.context.ModuleContext
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.frontend.di.configureModule 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.js.resolve.JsPlatform
import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.*
import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer import org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer
@@ -45,7 +44,6 @@ fun createTopDownAnalyzerForJs(
CompilerEnvironment.configure(this) CompilerEnvironment.configure(this)
useInstance(LookupTracker.DO_NOTHING)
useInstance(languageVersionSettings) useInstance(languageVersionSettings)
useImpl<ResolveSession>() useImpl<ResolveSession>()
useImpl<LazyTopDownAnalyzer>() useImpl<LazyTopDownAnalyzer>()