Introduce UsageCollector
This commit is contained in:
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.container.*
|
|||||||
import org.jetbrains.kotlin.context.ModuleContext
|
import org.jetbrains.kotlin.context.ModuleContext
|
||||||
import org.jetbrains.kotlin.frontend.di.configureModule
|
import org.jetbrains.kotlin.frontend.di.configureModule
|
||||||
import org.jetbrains.kotlin.frontend.java.di.configureJavaTopDownAnalysis
|
import org.jetbrains.kotlin.frontend.java.di.configureJavaTopDownAnalysis
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector
|
||||||
import org.jetbrains.kotlin.load.java.JavaClassFinderImpl
|
import org.jetbrains.kotlin.load.java.JavaClassFinderImpl
|
||||||
import org.jetbrains.kotlin.load.java.lazy.SingleModuleClassResolver
|
import org.jetbrains.kotlin.load.java.lazy.SingleModuleClassResolver
|
||||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmCheckerProvider
|
import org.jetbrains.kotlin.load.kotlin.KotlinJvmCheckerProvider
|
||||||
@@ -39,7 +40,7 @@ public fun createContainerForReplWithJava(
|
|||||||
moduleContentScope: GlobalSearchScope, additionalFileScopeProvider: FileScopeProvider.AdditionalScopes
|
moduleContentScope: GlobalSearchScope, additionalFileScopeProvider: FileScopeProvider.AdditionalScopes
|
||||||
): ContainerForReplWithJava = createContainer("ReplWithJava") {
|
): ContainerForReplWithJava = createContainer("ReplWithJava") {
|
||||||
configureModule(moduleContext, KotlinJvmCheckerProvider(moduleContext.module), bindingTrace)
|
configureModule(moduleContext, KotlinJvmCheckerProvider(moduleContext.module), bindingTrace)
|
||||||
configureJavaTopDownAnalysis(moduleContentScope, moduleContext.project)
|
configureJavaTopDownAnalysis(moduleContentScope, moduleContext.project, UsageCollector.DO_NOTHING)
|
||||||
|
|
||||||
useInstance(additionalFileScopeProvider)
|
useInstance(additionalFileScopeProvider)
|
||||||
useInstance(declarationProviderFactory)
|
useInstance(declarationProviderFactory)
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.load.java.structure.impl.JavaPropertyInitializerEval
|
|||||||
import org.jetbrains.kotlin.load.kotlin.DeserializationComponentsForJava
|
import org.jetbrains.kotlin.load.kotlin.DeserializationComponentsForJava
|
||||||
import org.jetbrains.kotlin.load.kotlin.JvmVirtualFileFinderFactory
|
import org.jetbrains.kotlin.load.kotlin.JvmVirtualFileFinderFactory
|
||||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmCheckerProvider
|
import org.jetbrains.kotlin.load.kotlin.KotlinJvmCheckerProvider
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector
|
||||||
import org.jetbrains.kotlin.resolve.BindingTrace
|
import org.jetbrains.kotlin.resolve.BindingTrace
|
||||||
import org.jetbrains.kotlin.resolve.BodyResolveCache
|
import org.jetbrains.kotlin.resolve.BodyResolveCache
|
||||||
import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer
|
import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer
|
||||||
@@ -44,9 +45,9 @@ import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
|||||||
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
|
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
|
||||||
import org.jetbrains.kotlin.synthetic.AdditionalScopesWithJavaSyntheticExtensions
|
import org.jetbrains.kotlin.synthetic.AdditionalScopesWithJavaSyntheticExtensions
|
||||||
|
|
||||||
public fun StorageComponentContainer.configureJavaTopDownAnalysis(moduleContentScope: GlobalSearchScope, project: Project) {
|
public fun StorageComponentContainer.configureJavaTopDownAnalysis(moduleContentScope: GlobalSearchScope, project: Project, usageCollector: UsageCollector) {
|
||||||
useInstance(moduleContentScope)
|
useInstance(moduleContentScope)
|
||||||
|
useInstance(usageCollector)
|
||||||
useImpl<ResolveSession>()
|
useImpl<ResolveSession>()
|
||||||
|
|
||||||
useImpl<LazyTopDownAnalyzer>()
|
useImpl<LazyTopDownAnalyzer>()
|
||||||
@@ -74,7 +75,7 @@ public fun createContainerForLazyResolveWithJava(
|
|||||||
moduleContentScope: GlobalSearchScope, moduleClassResolver: ModuleClassResolver
|
moduleContentScope: GlobalSearchScope, moduleClassResolver: ModuleClassResolver
|
||||||
): Pair<ResolveSession, JavaDescriptorResolver> = createContainer("LazyResolveWithJava") {
|
): Pair<ResolveSession, JavaDescriptorResolver> = createContainer("LazyResolveWithJava") {
|
||||||
configureModule(moduleContext, KotlinJvmCheckerProvider(moduleContext.module), bindingTrace)
|
configureModule(moduleContext, KotlinJvmCheckerProvider(moduleContext.module), bindingTrace)
|
||||||
configureJavaTopDownAnalysis(moduleContentScope, moduleContext.project)
|
configureJavaTopDownAnalysis(moduleContentScope, moduleContext.project, UsageCollector.DO_NOTHING)
|
||||||
|
|
||||||
useInstance(moduleClassResolver)
|
useInstance(moduleClassResolver)
|
||||||
|
|
||||||
@@ -90,12 +91,14 @@ public fun createContainerForLazyResolveWithJava(
|
|||||||
|
|
||||||
|
|
||||||
public fun createContainerForTopDownAnalyzerForJvm(
|
public fun createContainerForTopDownAnalyzerForJvm(
|
||||||
moduleContext: ModuleContext, bindingTrace: BindingTrace,
|
moduleContext: ModuleContext,
|
||||||
|
bindingTrace: BindingTrace,
|
||||||
declarationProviderFactory: DeclarationProviderFactory,
|
declarationProviderFactory: DeclarationProviderFactory,
|
||||||
moduleContentScope: GlobalSearchScope
|
moduleContentScope: GlobalSearchScope,
|
||||||
|
usageCollector: UsageCollector
|
||||||
): ContainerForTopDownAnalyzerForJvm = createContainer("TopDownAnalyzerForJvm") {
|
): ContainerForTopDownAnalyzerForJvm = createContainer("TopDownAnalyzerForJvm") {
|
||||||
configureModule(moduleContext, KotlinJvmCheckerProvider(moduleContext.module), bindingTrace)
|
configureModule(moduleContext, KotlinJvmCheckerProvider(moduleContext.module), bindingTrace)
|
||||||
configureJavaTopDownAnalysis(moduleContentScope, moduleContext.project)
|
configureJavaTopDownAnalysis(moduleContentScope, moduleContext.project, usageCollector)
|
||||||
|
|
||||||
useInstance(declarationProviderFactory)
|
useInstance(declarationProviderFactory)
|
||||||
useInstance(BodyResolveCache.ThrowException)
|
useInstance(BodyResolveCache.ThrowException)
|
||||||
@@ -117,4 +120,4 @@ public class ContainerForTopDownAnalyzerForJvm(container: StorageComponentContai
|
|||||||
val lazyTopDownAnalyzerForTopLevel: LazyTopDownAnalyzerForTopLevel by container
|
val lazyTopDownAnalyzerForTopLevel: LazyTopDownAnalyzerForTopLevel by container
|
||||||
val javaDescriptorResolver: JavaDescriptorResolver by container
|
val javaDescriptorResolver: JavaDescriptorResolver by container
|
||||||
val deserializationComponentsForJava: DeserializationComponentsForJava by container
|
val deserializationComponentsForJava: DeserializationComponentsForJava by container
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -16,6 +16,9 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.load.kotlin.incremental.components
|
package org.jetbrains.kotlin.load.kotlin.incremental.components
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector
|
||||||
|
|
||||||
public interface IncrementalCompilationComponents {
|
public interface IncrementalCompilationComponents {
|
||||||
public fun getIncrementalCache(moduleId: String): IncrementalCache
|
public fun getIncrementalCache(moduleId: String): IncrementalCache
|
||||||
|
public fun getUsageCollector(): UsageCollector
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-1
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.descriptors.ModuleParameters;
|
|||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider;
|
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider;
|
||||||
import org.jetbrains.kotlin.frontend.java.di.ContainerForTopDownAnalyzerForJvm;
|
import org.jetbrains.kotlin.frontend.java.di.ContainerForTopDownAnalyzerForJvm;
|
||||||
import org.jetbrains.kotlin.frontend.java.di.DiPackage;
|
import org.jetbrains.kotlin.frontend.java.di.DiPackage;
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector;
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.IncrementalPackageFragmentProvider;
|
import org.jetbrains.kotlin.load.kotlin.incremental.IncrementalPackageFragmentProvider;
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache;
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache;
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents;
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents;
|
||||||
@@ -123,11 +124,15 @@ public enum TopDownAnalyzerFacadeForJVM {
|
|||||||
FileBasedDeclarationProviderFactory providerFactory =
|
FileBasedDeclarationProviderFactory providerFactory =
|
||||||
new FileBasedDeclarationProviderFactory(moduleContext.getStorageManager(), allFiles);
|
new FileBasedDeclarationProviderFactory(moduleContext.getStorageManager(), allFiles);
|
||||||
|
|
||||||
|
UsageCollector usageCollector =
|
||||||
|
incrementalCompilationComponents != null ? incrementalCompilationComponents.getUsageCollector() : UsageCollector.DO_NOTHING;
|
||||||
|
|
||||||
ContainerForTopDownAnalyzerForJvm container = DiPackage.createContainerForTopDownAnalyzerForJvm(
|
ContainerForTopDownAnalyzerForJvm container = DiPackage.createContainerForTopDownAnalyzerForJvm(
|
||||||
moduleContext,
|
moduleContext,
|
||||||
trace,
|
trace,
|
||||||
providerFactory,
|
providerFactory,
|
||||||
GlobalSearchScope.allScope(project)
|
GlobalSearchScope.allScope(project),
|
||||||
|
usageCollector
|
||||||
);
|
);
|
||||||
|
|
||||||
List<PackageFragmentProvider> additionalProviders = new ArrayList<PackageFragmentProvider>();
|
List<PackageFragmentProvider> additionalProviders = new ArrayList<PackageFragmentProvider>();
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.container.*
|
|||||||
import org.jetbrains.kotlin.context.LazyResolveToken
|
import org.jetbrains.kotlin.context.LazyResolveToken
|
||||||
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.incremental.components.UsageCollector
|
||||||
import org.jetbrains.kotlin.resolve.*
|
import org.jetbrains.kotlin.resolve.*
|
||||||
import org.jetbrains.kotlin.resolve.calls.CallResolver
|
import org.jetbrains.kotlin.resolve.calls.CallResolver
|
||||||
import org.jetbrains.kotlin.resolve.lazy.FileScopeProvider
|
import org.jetbrains.kotlin.resolve.lazy.FileScopeProvider
|
||||||
@@ -109,6 +110,7 @@ private fun createContainerForLazyResolve(
|
|||||||
|
|
||||||
useInstance(dynamicTypesSettings)
|
useInstance(dynamicTypesSettings)
|
||||||
useInstance(declarationProviderFactory)
|
useInstance(declarationProviderFactory)
|
||||||
|
useInstance(UsageCollector.DO_NOTHING)
|
||||||
|
|
||||||
useImpl<LazyResolveToken>()
|
useImpl<LazyResolveToken>()
|
||||||
useImpl<ResolveSession>()
|
useImpl<ResolveSession>()
|
||||||
@@ -134,4 +136,4 @@ public class ContainerForMacros(container: StorageComponentContainer) {
|
|||||||
val typeResolver: TypeResolver by container
|
val typeResolver: TypeResolver by container
|
||||||
val expressionTypingComponents: ExpressionTypingComponents by container
|
val expressionTypingComponents: ExpressionTypingComponents by container
|
||||||
val expressionTypingServices: ExpressionTypingServices by container
|
val expressionTypingServices: ExpressionTypingServices by container
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2015 JetBrains s.r.o.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.incremental.components
|
||||||
|
|
||||||
|
public interface UsageCollector {
|
||||||
|
companion object {
|
||||||
|
val DO_NOTHING = object : UsageCollector {}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.resolve.lazy
|
package org.jetbrains.kotlin.resolve.lazy
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector
|
||||||
import org.jetbrains.kotlin.resolve.*
|
import org.jetbrains.kotlin.resolve.*
|
||||||
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
|
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
|
||||||
import org.jetbrains.kotlin.storage.StorageManager
|
import org.jetbrains.kotlin.storage.StorageManager
|
||||||
@@ -32,4 +33,5 @@ public interface LazyClassContext {
|
|||||||
val typeResolver: TypeResolver
|
val typeResolver: TypeResolver
|
||||||
val declarationProviderFactory: DeclarationProviderFactory
|
val declarationProviderFactory: DeclarationProviderFactory
|
||||||
val annotationResolver: AnnotationResolver
|
val annotationResolver: AnnotationResolver
|
||||||
}
|
val usageCollector: UsageCollector
|
||||||
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import org.jetbrains.annotations.ReadOnly;
|
|||||||
import org.jetbrains.kotlin.context.GlobalContext;
|
import org.jetbrains.kotlin.context.GlobalContext;
|
||||||
import org.jetbrains.kotlin.descriptors.*;
|
import org.jetbrains.kotlin.descriptors.*;
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector;
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
import org.jetbrains.kotlin.psi.*;
|
import org.jetbrains.kotlin.psi.*;
|
||||||
@@ -75,6 +76,7 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext {
|
|||||||
private LazyDeclarationResolver lazyDeclarationResolver;
|
private LazyDeclarationResolver lazyDeclarationResolver;
|
||||||
private FileScopeProvider fileScopeProvider;
|
private FileScopeProvider fileScopeProvider;
|
||||||
private DeclarationScopeProvider declarationScopeProvider;
|
private DeclarationScopeProvider declarationScopeProvider;
|
||||||
|
private UsageCollector usageCollector;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public void setJetImportFactory(JetImportsFactory jetImportFactory) {
|
public void setJetImportFactory(JetImportsFactory jetImportFactory) {
|
||||||
@@ -126,6 +128,11 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext {
|
|||||||
this.declarationScopeProvider = declarationScopeProvider;
|
this.declarationScopeProvider = declarationScopeProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public void setUsageCollector(@NotNull UsageCollector usageCollector) {
|
||||||
|
this.usageCollector = usageCollector;
|
||||||
|
}
|
||||||
|
|
||||||
// Only calls from injectors expected
|
// Only calls from injectors expected
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public ResolveSession(
|
public ResolveSession(
|
||||||
@@ -401,4 +408,10 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext {
|
|||||||
public FileScopeProvider getFileScopeProvider() {
|
public FileScopeProvider getFileScopeProvider() {
|
||||||
return fileScopeProvider;
|
return fileScopeProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public UsageCollector getUsageCollector() {
|
||||||
|
return usageCollector;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.frontend.di.createContainerForLazyLocalClassifierAnalyzer
|
import org.jetbrains.kotlin.frontend.di.createContainerForLazyLocalClassifierAnalyzer
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.JetClassOrObject
|
import org.jetbrains.kotlin.psi.JetClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.debugText.getDebugText
|
import org.jetbrains.kotlin.psi.debugText.getDebugText
|
||||||
@@ -131,6 +132,7 @@ class LocalClassDescriptorHolder(
|
|||||||
|
|
||||||
}
|
}
|
||||||
override val annotationResolver = this@LocalClassDescriptorHolder.annotationResolver
|
override val annotationResolver = this@LocalClassDescriptorHolder.annotationResolver
|
||||||
|
override val usageCollector: UsageCollector = UsageCollector.DO_NOTHING
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
containingDeclaration,
|
containingDeclaration,
|
||||||
@@ -184,4 +186,4 @@ class DeclarationScopeProviderForLocalClassifierAnalyzer(
|
|||||||
}
|
}
|
||||||
return super.getOuterDataFlowInfoForDeclaration(elementOfDeclaration)
|
return super.getOuterDataFlowInfoForDeclaration(elementOfDeclaration)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.frontend.java.di.createContainerForTopDownAnalyzerFo
|
|||||||
import org.jetbrains.kotlin.jvm.compiler.LoadDescriptorUtil
|
import org.jetbrains.kotlin.jvm.compiler.LoadDescriptorUtil
|
||||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
|
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
|
||||||
import org.jetbrains.kotlin.load.java.structure.reflect.classId
|
import org.jetbrains.kotlin.load.java.structure.reflect.classId
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector
|
||||||
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM
|
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM
|
||||||
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory
|
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory
|
||||||
import org.jetbrains.kotlin.test.*
|
import org.jetbrains.kotlin.test.*
|
||||||
@@ -57,7 +58,7 @@ public abstract class AbstractLocalClassProtoTest : TestCaseWithTmpdir() {
|
|||||||
|
|
||||||
val container = createContainerForTopDownAnalyzerForJvm(
|
val container = createContainerForTopDownAnalyzerForJvm(
|
||||||
moduleContext, CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(),
|
moduleContext, CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(),
|
||||||
providerFactory, GlobalSearchScope.allScope(environment.project)
|
providerFactory, GlobalSearchScope.allScope(environment.project), UsageCollector.DO_NOTHING
|
||||||
)
|
)
|
||||||
moduleContext.initializeModuleContents(container.javaDescriptorResolver.packageFragmentProvider)
|
moduleContext.initializeModuleContents(container.javaDescriptorResolver.packageFragmentProvider)
|
||||||
|
|
||||||
|
|||||||
@@ -280,6 +280,7 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR
|
|||||||
PathUtil.getKotlinPathsForJpsPluginOrJpsTests(),
|
PathUtil.getKotlinPathsForJpsPluginOrJpsTests(),
|
||||||
{ className ->
|
{ className ->
|
||||||
className.startsWith("org.jetbrains.kotlin.load.kotlin.incremental.components.")
|
className.startsWith("org.jetbrains.kotlin.load.kotlin.incremental.components.")
|
||||||
|
|| className.startsWith("org.jetbrains.kotlin.incremental.components.")
|
||||||
|| className == "org.jetbrains.kotlin.config.Services"
|
|| className == "org.jetbrains.kotlin.config.Services"
|
||||||
|| className.startsWith("org.apache.log4j.") // For logging from compiler
|
|| className.startsWith("org.apache.log4j.") // For logging from compiler
|
||||||
|| className == "org.jetbrains.kotlin.progress.CompilationCanceledStatus"
|
|| className == "org.jetbrains.kotlin.progress.CompilationCanceledStatus"
|
||||||
|
|||||||
+3
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.jps.incremental
|
package org.jetbrains.kotlin.jps.incremental
|
||||||
|
|
||||||
import org.jetbrains.jps.incremental.ModuleBuildTarget
|
import org.jetbrains.jps.incremental.ModuleBuildTarget
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
|
||||||
|
|
||||||
@@ -26,4 +27,6 @@ public class IncrementalCompilationComponentsImpl(caches: Map<ModuleBuildTarget,
|
|||||||
override fun getIncrementalCache(moduleId: String): IncrementalCache {
|
override fun getIncrementalCache(moduleId: String): IncrementalCache {
|
||||||
return idToCache[moduleId]!!
|
return idToCache[moduleId]!!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getUsageCollector(): UsageCollector = UsageCollector.DO_NOTHING
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.container.useImpl
|
|||||||
import org.jetbrains.kotlin.container.useInstance
|
import org.jetbrains.kotlin.container.useInstance
|
||||||
import org.jetbrains.kotlin.context.ModuleContext
|
import org.jetbrains.kotlin.context.ModuleContext
|
||||||
import org.jetbrains.kotlin.frontend.di.configureModule
|
import org.jetbrains.kotlin.frontend.di.configureModule
|
||||||
|
import org.jetbrains.kotlin.incremental.components.UsageCollector
|
||||||
import org.jetbrains.kotlin.js.resolve.KotlinJsCheckerProvider
|
import org.jetbrains.kotlin.js.resolve.KotlinJsCheckerProvider
|
||||||
import org.jetbrains.kotlin.resolve.BindingTrace
|
import org.jetbrains.kotlin.resolve.BindingTrace
|
||||||
import org.jetbrains.kotlin.resolve.BodyResolveCache
|
import org.jetbrains.kotlin.resolve.BodyResolveCache
|
||||||
@@ -42,6 +43,7 @@ public fun createTopDownAnalyzerForJs(
|
|||||||
useInstance(declarationProviderFactory)
|
useInstance(declarationProviderFactory)
|
||||||
useImpl<FileScopeProviderImpl>()
|
useImpl<FileScopeProviderImpl>()
|
||||||
useInstance(BodyResolveCache.ThrowException)
|
useInstance(BodyResolveCache.ThrowException)
|
||||||
|
useInstance(UsageCollector.DO_NOTHING)
|
||||||
useImpl<ResolveSession>()
|
useImpl<ResolveSession>()
|
||||||
useImpl<LazyTopDownAnalyzerForTopLevel>()
|
useImpl<LazyTopDownAnalyzerForTopLevel>()
|
||||||
useImpl<DynamicTypesAllowed>()
|
useImpl<DynamicTypesAllowed>()
|
||||||
|
|||||||
Reference in New Issue
Block a user