Make invalidateOnOOCB explicit in ResolverForProjectImpl and remove usage in tests

This commit is contained in:
Nikolay Krasko
2019-05-31 16:21:57 +03:00
parent b32b362810
commit 12bb1a5bd1
4 changed files with 33 additions and 22 deletions
@@ -16,6 +16,8 @@
package org.jetbrains.kotlin.jvm.compiler
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.ModificationTracker
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.search.DelegatingGlobalSearchScope
import com.intellij.psi.search.GlobalSearchScope
@@ -33,15 +35,15 @@ import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
import org.jetbrains.kotlin.resolve.constants.EnumValue
import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass
import org.jetbrains.kotlin.resolve.descriptorUtil.module
import org.jetbrains.kotlin.resolve.jvm.JvmResolverForModuleFactory
import org.jetbrains.kotlin.resolve.jvm.JvmPlatformParameters
import org.jetbrains.kotlin.resolve.jvm.JvmResolverForModuleFactory
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.KotlinTestUtils
@@ -55,9 +57,12 @@ import java.util.*
class MultiModuleJavaAnalysisCustomTest : KtUsefulTestCase() {
private class TestModule(
val _name: String, val kotlinFiles: List<KtFile>, val javaFilesScope: GlobalSearchScope,
val _dependencies: TestModule.() -> List<TestModule>
) : ModuleInfo {
val project: Project,
val _name: String, val kotlinFiles: List<KtFile>, val javaFilesScope: GlobalSearchScope,
val _dependencies: TestModule.() -> List<TestModule>
) : TrackableModuleInfo {
override fun createModificationTracker(): ModificationTracker = ModificationTracker.NEVER_CHANGED
override fun dependencies() = _dependencies()
override val name = Name.special("<$_name>")
@@ -77,6 +82,7 @@ class MultiModuleJavaAnalysisCustomTest : KtUsefulTestCase() {
val resolverForProject = ResolverForProjectImpl(
"test",
projectContext, modules,
invalidateOnOOCB = false,
modulesContent = { module -> ModuleContent(module, module.kotlinFiles, module.javaFilesScope) },
moduleLanguageSettingsProvider = LanguageSettingsProvider.Default,
resolverForModuleFactoryByPlatform = { JvmResolverForModuleFactory },
@@ -120,7 +126,7 @@ class MultiModuleJavaAnalysisCustomTest : KtUsefulTestCase() {
return file.parent!!.parent!!.name == name
}
}
modules[name] = TestModule(name, kotlinFiles, javaFilesScope) {
modules[name] = TestModule(project, name, kotlinFiles, javaFilesScope) {
when (this._name) {
"a" -> listOf(this)
"b" -> listOf(this, modules["a"]!!)