diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/Fe10AnalysisFacade.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/Fe10AnalysisFacade.kt index be969ee386c..4b91f14c016 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/Fe10AnalysisFacade.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/Fe10AnalysisFacade.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.api.descriptors -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile import org.jetbrains.kotlin.analysis.api.symbols.KtSymbolOrigin @@ -25,7 +24,7 @@ import org.jetbrains.kotlin.types.checker.KotlinTypeRefiner interface Fe10AnalysisFacade { companion object { fun getInstance(project: Project): Fe10AnalysisFacade { - return ServiceManager.getService(project, Fe10AnalysisFacade::class.java) + return project.getService(Fe10AnalysisFacade::class.java) } } diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiBaseTestServiceRegistrar.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiBaseTestServiceRegistrar.kt index 0e7e67dd609..d4d9c3ca8ad 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiBaseTestServiceRegistrar.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiBaseTestServiceRegistrar.kt @@ -25,11 +25,13 @@ import org.jetbrains.kotlin.test.services.TestServices object AnalysisApiBaseTestServiceRegistrar: AnalysisApiTestServiceRegistrar() { override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) { + @Suppress("UnstableApiUsage") project.extensionArea.apply { registerExtensionPoint( KtResolveExtensionProvider.EP_NAME.name, KtResolveExtensionProvider::class.java.name, ExtensionPoint.Kind.INTERFACE, + false ) } } diff --git a/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinAnnotationsResolver.kt b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinAnnotationsResolver.kt index 45d9aa2913d..b91ce59362d 100644 --- a/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinAnnotationsResolver.kt +++ b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinAnnotationsResolver.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.providers -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.name.ClassId @@ -50,5 +49,5 @@ public interface KotlinAnnotationsResolverFactory { } public fun Project.createAnnotationResolver(searchScope: GlobalSearchScope): KotlinAnnotationsResolver = - ServiceManager.getService(this, KotlinAnnotationsResolverFactory::class.java) + this.getService(KotlinAnnotationsResolverFactory::class.java) .createAnnotationResolver(searchScope) diff --git a/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinDeclarationProvider.kt b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinDeclarationProvider.kt index 60d043d2cee..33b2f9ec697 100644 --- a/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinDeclarationProvider.kt +++ b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinDeclarationProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.providers -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.name.CallableId @@ -47,5 +46,5 @@ public abstract class KotlinDeclarationProviderFactory { } public fun Project.createDeclarationProvider(searchScope: GlobalSearchScope): KotlinDeclarationProvider = - ServiceManager.getService(this, KotlinDeclarationProviderFactory::class.java) + this.getService(KotlinDeclarationProviderFactory::class.java) .createDeclarationProvider(searchScope) \ No newline at end of file diff --git a/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinModificationTrackerFactory.kt b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinModificationTrackerFactory.kt index 3f01c48b228..f592e3ccad6 100644 --- a/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinModificationTrackerFactory.kt +++ b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinModificationTrackerFactory.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.providers -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.util.ModificationTracker import org.jetbrains.annotations.TestOnly @@ -109,7 +108,7 @@ public interface KtModuleStateTracker { * @see ModificationTracker */ public fun Project.createProjectWideOutOfBlockModificationTracker(): ModificationTracker = - ServiceManager.getService(this, KotlinModificationTrackerFactory::class.java) + this.getService(KotlinModificationTrackerFactory::class.java) .createProjectWideOutOfBlockModificationTracker() /** @@ -119,7 +118,7 @@ public fun Project.createProjectWideOutOfBlockModificationTracker(): Modificatio * @see ModificationTracker */ public fun KtSourceModule.createModuleWithoutDependenciesOutOfBlockModificationTracker(project: Project): ModificationTracker = - ServiceManager.getService(project, KotlinModificationTrackerFactory::class.java) + project.getService(KotlinModificationTrackerFactory::class.java) .createModuleWithoutDependenciesOutOfBlockModificationTracker(this) /** @@ -129,5 +128,5 @@ public fun KtSourceModule.createModuleWithoutDependenciesOutOfBlockModificationT * @see ModificationTracker */ public fun Project.createAllLibrariesModificationTracker(): ModificationTracker = - ServiceManager.getService(this, KotlinModificationTrackerFactory::class.java) + this.getService(KotlinModificationTrackerFactory::class.java) .createLibrariesWideModificationTracker() diff --git a/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinPackageProvider.kt b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinPackageProvider.kt index 6d989096eee..c22428f307c 100644 --- a/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinPackageProvider.kt +++ b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/KotlinPackageProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.providers -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.name.FqName @@ -78,5 +77,5 @@ public abstract class KotlinPackageProviderFactory { } public fun Project.createPackageProvider(searchScope: GlobalSearchScope): KotlinPackageProvider = - ServiceManager.getService(this, KotlinPackageProviderFactory::class.java) + this.getService(KotlinPackageProviderFactory::class.java) .createPackageProvider(searchScope) \ No newline at end of file diff --git a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/StandaloneProjectFactory.kt b/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/StandaloneProjectFactory.kt index 71ff0073256..0fa65625b92 100644 --- a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/StandaloneProjectFactory.kt +++ b/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/StandaloneProjectFactory.kt @@ -12,7 +12,6 @@ import com.intellij.core.CorePackageIndex import com.intellij.ide.highlighter.JavaFileType import com.intellij.mock.MockProject import com.intellij.openapi.Disposable -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.roots.PackageIndex import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFileManager @@ -62,7 +61,7 @@ object StandaloneProjectFactory { with(project) { registerService( CoreJavaFileManager::class.java, - ServiceManager.getService(this, JavaFileManager::class.java) as CoreJavaFileManager + this.getService(JavaFileManager::class.java) as CoreJavaFileManager ) registerService(ExternalAnnotationsManager::class.java, MockExternalAnnotationsManager()) diff --git a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt index 0214ce850be..0f0a93b9fbf 100644 --- a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt +++ b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt @@ -107,8 +107,8 @@ internal fun configureProjectEnvironment( ) { reRegisterJavaElementFinder(project) - project.picoContainer.registerComponentInstance( - KotlinModificationTrackerFactory::class.qualifiedName, + project.registerService( + KotlinModificationTrackerFactory::class.java, KotlinStaticModificationTrackerFactory() ) @@ -134,37 +134,37 @@ internal fun configureProjectEnvironment( ) RegisterComponentService.registerLLFirResolveSessionService(project) - project.picoContainer.registerComponentInstance( - FirSealedClassInheritorsProcessorFactory::class.qualifiedName, + project.registerService( + FirSealedClassInheritorsProcessorFactory::class.java, object : FirSealedClassInheritorsProcessorFactory() { override fun createSealedClassInheritorsProvider(): SealedClassInheritorsProvider { return SealedClassInheritorsProviderImpl } } ) - project.picoContainer.registerComponentInstance( - KtModuleScopeProvider::class.qualifiedName, + project.registerService( + KtModuleScopeProvider::class.java, KtModuleScopeProviderImpl() ) - project.picoContainer.registerComponentInstance( - ProjectStructureProvider::class.qualifiedName, + project.registerService( + ProjectStructureProvider::class.java, buildKtModuleProviderByCompilerConfiguration( compilerConfig, project, ktFiles, ) ) - project.picoContainer.registerComponentInstance( - KotlinDeclarationProviderFactory::class.qualifiedName, + project.registerService( + KotlinDeclarationProviderFactory::class.java, KotlinStaticDeclarationProviderFactory(project, ktFiles) ) - project.picoContainer.registerComponentInstance( - KotlinPackageProviderFactory::class.qualifiedName, + project.registerService( + KotlinPackageProviderFactory::class.java, KotlinStaticPackageProviderFactory(project, ktFiles) ) - project.picoContainer.registerComponentInstance( - PackagePartProviderFactory::class.qualifiedName, + project.registerService( + PackagePartProviderFactory::class.java, KotlinStaticPackagePartProviderFactory(packagePartProvider) ) } @@ -173,13 +173,13 @@ internal fun configureProjectEnvironment( private fun reRegisterJavaElementFinder(project: Project) { PsiElementFinder.EP.getPoint(project).unregisterExtension(JavaElementFinder::class.java) with(project as MockProject) { - picoContainer.registerComponentInstance( - KtAnalysisSessionProvider::class.qualifiedName, + registerService( + KtAnalysisSessionProvider::class.java, KtFirAnalysisSessionProvider(this) ) picoContainer.unregisterComponent(KotlinAsJavaSupport::class.qualifiedName) - picoContainer.registerComponentInstance( - KotlinAsJavaSupport::class.qualifiedName, + registerService( + KotlinAsJavaSupport::class.java, SymbolKotlinAsJavaSupport(project) ) } diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/session/KtAnalysisSessionProvider.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/session/KtAnalysisSessionProvider.kt index 1ed97aee6e6..bb88f556b28 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/session/KtAnalysisSessionProvider.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/session/KtAnalysisSessionProvider.kt @@ -6,14 +6,12 @@ package org.jetbrains.kotlin.analysis.api.session import com.intellij.openapi.Disposable -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import org.jetbrains.annotations.TestOnly import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals import org.jetbrains.kotlin.analysis.api.lifetime.impl.NoWriteActionInAnalyseCallChecker import org.jetbrains.kotlin.analysis.api.lifetime.KtDefaultLifetimeTokenProvider -import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeTokenFactory import org.jetbrains.kotlin.analysis.project.structure.KtModule import org.jetbrains.kotlin.psi.KtElement @@ -92,6 +90,6 @@ public abstract class KtAnalysisSessionProvider(public val project: Project) : D public companion object { @KtAnalysisApiInternals public fun getInstance(project: Project): KtAnalysisSessionProvider = - ServiceManager.getService(project, KtAnalysisSessionProvider::class.java) + project.getService(KtAnalysisSessionProvider::class.java) } } diff --git a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/test/configurators/AnalysisApiTestConfigurator.kt b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/test/configurators/AnalysisApiTestConfigurator.kt index 39e00325da7..0aa36a2f5de 100644 --- a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/test/configurators/AnalysisApiTestConfigurator.kt +++ b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/test/configurators/AnalysisApiTestConfigurator.kt @@ -9,7 +9,6 @@ import com.intellij.mock.MockApplication import com.intellij.mock.MockProject import com.intellij.openapi.Disposable import com.intellij.openapi.application.Application -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.util.Key import com.intellij.psi.PsiFile @@ -41,7 +40,7 @@ abstract class AnalysisApiTestConfigurator { open fun prepareFilesInModule(files: List, module: TestModule, testServices: TestServices) {} open fun doOutOfBlockModification(file: KtFile) { - ServiceManager.getService(file.project, KotlinModificationTrackerFactory::class.java) + file.project.getService(KotlinModificationTrackerFactory::class.java) .incrementModificationsCount() } diff --git a/analysis/kt-references/src/org/jetbrains/kotlin/idea/references/KotlinPsiReferenceProvider.kt b/analysis/kt-references/src/org/jetbrains/kotlin/idea/references/KotlinPsiReferenceProvider.kt index 3536a3c7a89..ba3d5cf69c2 100644 --- a/analysis/kt-references/src/org/jetbrains/kotlin/idea/references/KotlinPsiReferenceProvider.kt +++ b/analysis/kt-references/src/org/jetbrains/kotlin/idea/references/KotlinPsiReferenceProvider.kt @@ -21,7 +21,7 @@ interface KotlinReferenceProviderContributor { companion object { fun getInstance(project: Project): KotlinReferenceProviderContributor = - ServiceManager.getService(project, KotlinReferenceProviderContributor::class.java) + project.getService(KotlinReferenceProviderContributor::class.java) } } diff --git a/analysis/kt-references/src/org/jetbrains/kotlin/idea/references/KtReference.kt b/analysis/kt-references/src/org/jetbrains/kotlin/idea/references/KtReference.kt index 71094b19245..a4fdea74360 100644 --- a/analysis/kt-references/src/org/jetbrains/kotlin/idea/references/KtReference.kt +++ b/analysis/kt-references/src/org/jetbrains/kotlin/idea/references/KtReference.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.idea.references -import com.intellij.openapi.components.ServiceManager +import com.intellij.openapi.application.ApplicationManager import com.intellij.psi.* import com.intellij.psi.impl.source.resolve.ResolveCache import org.jetbrains.kotlin.asJava.unwrapped @@ -44,7 +44,7 @@ abstract class AbstractKtReference(element: T) : PsiPolyVariantRe getKtReferenceMutateService().bindToElement(this, element) protected fun getKtReferenceMutateService(): KtReferenceMutateService = - ServiceManager.getService(KtReferenceMutateService::class.java) + ApplicationManager.getApplication().getService(KtReferenceMutateService::class.java) ?: throw IllegalStateException("Cannot handle element rename because KtReferenceMutateService is missing") @Suppress("UNCHECKED_CAST") diff --git a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/KotlinAsJavaSupport.kt b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/KotlinAsJavaSupport.kt index 79ccd2eb34e..39600cc9084 100644 --- a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/KotlinAsJavaSupport.kt +++ b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/KotlinAsJavaSupport.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.asJava -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.psi.PsiClass import com.intellij.psi.search.GlobalSearchScope @@ -63,7 +62,7 @@ abstract class KotlinAsJavaSupport { companion object { @JvmStatic fun getInstance(project: Project): KotlinAsJavaSupport { - return ServiceManager.getService(project, KotlinAsJavaSupport::class.java) + return project.getService( KotlinAsJavaSupport::class.java) } } } \ No newline at end of file diff --git a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt index afddef68085..30f0ac20535 100644 --- a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt +++ b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.asJava.classes -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.util.TextRange import com.intellij.psi.* @@ -187,7 +186,7 @@ interface LightClassInheritanceHelper { companion object { fun getService(project: Project): LightClassInheritanceHelper = - ServiceManager.getService(project, LightClassInheritanceHelper::class.java) ?: NoHelp + project.getService(LightClassInheritanceHelper::class.java) ?: NoHelp } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirResolveStateService.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirResolveStateService.kt index aacbebe4965..6c97120a625 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirResolveStateService.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirResolveStateService.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSession @@ -45,6 +44,6 @@ class LLFirResolveSessionService(project: Project) { companion object { fun getInstance(project: Project): LLFirResolveSessionService = - ServiceManager.getService(project, LLFirResolveSessionService::class.java) + project.getService(LLFirResolveSessionService::class.java) } } \ No newline at end of file diff --git a/analysis/project-structure/src/org/jetbrains/kotlin/analysis/project/structure/KtModuleScopeProvider.kt b/analysis/project-structure/src/org/jetbrains/kotlin/analysis/project/structure/KtModuleScopeProvider.kt index e1c65d3df37..4debaaf36e6 100644 --- a/analysis/project-structure/src/org/jetbrains/kotlin/analysis/project/structure/KtModuleScopeProvider.kt +++ b/analysis/project-structure/src/org/jetbrains/kotlin/analysis/project/structure/KtModuleScopeProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.project.structure -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope @@ -38,4 +37,4 @@ public class KtModuleScopeProviderImpl : KtModuleScopeProvider() { } public val Project.moduleScopeProvider: KtModuleScopeProvider - get() = ServiceManager.getService(this, KtModuleScopeProvider::class.java) + get() = this.getService(KtModuleScopeProvider::class.java) diff --git a/benchmarks/src/org/jetbrains/kotlin/benchmarks/AbstractSimpleFileBenchmark.kt b/benchmarks/src/org/jetbrains/kotlin/benchmarks/AbstractSimpleFileBenchmark.kt index 02ccde97b1e..0162dc90309 100644 --- a/benchmarks/src/org/jetbrains/kotlin/benchmarks/AbstractSimpleFileBenchmark.kt +++ b/benchmarks/src/org/jetbrains/kotlin/benchmarks/AbstractSimpleFileBenchmark.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.benchmarks import com.intellij.openapi.Disposable import com.intellij.openapi.project.Project -import com.intellij.openapi.vfs.CharsetToolkit import com.intellij.psi.PsiElementFinder import com.intellij.psi.PsiFileFactory import com.intellij.psi.impl.PsiFileFactoryImpl @@ -41,6 +40,7 @@ import org.jetbrains.kotlin.storage.StorageManager import org.openjdk.jmh.annotations.* import org.openjdk.jmh.infra.Blackhole import java.io.File +import java.nio.charset.StandardCharsets private fun createFile(shortName: String, text: String, project: Project): KtFile { val virtualFile = object : LightVirtualFile(shortName, KotlinLanguage.INSTANCE, text) { @@ -50,7 +50,7 @@ private fun createFile(shortName: String, text: String, project: Project): KtFil } } - virtualFile.charset = CharsetToolkit.UTF8_CHARSET + virtualFile.charset = StandardCharsets.UTF_8 val factory = PsiFileFactory.getInstance(project) as PsiFileFactoryImpl return factory.trySetupPsiForFile(virtualFile, KotlinLanguage.INSTANCE, true, false) as KtFile diff --git a/build-common/src/org/jetbrains/kotlin/incremental/storage/CachingLazyStorage.kt b/build-common/src/org/jetbrains/kotlin/incremental/storage/CachingLazyStorage.kt index 93188306eb6..3b0864aa572 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/storage/CachingLazyStorage.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/storage/CachingLazyStorage.kt @@ -16,6 +16,8 @@ package org.jetbrains.kotlin.incremental.storage +import com.intellij.util.CommonProcessors +import com.intellij.util.io.AppendablePersistentMap import com.intellij.util.io.DataExternalizer import com.intellij.util.io.IOUtil import com.intellij.util.io.KeyDescriptor @@ -59,7 +61,9 @@ class CachingLazyStorage( override val keys: Collection @Synchronized - get() = getStorageIfExists()?.allKeysWithExistingMapping ?: listOf() + get() = buildList { + getStorageIfExists()?.processKeysWithExistingMapping(CommonProcessors.CollectProcessor(this)) + } @Synchronized override operator fun contains(key: K): Boolean = @@ -84,7 +88,7 @@ class CachingLazyStorage( check(valueExternalizer is AppendableDataExternalizer<*>) { "`valueExternalizer` should implement the `AppendableDataExternalizer` interface to be able to call `append`" } - getStorageOrCreateNew().appendData(key, { valueExternalizer.save(it, value) }) + getStorageOrCreateNew().appendData(key, AppendablePersistentMap.ValueDataAppender { valueExternalizer.save(it, value) }) } @Synchronized diff --git a/buildSrc/src/main/kotlin/IdeCompatibilityDsl.kt b/buildSrc/src/main/kotlin/IdeCompatibilityDsl.kt index ad0522278d7..3cc8f29c46c 100644 --- a/buildSrc/src/main/kotlin/IdeCompatibilityDsl.kt +++ b/buildSrc/src/main/kotlin/IdeCompatibilityDsl.kt @@ -26,7 +26,7 @@ fun CompatibilityPredicate.or(other: CompatibilityPredicate): CompatibilityPredi } enum class Platform : CompatibilityPredicate { - P203; + P213; val version: Int = name.drop(1).toInt() @@ -43,7 +43,7 @@ enum class Platform : CompatibilityPredicate { } enum class Ide(val platform: Platform) : CompatibilityPredicate { - IJ203(Platform.P203); + IJ213(Platform.P213); val kind = Kind.values().first { it.shortName == name.take(2) } val version = name.dropWhile { !it.isDigit() }.toInt() diff --git a/compiler/android-tests/build.gradle.kts b/compiler/android-tests/build.gradle.kts index d78563bfcfd..f674e13dcbb 100644 --- a/compiler/android-tests/build.gradle.kts +++ b/compiler/android-tests/build.gradle.kts @@ -29,7 +29,7 @@ dependencies { testApi(jpsBuildTest()) testRuntimeOnly(intellijCore()) - testRuntimeOnly(commonDependency("net.java.dev.jna:jna")) + testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.jna:jna")) testApi("org.junit.platform:junit-platform-launcher:${commonDependencyVersion("org.junit.platform", "")}") } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/InterfaceImplBodyCodegen.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/InterfaceImplBodyCodegen.kt index 36389ed7fc3..461562177ea 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/InterfaceImplBodyCodegen.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/InterfaceImplBodyCodegen.kt @@ -20,7 +20,6 @@ import com.intellij.util.ArrayUtil import org.jetbrains.kotlin.util.findImplementationFromInterface import org.jetbrains.kotlin.codegen.context.ClassContext import org.jetbrains.kotlin.codegen.state.GenerationState -import org.jetbrains.kotlin.codegen.state.JvmMethodExceptionTypes import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.load.java.descriptors.JavaMethodDescriptor import org.jetbrains.kotlin.psi.KtPureClassOrObject @@ -168,7 +167,7 @@ class InterfaceImplBodyCodegen( name: String, desc: String, signature: String?, - exceptions: JvmMethodExceptionTypes + exceptions: Array? ): MethodVisitor { if (shouldCount) { isAnythingGenerated = true diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/OriginCollectingClassBuilderFactory.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/OriginCollectingClassBuilderFactory.kt index 238cd25f13d..49c56002205 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/OriginCollectingClassBuilderFactory.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/OriginCollectingClassBuilderFactory.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.codegen -import org.jetbrains.kotlin.codegen.state.JvmMethodExceptionTypes import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin import org.jetbrains.org.objectweb.asm.* import org.jetbrains.org.objectweb.asm.tree.* @@ -43,7 +42,7 @@ class OriginCollectingClassBuilderFactory(private val builderMode: ClassBuilderM name: String, desc: String, signature: String?, - exceptions: JvmMethodExceptionTypes + exceptions: Array? ): MethodVisitor { val methodNode = super.newMethod(origin, access, name, desc, signature, exceptions) as MethodNode origins[methodNode] = origin diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/SignatureCollectingClassBuilderFactory.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/SignatureCollectingClassBuilderFactory.kt index b5de2c9c566..5546e96166d 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/SignatureCollectingClassBuilderFactory.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/SignatureCollectingClassBuilderFactory.kt @@ -18,7 +18,6 @@ package org.jetbrains.kotlin.codegen import com.intellij.psi.PsiElement import com.intellij.util.containers.MultiMap -import org.jetbrains.kotlin.codegen.state.JvmMethodExceptionTypes import org.jetbrains.kotlin.resolve.jvm.diagnostics.ConflictingJvmDeclarationsData import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin import org.jetbrains.kotlin.resolve.jvm.diagnostics.MemberKind @@ -63,7 +62,7 @@ abstract class SignatureCollectingClassBuilderFactory( return super.newField(origin, access, name, desc, signature, value) } - override fun newMethod(origin: JvmDeclarationOrigin, access: Int, name: String, desc: String, signature: String?, exceptions: JvmMethodExceptionTypes): MethodVisitor { + override fun newMethod(origin: JvmDeclarationOrigin, access: Int, name: String, desc: String, signature: String?, exceptions: Array?): MethodVisitor { signatures.putValue(RawSignature(name, desc, MemberKind.METHOD), origin) if (!shouldGenerate(origin)) { return AbstractClassBuilder.EMPTY_METHOD_VISITOR diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/coroutines/CoroutineTransformer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/coroutines/CoroutineTransformer.kt index 28bd49ec25c..d36a2719e05 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/coroutines/CoroutineTransformer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/coroutines/CoroutineTransformer.kt @@ -195,7 +195,7 @@ fun surroundInvokesWithSuspendMarkersIfNeeded(node: MethodNode) { val sourceFrames = MethodTransformer.analyze("fake", node, CapturedLambdaInterpreter()) val loads = markers.map { marker -> val arity = (marker.next as MethodInsnNode).owner.removePrefix(NUMBERED_FUNCTION_PREFIX).toInt() - var receiver = sourceFrames[node.instructions.indexOf(marker) + 1].getSource(arity) + var receiver = sourceFrames[node.instructions.indexOf(marker) + 1]?.getSource(arity) // Navigate the ALOAD+GETFIELD+... chain to the first instruction. We need to insert a stack // spilling marker before it starts. while (receiver?.opcode == Opcodes.GETFIELD) { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationClassBuilder.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationClassBuilder.kt index 6b02f8129ad..1562f5adfa7 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationClassBuilder.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationClassBuilder.kt @@ -33,7 +33,7 @@ class OptimizationClassBuilder(private val delegate: ClassBuilder, private val g name: String, desc: String, signature: String?, - exceptions: Array? + exceptions: Array? ): MethodVisitor { return OptimizationMethodVisitor( super.newMethod(origin, access, name, desc, signature, exceptions), diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationMethodVisitor.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationMethodVisitor.kt index 7567da7040d..025f05c9af9 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationMethodVisitor.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationMethodVisitor.kt @@ -40,7 +40,7 @@ class OptimizationMethodVisitor( name: String, desc: String, signature: String?, - exceptions: Array? + exceptions: Array? ) : TransformationMethodVisitor(delegate, access, name, desc, signature, exceptions) { val normalizationMethodTransformer = CompositeMethodTransformer( InplaceArgumentsMethodTransformer(), diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/transformer/MethodTransformer.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/transformer/MethodTransformer.java index a62b00911de..55ace3883eb 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/transformer/MethodTransformer.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/transformer/MethodTransformer.java @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.codegen.optimization.transformer; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.codegen.optimization.common.FastMethodAnalyzer; import org.jetbrains.kotlin.utils.ExceptionUtilsKt; import org.jetbrains.org.objectweb.asm.tree.MethodNode; diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JvmMethodExceptionTypes.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JvmMethodExceptionTypes.kt deleted file mode 100644 index ee6e1762506..00000000000 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JvmMethodExceptionTypes.kt +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * 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.codegen.state - -typealias JvmMethodExceptionTypes = Array? \ No newline at end of file diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/SignatureDumpingBuilderFactory.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/SignatureDumpingBuilderFactory.kt index e5e1579e5e2..1094119a53a 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/SignatureDumpingBuilderFactory.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/SignatureDumpingBuilderFactory.kt @@ -83,7 +83,7 @@ class SignatureDumpingBuilderFactory( super.defineClass(origin, version, access, name, signature, superName, interfaces) } - override fun newMethod(origin: JvmDeclarationOrigin, access: Int, name: String, desc: String, signature: String?, exceptions: JvmMethodExceptionTypes): MethodVisitor { + override fun newMethod(origin: JvmDeclarationOrigin, access: Int, name: String, desc: String, signature: String?, exceptions: Array?): MethodVisitor { signatures += RawSignature(name, desc, MemberKind.METHOD) to origin.descriptor?.let { if (it is CallableDescriptor) it.unwrapInitialDescriptorForSuspendFunction() else it } diff --git a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index d9ebe21e51d..8c1a65f2fa8 100644 --- a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -168,7 +168,7 @@ class KotlinCoreEnvironment private constructor( with(project) { registerService( CoreJavaFileManager::class.java, - ServiceManager.getService(this, JavaFileManager::class.java) as CoreJavaFileManager + this.getService(JavaFileManager::class.java) as CoreJavaFileManager ) registerKotlinLightClassSupport(project) @@ -199,7 +199,7 @@ class KotlinCoreEnvironment private constructor( sourceFiles.sortBy { it.virtualFile.path } - val javaFileManager = ServiceManager.getService(project, CoreJavaFileManager::class.java) as KotlinCliJavaFileManagerImpl + val javaFileManager = project.getService(CoreJavaFileManager::class.java) as KotlinCliJavaFileManagerImpl val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY) diff --git a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/MockExternalAnnotationsManager.kt b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/MockExternalAnnotationsManager.kt index c352086207c..55611dc4776 100644 --- a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/MockExternalAnnotationsManager.kt +++ b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/MockExternalAnnotationsManager.kt @@ -59,4 +59,6 @@ class MockExternalAnnotationsManager : ExternalAnnotationsManager() { override fun findDefaultConstructorExternalAnnotations(aClass: PsiClass): List = emptyList() override fun findExternalAnnotations(listOwner: PsiModifierListOwner, annotationFQN: String): List = emptyList() + + override fun hasConfiguredAnnotationRoot(owner: PsiModifierListOwner): Boolean = false } diff --git a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/CtSymClassVirtualFile.kt b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/CtSymClassVirtualFile.kt index fd23b51defa..50cb02773ff 100644 --- a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/CtSymClassVirtualFile.kt +++ b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/CtSymClassVirtualFile.kt @@ -41,7 +41,7 @@ class CtSymClassVirtualFile( override fun refresh(p0: Boolean, p1: Boolean, p2: Runnable?) = file.refresh(p0, p1, p2) - override fun getInputStream(): InputStream? = file.inputStream + override fun getInputStream(): InputStream = file.inputStream override fun getFileType(): FileType = JavaClassFileType.INSTANCE diff --git a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/CtSymDirectoryContainer.kt b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/CtSymDirectoryContainer.kt index 6509ce6ed29..1b9e05baebd 100644 --- a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/CtSymDirectoryContainer.kt +++ b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/CtSymDirectoryContainer.kt @@ -81,5 +81,5 @@ class CtSymDirectoryContainer( override fun refresh(p0: Boolean, p1: Boolean, p2: Runnable?) {} - override fun getInputStream(): InputStream? = error("not supported") + override fun getInputStream(): InputStream = error("not supported") } diff --git a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/javaVersionUtils.kt b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/javaVersionUtils.kt index bd6a4a9a1b4..00f375e5a09 100644 --- a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/javaVersionUtils.kt +++ b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/modules/javaVersionUtils.kt @@ -5,8 +5,8 @@ package org.jetbrains.kotlin.cli.jvm.modules -import com.intellij.openapi.util.SystemInfo +import com.intellij.util.lang.JavaVersion fun isAtLeastJava9(): Boolean { - return SystemInfo.isJavaVersionAtLeast(9, 0, 0) + return JavaVersion.current() >= JavaVersion.compose(9) } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt index a1a8e7a67bc..255ce27c533 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.cli.jvm.compiler.pipeline import com.intellij.core.CoreJavaFileManager import com.intellij.ide.highlighter.JavaFileType import com.intellij.openapi.Disposable -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.StandardFileSystems import com.intellij.openapi.vfs.VirtualFile @@ -482,7 +481,7 @@ fun createProjectEnvironment( val project = projectEnvironment.project val localFileSystem = VirtualFileManager.getInstance().getFileSystem(StandardFileSystems.FILE_PROTOCOL) - val javaFileManager = ServiceManager.getService(project, CoreJavaFileManager::class.java) as KotlinCliJavaFileManagerImpl + val javaFileManager = project.getService(CoreJavaFileManager::class.java) as KotlinCliJavaFileManagerImpl val releaseTarget = configuration.get(JVMConfigurationKeys.JDK_RELEASE) diff --git a/compiler/fir/analysis-tests/build.gradle.kts b/compiler/fir/analysis-tests/build.gradle.kts index 4fde90cd890..b714c139258 100644 --- a/compiler/fir/analysis-tests/build.gradle.kts +++ b/compiler/fir/analysis-tests/build.gradle.kts @@ -35,7 +35,7 @@ dependencies { testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) testRuntimeOnly(commonDependency("one.util:streamex")) - testRuntimeOnly(commonDependency("net.java.dev.jna:jna")) + testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.jna:jna")) testRuntimeOnly(toolsJar()) } diff --git a/compiler/fir/fir2ir/build.gradle.kts b/compiler/fir/fir2ir/build.gradle.kts index dedaaf60358..2fc37714c1a 100644 --- a/compiler/fir/fir2ir/build.gradle.kts +++ b/compiler/fir/fir2ir/build.gradle.kts @@ -39,7 +39,7 @@ dependencies { testCompileOnly(intellijCore()) testRuntimeOnly(intellijCore()) - testRuntimeOnly(commonDependency("net.java.dev.jna:jna")) + testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.jna:jna")) testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) testRuntimeOnly(commonDependency("one.util:streamex")) diff --git a/compiler/frontend.common-psi/src/org/jetbrains/kotlin/analyzer/KotlinModificationTrackerService.kt b/compiler/frontend.common-psi/src/org/jetbrains/kotlin/analyzer/KotlinModificationTrackerService.kt index 80d625d2599..f261cc3f7a0 100644 --- a/compiler/frontend.common-psi/src/org/jetbrains/kotlin/analyzer/KotlinModificationTrackerService.kt +++ b/compiler/frontend.common-psi/src/org/jetbrains/kotlin/analyzer/KotlinModificationTrackerService.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analyzer -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.util.ModificationTracker import org.jetbrains.kotlin.psi.KtFile @@ -20,7 +19,7 @@ open class KotlinModificationTrackerService { @JvmStatic fun getInstance(project: Project): KotlinModificationTrackerService { - return ServiceManager.getService(project, KotlinModificationTrackerService::class.java) ?: NEVER_CHANGE_TRACKER_SERVICE + return project.getService(KotlinModificationTrackerService::class.java) ?: NEVER_CHANGE_TRACKER_SERVICE } } } \ No newline at end of file diff --git a/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/KotlinBinaryClassCache.kt b/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/KotlinBinaryClassCache.kt index 20a8e335dac..a275b322aba 100644 --- a/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/KotlinBinaryClassCache.kt +++ b/compiler/frontend.common.jvm/src/org/jetbrains/kotlin/load/kotlin/KotlinBinaryClassCache.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.load.kotlin import com.intellij.ide.highlighter.JavaClassFileType import com.intellij.openapi.Disposable import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.util.Computable import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.PsiJavaModule @@ -79,7 +78,7 @@ class KotlinBinaryClassCache : Disposable { if (file.name == PsiJavaModule.MODULE_INFO_CLS_FILE) return null - val service = ServiceManager.getService(KotlinBinaryClassCache::class.java) + val service = ApplicationManager.getApplication().getService(KotlinBinaryClassCache::class.java) val requestCache = service.cache.get() if (file.modificationStamp == requestCache.modificationStamp && file == requestCache.virtualFile) { diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/VirtualFileFinderFactory.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/VirtualFileFinderFactory.kt index 70523170947..4f10869a1c9 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/VirtualFileFinderFactory.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/VirtualFileFinderFactory.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.load.kotlin -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.descriptors.ModuleDescriptor @@ -27,6 +26,6 @@ interface VirtualFileFinderFactory : MetadataFinderFactory { companion object SERVICE { fun getInstance(project: Project): VirtualFileFinderFactory = - ServiceManager.getService(project, VirtualFileFinderFactory::class.java) + project.getService(VirtualFileFinderFactory::class.java) } } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/moduleVisibilityUtils.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/moduleVisibilityUtils.kt index de31f74e230..f3b7450b168 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/moduleVisibilityUtils.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/moduleVisibilityUtils.kt @@ -16,12 +16,10 @@ package org.jetbrains.kotlin.load.kotlin -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.StandardFileSystems import com.intellij.openapi.vfs.VfsUtilCore import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.load.kotlin.VirtualFileKotlinClass import org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaPackageFragment import org.jetbrains.kotlin.modules.Module import org.jetbrains.kotlin.resolve.DescriptorUtils @@ -39,7 +37,7 @@ interface ModuleVisibilityManager { object SERVICE { @JvmStatic fun getInstance(project: Project): ModuleVisibilityManager = - ServiceManager.getService(project, ModuleVisibilityManager::class.java) + project.getService(ModuleVisibilityManager::class.java) } } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModuleResolver.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModuleResolver.kt index 9c6a20d9852..ce280d5ca03 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModuleResolver.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModuleResolver.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.resolve.jvm.modules -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile import org.jetbrains.kotlin.load.java.JavaModuleAnnotationsProvider @@ -32,6 +31,6 @@ interface JavaModuleResolver : JavaModuleAnnotationsProvider { } companion object SERVICE { - fun getInstance(project: Project): JavaModuleResolver = ServiceManager.getService(project, JavaModuleResolver::class.java) + fun getInstance(project: Project): JavaModuleResolver = project.getService(JavaModuleResolver::class.java) } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt index 114fad487de..1bdfa8667a9 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.analyzer.common -import com.intellij.openapi.components.ServiceManager import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.analyzer.* import org.jetbrains.kotlin.config.LanguageFeature @@ -276,8 +275,7 @@ private fun createContainerToResolveCommonCode( configureCommonSpecificComponents() useInstance(metadataPartProvider) - val metadataFinderFactory = ServiceManager.getService( - moduleContext.project, + val metadataFinderFactory = moduleContext.project.getService( MetadataFinderFactory::class.java ) ?: error("No MetadataFinderFactory in project") diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/CodeAnalyzerInitializer.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/CodeAnalyzerInitializer.kt index a8d1c72a2ee..390989ddee0 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/CodeAnalyzerInitializer.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/CodeAnalyzerInitializer.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.resolve -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project interface CodeAnalyzerInitializer { @@ -24,7 +23,7 @@ interface CodeAnalyzerInitializer { companion object { fun getInstance(project: Project): CodeAnalyzerInitializer = - ServiceManager.getService(project, CodeAnalyzerInitializer::class.java)!! + project.getService(CodeAnalyzerInitializer::class.java)!! } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LanguageVersionSettingsProvider.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LanguageVersionSettingsProvider.kt index 8c8c13da3f5..bb7f747a94e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LanguageVersionSettingsProvider.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LanguageVersionSettingsProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.resolve -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.descriptors.ModuleDescriptor @@ -16,6 +15,6 @@ interface LanguageVersionSettingsProvider { companion object { fun getInstance(project: Project): LanguageVersionSettingsProvider? = - ServiceManager.getService(project, LanguageVersionSettingsProvider::class.java) + project.getService(LanguageVersionSettingsProvider::class.java) } } \ No newline at end of file diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModuleAnnotationsResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModuleAnnotationsResolver.kt index b1148ff9275..694a4f892b8 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModuleAnnotationsResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModuleAnnotationsResolver.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.resolve -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.name.ClassId @@ -19,6 +18,6 @@ interface ModuleAnnotationsResolver { companion object { fun getInstance(project: Project): ModuleAnnotationsResolver = - ServiceManager.getService(project, ModuleAnnotationsResolver::class.java) + project.getService(ModuleAnnotationsResolver::class.java) } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/util/callUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/util/callUtil.kt index aea7b16935e..8705cc91e1b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/util/callUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/util/callUtil.kt @@ -154,7 +154,7 @@ fun KtElement.getCall(context: BindingContext): Call? { } fun KtElement.getParentCall(context: BindingContext, strict: Boolean = true): Call? { - val callExpressionTypes = arrayOf?>( + val callExpressionTypes = arrayOf( KtSimpleNameExpression::class.java, KtCallElement::class.java, KtBinaryExpression::class.java, KtUnaryExpression::class.java, KtArrayAccessExpression::class.java ) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/diagnostics/DiagnosticsElementsCache.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/diagnostics/DiagnosticsElementsCache.java index d08282e9a46..b478c130040 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/diagnostics/DiagnosticsElementsCache.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/diagnostics/DiagnosticsElementsCache.java @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.resolve.diagnostics; -import com.intellij.openapi.util.AtomicNotNullLazyValue; +import com.intellij.openapi.util.NotNullLazyValue; import com.intellij.psi.PsiElement; import com.intellij.util.containers.MultiMap; import kotlin.collections.CollectionsKt; @@ -32,17 +32,13 @@ public class DiagnosticsElementsCache { private final Diagnostics diagnostics; private final Function1 filter; - private final AtomicNotNullLazyValue> elementToDiagnostic = new AtomicNotNullLazyValue>() { - @NotNull - @Override - protected MultiMap compute() { - return buildElementToDiagnosticCache(diagnostics, filter); - } - }; + private final NotNullLazyValue> elementToDiagnostic; public DiagnosticsElementsCache(Diagnostics diagnostics, Function1 filter) { this.diagnostics = diagnostics; this.filter = filter; + + elementToDiagnostic = NotNullLazyValue.atomicLazy(() -> buildElementToDiagnosticCache(this.diagnostics, this.filter)); } @NotNull diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/declarations/DeclarationProviderFactoryService.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/declarations/DeclarationProviderFactoryService.kt index d6fde89c425..06c22506e90 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/declarations/DeclarationProviderFactoryService.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/declarations/DeclarationProviderFactoryService.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.resolve.lazy.declarations -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.search.DelegatingGlobalSearchScope @@ -45,7 +44,7 @@ abstract class DeclarationProviderFactoryService { moduleContentScope: GlobalSearchScope, moduleInfo: ModuleInfo ): DeclarationProviderFactory { - return ServiceManager.getService(project, DeclarationProviderFactoryService::class.java)!! + return project.getService(DeclarationProviderFactoryService::class.java)!! .create(project, storageManager, syntheticFiles, filteringScope(syntheticFiles, moduleContentScope), moduleInfo) } diff --git a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt index b442c5a4a08..7bd77868a6a 100644 --- a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt +++ b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.javac -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.StandardFileSystems import com.intellij.openapi.vfs.VirtualFile @@ -74,7 +73,7 @@ class JavacWrapper( private val jarFileSystem = VirtualFileManager.getInstance().getFileSystem(StandardFileSystems.JAR_PROTOCOL)!! companion object { - fun getInstance(project: Project): JavacWrapper = ServiceManager.getService(project, JavacWrapper::class.java) + fun getInstance(project: Project): JavacWrapper = project.getService(JavacWrapper::class.java) } private fun createCommonClassifierType(classId: ClassId) = diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassGenerationSupport.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassGenerationSupport.kt index 3e2b5361d42..cb84765146f 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassGenerationSupport.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassGenerationSupport.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.asJava -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import org.jetbrains.kotlin.asJava.classes.* import org.jetbrains.kotlin.config.AnalysisFlags @@ -71,7 +70,7 @@ abstract class LightClassGenerationSupport { companion object { @JvmStatic fun getInstance(project: Project): LightClassGenerationSupport { - return ServiceManager.getService(project, LightClassGenerationSupport::class.java) + return project.getService(LightClassGenerationSupport::class.java) } } } diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinFileType.java b/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinFileType.java index 065d01ce24b..fc37b52b585 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinFileType.java +++ b/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinFileType.java @@ -26,13 +26,7 @@ public class KotlinFileType extends LanguageFileType { public static final String EXTENSION = "kt"; public static final KotlinFileType INSTANCE = new KotlinFileType(); - private final NotNullLazyValue myIcon = new NotNullLazyValue() { - @NotNull - @Override - protected Icon compute() { - return KotlinIconProviderService.getInstance().getFileIcon(); - } - }; + private final NotNullLazyValue myIcon = NotNullLazyValue.lazy(() -> KotlinIconProviderService.getInstance().getFileIcon()); private KotlinFileType() { super(KotlinLanguage.INSTANCE); diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinIconProviderService.java b/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinIconProviderService.java index 51725fe9454..0271a00ddd1 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinIconProviderService.java +++ b/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinIconProviderService.java @@ -5,6 +5,8 @@ package org.jetbrains.kotlin.idea; +import com.intellij.openapi.application.Application; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.components.ServiceManager; import com.intellij.psi.PsiModifierListOwner; import org.jetbrains.annotations.NotNull; @@ -35,7 +37,7 @@ public abstract class KotlinIconProviderService { } public static KotlinIconProviderService getInstance() { - KotlinIconProviderService service = ServiceManager.getService(KotlinIconProviderService.class); + KotlinIconProviderService service = ApplicationManager.getApplication().getService(KotlinIconProviderService.class); return service != null ? service : new CompilerKotlinFileIconProviderService(); } } diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinModuleFileType.java b/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinModuleFileType.java index 897006e71d8..03625919e01 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinModuleFileType.java +++ b/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinModuleFileType.java @@ -28,13 +28,7 @@ public class KotlinModuleFileType implements FileType { public static final String EXTENSION = "kotlin_module"; public static final KotlinModuleFileType INSTANCE = new KotlinModuleFileType(); - private final NotNullLazyValue myIcon = new NotNullLazyValue() { - @NotNull - @Override - protected Icon compute() { - return KotlinIconProviderService.getInstance().getFileIcon(); - } - }; + private final NotNullLazyValue myIcon = NotNullLazyValue.lazy(() -> KotlinIconProviderService.getInstance().getFileIcon()); private KotlinModuleFileType() {} diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationStub.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationStub.java index 1c68c04ef8e..8c574bf6e7d 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationStub.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationStub.java @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.psi; import com.intellij.lang.ASTNode; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.components.ServiceManager; import com.intellij.psi.PsiElement; import com.intellij.psi.stubs.IStubElementType; @@ -68,14 +69,14 @@ public abstract class KtDeclarationStub> extends KtModi @Override public PsiElement getOriginalElement() { - KotlinDeclarationNavigationPolicy navigationPolicy = ServiceManager.getService(KotlinDeclarationNavigationPolicy.class); + KotlinDeclarationNavigationPolicy navigationPolicy = ApplicationManager.getApplication().getService(KotlinDeclarationNavigationPolicy.class); return navigationPolicy != null ? navigationPolicy.getOriginalElement(this) : this; } @NotNull @Override public PsiElement getNavigationElement() { - KotlinDeclarationNavigationPolicy navigationPolicy = ServiceManager.getService(KotlinDeclarationNavigationPolicy.class); + KotlinDeclarationNavigationPolicy navigationPolicy = ApplicationManager.getApplication().getService(KotlinDeclarationNavigationPolicy.class); return navigationPolicy != null ? navigationPolicy.getNavigationElement(this) : this; } } diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtFile.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFile.kt index 525eb88e942..be1f23ed0fb 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtFile.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFile.kt @@ -17,7 +17,6 @@ package org.jetbrains.kotlin.psi import com.intellij.extapi.psi.PsiFileBase -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.fileTypes.FileType import com.intellij.openapi.vfs.VirtualFileWithId import com.intellij.psi.* @@ -206,7 +205,7 @@ open class KtFile(viewProvider: FileViewProvider, val isCompiled: Boolean) : } override fun getClasses(): Array { - val fileClassProvider = ServiceManager.getService(project, KtFileClassProvider::class.java) + val fileClassProvider = project.getService(KtFileClassProvider::class.java) return fileClassProvider?.getFileClasses(this) ?: PsiClass.EMPTY_ARRAY } diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/StubIndexService.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/StubIndexService.kt index 030d818c4bd..db70761f81d 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/StubIndexService.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/StubIndexService.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.psi.stubs.elements -import com.intellij.openapi.components.ServiceManager +import com.intellij.openapi.application.ApplicationManager import com.intellij.psi.stubs.IndexSink import com.intellij.psi.stubs.StubInputStream import com.intellij.psi.stubs.StubOutputStream @@ -74,7 +74,7 @@ open class StubIndexService protected constructor() { companion object { @JvmStatic fun getInstance(): StubIndexService { - return ServiceManager.getService(StubIndexService::class.java) ?: NO_INDEX + return ApplicationManager.getApplication().getService(StubIndexService::class.java) ?: NO_INDEX } private val NO_INDEX = StubIndexService() diff --git a/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/resolve/jvm/KotlinJavaPsiFacade.java b/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/resolve/jvm/KotlinJavaPsiFacade.java index 2b290ef90c1..10a3c48b85c 100644 --- a/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/resolve/jvm/KotlinJavaPsiFacade.java +++ b/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/resolve/jvm/KotlinJavaPsiFacade.java @@ -17,7 +17,6 @@ package org.jetbrains.kotlin.resolve.jvm; import com.intellij.openapi.Disposable; -import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; @@ -87,7 +86,7 @@ public class KotlinJavaPsiFacade implements Disposable { private final LightModifierList emptyModifierList; public static KotlinJavaPsiFacade getInstance(Project project) { - return ServiceManager.getService(project, KotlinJavaPsiFacade.class); + return project.getService(KotlinJavaPsiFacade.class); } public KotlinJavaPsiFacade(@NotNull Project project) { @@ -322,7 +321,7 @@ public class KotlinJavaPsiFacade implements Disposable { @NotNull private static JavaFileManager findJavaFileManager(@NotNull Project project) { - JavaFileManager javaFileManager = ServiceManager.getService(project, JavaFileManager.class); + JavaFileManager javaFileManager = project.getService(JavaFileManager.class); if (javaFileManager == null) { throw new IllegalStateException("JavaFileManager component is not found in project"); } diff --git a/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/test/util/KtTestUtil.java b/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/test/util/KtTestUtil.java index e4f265aa7de..91a1fcfcac2 100644 --- a/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/test/util/KtTestUtil.java +++ b/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/test/util/KtTestUtil.java @@ -29,6 +29,7 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.Method; +import java.nio.charset.StandardCharsets; import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; @@ -72,7 +73,7 @@ public class KtTestUtil { shortName = shortName.substring(shortName.lastIndexOf('\\') + 1); LightVirtualFile virtualFile = new LightVirtualFile(shortName, KotlinLanguage.INSTANCE, StringUtilRt.convertLineSeparators(text)); - virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET); + virtualFile.setCharset(StandardCharsets.UTF_8); PsiFileFactoryImpl factory = (PsiFileFactoryImpl) PsiFileFactory.getInstance(project); //noinspection ConstantConditions return (KtFile) factory.trySetupPsiForFile(virtualFile, KotlinLanguage.INSTANCE, true, false); diff --git a/compiler/test-infrastructure/build.gradle.kts b/compiler/test-infrastructure/build.gradle.kts index 702bf9b55a0..7e09a5c82ef 100644 --- a/compiler/test-infrastructure/build.gradle.kts +++ b/compiler/test-infrastructure/build.gradle.kts @@ -12,7 +12,7 @@ dependencies { testImplementation(projectTests(":compiler:test-infrastructure-utils")) - testRuntimeOnly(commonDependency("net.java.dev.jna:jna")) + testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.jna:jna")) } optInToExperimentalCompilerApi() diff --git a/compiler/tests-common-new/build.gradle.kts b/compiler/tests-common-new/build.gradle.kts index a46021e9690..e3c8b469a57 100644 --- a/compiler/tests-common-new/build.gradle.kts +++ b/compiler/tests-common-new/build.gradle.kts @@ -32,7 +32,7 @@ dependencies { */ testApi(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) testApi(commonDependency("one.util:streamex")) - testApi(commonDependency("net.java.dev.jna:jna")) + testApi(commonDependency("org.jetbrains.intellij.deps.jna:jna")) testApi(jpsModel()) { isTransitive = false } testApi(jpsModelImpl()) { isTransitive = false } testApi(intellijJavaRt()) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/configuration/JvmEnvironmentConfigurator.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/configuration/JvmEnvironmentConfigurator.kt index 0b2a29585e2..76d20355466 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/configuration/JvmEnvironmentConfigurator.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/configuration/JvmEnvironmentConfigurator.kt @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.test.services.configuration import com.intellij.ide.highlighter.JavaFileType -import com.intellij.openapi.util.SystemInfo import com.intellij.psi.PsiJavaModule.MODULE_INFO_FILE +import com.intellij.util.lang.JavaVersion import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig import org.jetbrains.kotlin.backend.jvm.jvmPhases import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys @@ -135,7 +135,7 @@ class JvmEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfig TestJdkKind.FULL_JDK_6 -> File(System.getenv("JDK_16") ?: error("Environment variable JDK_16 is not set")) TestJdkKind.FULL_JDK_11 -> KtTestUtil.getJdk11Home() TestJdkKind.FULL_JDK_17 -> KtTestUtil.getJdk17Home() - TestJdkKind.FULL_JDK -> if (SystemInfo.IS_AT_LEAST_JAVA9) File(System.getProperty("java.home")) else null + TestJdkKind.FULL_JDK -> if (JavaVersion.current() >= JavaVersion.compose(9)) File(System.getProperty("java.home")) else null TestJdkKind.ANDROID_API -> null } diff --git a/compiler/tests-common/build.gradle.kts b/compiler/tests-common/build.gradle.kts index f5023340d46..c264e95b0a8 100644 --- a/compiler/tests-common/build.gradle.kts +++ b/compiler/tests-common/build.gradle.kts @@ -67,7 +67,7 @@ dependencies { */ testApi(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) testApi(commonDependency("one.util:streamex")) - testApi(commonDependency("net.java.dev.jna:jna")) + testApi(commonDependency("org.jetbrains.intellij.deps.jna:jna")) testApi(jpsModel()) { isTransitive = false } testApi(jpsModelImpl()) { isTransitive = false } testApi(intellijJavaRt()) diff --git a/compiler/tests-common/tests/com/intellij/execution/configurations/ParametersList.java b/compiler/tests-common/tests/com/intellij/execution/configurations/ParametersList.java index 631b31268b4..5aa3bc46c08 100644 --- a/compiler/tests-common/tests/com/intellij/execution/configurations/ParametersList.java +++ b/compiler/tests-common/tests/com/intellij/execution/configurations/ParametersList.java @@ -378,7 +378,7 @@ public final class ParametersList implements Cloneable { } Map env = EnvironmentUtil.getEnvironmentMap(); for (String name : env.keySet()) { - ContainerUtil.putIfAbsent(name, env.get(name), map); + map.putIfAbsent(name, env.get(name)); } return map; } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java b/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java index f5dd5416863..f1b4ce857c5 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java @@ -8,13 +8,13 @@ package org.jetbrains.kotlin.test; import com.google.common.collect.Lists; import com.intellij.openapi.Disposable; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.CharsetToolkit; import com.intellij.psi.PsiElement; import com.intellij.rt.execution.junit.FileComparisonFailure; import com.intellij.testFramework.TestDataFile; +import com.intellij.util.lang.JavaVersion; import junit.framework.TestCase; import kotlin.Unit; import kotlin.collections.CollectionsKt; @@ -197,7 +197,7 @@ public class KotlinTestUtils { else if (jdkKind == TestJdkKind.FULL_JDK_17) { configuration.put(JVMConfigurationKeys.JDK_HOME, KtTestUtil.getJdk17Home()); } - else if (SystemInfo.IS_AT_LEAST_JAVA9) { + else if (JavaVersion.current().compareTo(JavaVersion.compose(9)) >= 0) { configuration.put(JVMConfigurationKeys.JDK_HOME, new File(System.getProperty("java.home"))); } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/test/testFramework/KtUsefulTestCase.java b/compiler/tests-common/tests/org/jetbrains/kotlin/test/testFramework/KtUsefulTestCase.java index a98b1c91118..6705ae6db96 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/test/testFramework/KtUsefulTestCase.java +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/test/testFramework/KtUsefulTestCase.java @@ -9,7 +9,7 @@ import com.intellij.openapi.Disposable; import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.PathManager; -import com.intellij.openapi.application.impl.ApplicationInfoImpl; +import com.intellij.openapi.application.ex.ApplicationManagerEx; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.JDOMUtil; @@ -159,7 +159,7 @@ public abstract class KtUsefulTestCase extends TestCase { } boolean isStressTest = isStressTest(); - ApplicationInfoImpl.setInStressTest(isStressTest); + ApplicationManagerEx.setInStressTest(isStressTest); Registry.getInstance().markAsLoaded(); // turn off Disposer debugging for performance tests Disposer.setDebugMode(!isStressTest); diff --git a/compiler/tests-java8/tests/org/jetbrains/kotlin/jvm/repl/ReplCompilerJava8Test.kt b/compiler/tests-java8/tests/org/jetbrains/kotlin/jvm/repl/ReplCompilerJava8Test.kt index 96bb2719883..95cb29ab5d3 100644 --- a/compiler/tests-java8/tests/org/jetbrains/kotlin/jvm/repl/ReplCompilerJava8Test.kt +++ b/compiler/tests-java8/tests/org/jetbrains/kotlin/jvm/repl/ReplCompilerJava8Test.kt @@ -44,7 +44,7 @@ private const val library = "inline fun foo(fn: () -> T): T = fn()" private const val script = "import foo\nval x = foo { 0 }" class ReplCompilerJava8Test : KtUsefulTestCase() { - private var tmpdir: File? = null + private lateinit var tmpdir: File override fun setUp() { super.setUp() @@ -54,8 +54,8 @@ class ReplCompilerJava8Test : KtUsefulTestCase() { val configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.ALL, TestJdkKind.FULL_JDK).apply { put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, PrintingMessageCollector(System.out, MessageRenderer.WITHOUT_PATHS, false)) - addKotlinSourceRoot(tmpdir!!.absolutePath) - put(JVMConfigurationKeys.OUTPUT_DIRECTORY, tmpdir!!) + addKotlinSourceRoot(tmpdir.absolutePath) + put(JVMConfigurationKeys.OUTPUT_DIRECTORY, tmpdir) put(JVMConfigurationKeys.JVM_TARGET, JvmTarget.JVM_1_8) loadScriptingPlugin(this) } diff --git a/compiler/tests/org/jetbrains/kotlin/cli/jvm/KotlinCliJavaFileManagerTest.kt b/compiler/tests/org/jetbrains/kotlin/cli/jvm/KotlinCliJavaFileManagerTest.kt index 275d5915a0f..65e39c03427 100644 --- a/compiler/tests/org/jetbrains/kotlin/cli/jvm/KotlinCliJavaFileManagerTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/cli/jvm/KotlinCliJavaFileManagerTest.kt @@ -17,7 +17,6 @@ package org.jetbrains.kotlin.cli.jvm import com.intellij.core.CoreJavaFileManager -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.vfs.StandardFileSystems import com.intellij.psi.search.GlobalSearchScope import junit.framework.TestCase @@ -28,8 +27,6 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.cli.jvm.index.JavaRoot import org.jetbrains.kotlin.cli.jvm.index.JvmDependenciesIndexImpl import org.jetbrains.kotlin.cli.jvm.index.SingleJavaFileRootsIndex -import org.jetbrains.kotlin.config.LanguageFeature -import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.load.java.structure.impl.JavaClassImpl import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder import org.jetbrains.kotlin.name.ClassId @@ -202,7 +199,7 @@ class KotlinCliJavaFileManagerTest : KotlinTestWithEnvironment() { @Suppress("UNUSED_VARIABLE") // used to implicitly initialize classpath/index in the manager val coreJavaFileFinder = VirtualFileFinder.SERVICE.getInstance(project) - val coreJavaFileManager = ServiceManager.getService(project, CoreJavaFileManager::class.java) as KotlinCliJavaFileManagerImpl + val coreJavaFileManager = project.getService(CoreJavaFileManager::class.java) as KotlinCliJavaFileManagerImpl val root = StandardFileSystems.local().findFileByPath(javaFilesDir.path)!! coreJavaFileManager.initialize( diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/KotlinClassFinderTest.kt b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/KotlinClassFinderTest.kt index 88bc75034d5..17e9e807a0a 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/KotlinClassFinderTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/KotlinClassFinderTest.kt @@ -69,7 +69,7 @@ class KotlinClassFinderTest : KotlinTestWithEnvironmentManagement() { assertEquals("test/A.B.C", binaryClass.classId.toString()) } - private fun createEnvironment(tmpdir: File?): KotlinCoreEnvironment { + private fun createEnvironment(tmpdir: File): KotlinCoreEnvironment { return KotlinCoreEnvironment.createForTests( testRootDisposable, KotlinTestUtils.newConfiguration(ConfigurationKind.ALL, TestJdkKind.MOCK_JDK, tmpdir), diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/KotlinJavacBasedClassFinderTest.kt b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/KotlinJavacBasedClassFinderTest.kt index dd4110a1d9e..66b32c5f4ae 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/KotlinJavacBasedClassFinderTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/KotlinJavacBasedClassFinderTest.kt @@ -89,7 +89,7 @@ class KotlinJavacBasedClassFinderTest : KotlinTestWithEnvironmentManagement() { javaSearchScopeField.set(this, GlobalSearchScope.allScope(project)) } - private fun createEnvironment(tmpdir: File?, files: List = emptyList()): KotlinCoreEnvironment { + private fun createEnvironment(tmpdir: File, files: List = emptyList()): KotlinCoreEnvironment { return KotlinCoreEnvironment.createForTests( testRootDisposable, KotlinTestUtils.newConfiguration(ConfigurationKind.ALL, TestJdkKind.MOCK_JDK, tmpdir), diff --git a/compiler/util/src/org/jetbrains/kotlin/extensions/ApplicationExtensionDescriptor.kt b/compiler/util/src/org/jetbrains/kotlin/extensions/ApplicationExtensionDescriptor.kt index 8943e52ea62..0a015d7afff 100644 --- a/compiler/util/src/org/jetbrains/kotlin/extensions/ApplicationExtensionDescriptor.kt +++ b/compiler/util/src/org/jetbrains/kotlin/extensions/ApplicationExtensionDescriptor.kt @@ -17,7 +17,8 @@ open class ApplicationExtensionDescriptor(name: String, private val ext ApplicationManager.getApplication().extensionArea.registerExtensionPoint( extensionPointName.name, extensionClass.name, - ExtensionPoint.Kind.INTERFACE + ExtensionPoint.Kind.INTERFACE, + false ) } diff --git a/compiler/util/src/org/jetbrains/kotlin/extensions/ProjectExtensionDescriptor.kt b/compiler/util/src/org/jetbrains/kotlin/extensions/ProjectExtensionDescriptor.kt index 53f77b1ccde..aed9e197018 100644 --- a/compiler/util/src/org/jetbrains/kotlin/extensions/ProjectExtensionDescriptor.kt +++ b/compiler/util/src/org/jetbrains/kotlin/extensions/ProjectExtensionDescriptor.kt @@ -16,7 +16,8 @@ open class ProjectExtensionDescriptor(name: String, private val extensi project.extensionArea.registerExtensionPoint( extensionPointName.name, extensionClass.name, - ExtensionPoint.Kind.INTERFACE + ExtensionPoint.Kind.INTERFACE, + false ) } diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/KotlinPaths.kt b/compiler/util/src/org/jetbrains/kotlin/utils/KotlinPaths.kt index bd436f30111..f32e816f1af 100644 --- a/compiler/util/src/org/jetbrains/kotlin/utils/KotlinPaths.kt +++ b/compiler/util/src/org/jetbrains/kotlin/utils/KotlinPaths.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.utils import java.io.File import java.lang.IllegalStateException -import com.intellij.openapi.util.SystemInfo +import com.intellij.util.lang.JavaVersion interface KotlinPaths { val homePath: File @@ -115,8 +115,8 @@ interface KotlinPaths { Empty(), StdLib(Jar.StdLib, gen = { when { - SystemInfo.isJavaVersionAtLeast(1, 8, 0) -> listOf(Jar.StdLibJdk7, Jar.StdLibJdk8) - SystemInfo.isJavaVersionAtLeast(1, 7, 0) -> listOf(Jar.StdLibJdk7) + JavaVersion.current() >= JavaVersion.compose(8) -> listOf(Jar.StdLibJdk7, Jar.StdLibJdk8) + JavaVersion.current() >= JavaVersion.compose(7) -> listOf(Jar.StdLibJdk7) else -> emptyList() } }), diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt b/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt index cb1827302e1..5d30e29e485 100644 --- a/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt +++ b/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt @@ -21,6 +21,7 @@ import com.intellij.openapi.application.PathManager import org.jetbrains.jps.model.java.impl.JavaSdkUtil import java.io.File +import java.nio.file.Paths import java.util.regex.Pattern object PathUtil { @@ -178,15 +179,15 @@ object PathUtil { @JvmStatic fun getJdkClassesRootsFromJre(javaHome: String): List = - JavaSdkUtil.getJdkClassesRoots(File(javaHome), true) + JavaSdkUtil.getJdkClassesRoots(Paths.get(javaHome), true).map { it.toFile() } @JvmStatic fun getJdkClassesRoots(jdkHome: File): List = - JavaSdkUtil.getJdkClassesRoots(jdkHome, false) + JavaSdkUtil.getJdkClassesRoots(jdkHome.toPath(), false).map { it.toFile() } @JvmStatic fun getJdkClassesRootsFromJdkOrJre(javaRoot: File): List { val isJdk = File(javaRoot, "jre/lib").exists() - return JavaSdkUtil.getJdkClassesRoots(javaRoot, !isJdk) + return JavaSdkUtil.getJdkClassesRoots(javaRoot.toPath(), !isJdk).map { it.toFile() } } } diff --git a/compiler/visualizer/build.gradle.kts b/compiler/visualizer/build.gradle.kts index 20c9e83491a..bd3e9ca87b7 100644 --- a/compiler/visualizer/build.gradle.kts +++ b/compiler/visualizer/build.gradle.kts @@ -20,7 +20,7 @@ dependencies { testImplementation(projectTests(":generators:test-generator")) testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) - testRuntimeOnly(commonDependency("net.java.dev.jna:jna")) + testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.jna:jna")) } val generationRoot = projectDir.resolve("tests-gen") diff --git a/dependencies/intellij-core/build.gradle.kts b/dependencies/intellij-core/build.gradle.kts index b04449088c5..7ee069bdeb9 100644 --- a/dependencies/intellij-core/build.gradle.kts +++ b/dependencies/intellij-core/build.gradle.kts @@ -23,13 +23,12 @@ dependencies { api("com.jetbrains.intellij.platform:util-rt:$intellijVersion") { isTransitive = false } api("com.jetbrains.intellij.platform:util-class-loader:$intellijVersion") { isTransitive = false } api("com.jetbrains.intellij.platform:util-text-matching:$intellijVersion") { isTransitive = false } - api("com.jetbrains.intellij.platform:util-diagnostic:$intellijVersion") { isTransitive = false } api("com.jetbrains.intellij.platform:util:$intellijVersion") { isTransitive = false } + api("com.jetbrains.intellij.platform:util-base:$intellijVersion") { isTransitive = false } + api("com.jetbrains.intellij.platform:util-xml-dom:$intellijVersion") { isTransitive = false } api("com.jetbrains.intellij.platform:core:$intellijVersion") { isTransitive = false } api("com.jetbrains.intellij.platform:core-impl:$intellijVersion") { isTransitive = false } api("com.jetbrains.intellij.platform:extensions:$intellijVersion") { isTransitive = false } - api("com.jetbrains.intellij.platform:util-strings:$intellijVersion") { isTransitive = false } - api("com.jetbrains.intellij.platform:util-collections:$intellijVersion") { isTransitive = false } api("com.jetbrains.intellij.java:java-psi:$intellijVersion") { isTransitive = false } api("com.jetbrains.intellij.java:java-psi-impl:$intellijVersion") { isTransitive = false } } \ No newline at end of file diff --git a/gradle/versions.properties b/gradle/versions.properties index bd76b3f8970..1aa3a550796 100644 --- a/gradle/versions.properties +++ b/gradle/versions.properties @@ -1,19 +1,20 @@ -versions.intellijSdk=203.8084.24 +versions.intellijSdk=213.7172.25 # versions.* should match library versions used in IDEA from versions.intellijSdk versions.annotations=21.0 versions.asm-all=9.0 versions.commons-lang=2.4 +versions.aalto-xml=1.3.0 versions.gradle-api=4.5.1 versions.groovy-xml=2.5.11 versions.groovy=2.5.11 versions.gson=2.8.9 versions.guava=29.0-jre -versions.intellij-deps-fastutil=8.4.1-4 +versions.intellij-deps-fastutil=8.5.4-9 versions.jdom=2.0.6 -versions.jna-platform=5.6.0 -versions.jna=5.6.0 +versions.jna-platform=5.9.0.26 +versions.jna=5.9.0.26 versions.junit-bom=5.9.1 versions.log4j=1.2.17.2 versions.lz4-java=1.7.1 @@ -21,6 +22,7 @@ versions.org.junit.platform=1.7.0 versions.oro=2.0.8 versions.serviceMessages=2019.1.4 versions.shadow=7.1.2 +versions.stax2-api=4.2.1 versions.streamex=0.7.2 versions.trove4j=1.0.20200330 versions.lombok=1.18.16 diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt index 461c68592d6..99db1563c11 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt @@ -352,7 +352,7 @@ abstract class AbstractLookupTrackerTest : TestWithWorkingDir() { class TestLookupTracker : LookupTracker { val lookups = arrayListOf() - private val interner = Interner.createStringInterner() + private val interner = Interner.createStringInterner() override val requiresPosition: Boolean get() = true diff --git a/jps/jps-plugin/src/org/jetbrains/jps/builders/java/dependencyView/NullabilityAnnotationsTracker.kt b/jps/jps-plugin/src/org/jetbrains/jps/builders/java/dependencyView/NullabilityAnnotationsTracker.kt index cca87b2b52a..db9ac48d91a 100644 --- a/jps/jps-plugin/src/org/jetbrains/jps/builders/java/dependencyView/NullabilityAnnotationsTracker.kt +++ b/jps/jps-plugin/src/org/jetbrains/jps/builders/java/dependencyView/NullabilityAnnotationsTracker.kt @@ -30,8 +30,8 @@ internal class NullabilityAnnotationsTracker : AnnotationsChangeTracker() { .toTypedArray() override fun methodAnnotationsChanged( - context: DependencyContext, - method: MethodRepr, + context: NamingContext, + method: ProtoMethodEntity, annotationsDiff: Difference.Specifier, paramAnnotationsDiff: Difference.Specifier ): Set { @@ -43,7 +43,7 @@ internal class NullabilityAnnotationsTracker : AnnotationsChangeTracker() { override fun fieldAnnotationsChanged( context: NamingContext, - field: FieldRepr, + field: ProtoFieldEntity, annotationsDiff: Difference.Specifier ): Set { return handleNullAnnotationsChanges(context, field, annotationsDiff.addedOrRemoved()) @@ -51,7 +51,7 @@ internal class NullabilityAnnotationsTracker : AnnotationsChangeTracker() { private fun handleNullAnnotationsChanges( context: NamingContext, - protoMember: ProtoMember, + protoMember: ProtoEntity, annotations: Sequence ): Set { val n = this.annotations.size diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinResourcesRootProvider.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinResourcesRootProvider.kt index d8e6024f4a8..18775bc68ed 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinResourcesRootProvider.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinResourcesRootProvider.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.jps.build +import com.intellij.openapi.util.io.FileFilters import org.jetbrains.jps.builders.AdditionalRootsProviderService import org.jetbrains.jps.builders.BuildTarget import org.jetbrains.jps.builders.java.ResourceRootDescriptor @@ -34,7 +35,8 @@ class KotlinResourcesRootProvider : AdditionalRootsProviderService -) : JavaSourceRootDescriptor(root, target, isGenerated, isTemp, packagePrefix, excludes) \ No newline at end of file +) : JavaSourceRootDescriptor(root, target, isGenerated, isTemp, packagePrefix, excludes, FileFilters.EVERYTHING) \ No newline at end of file diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinJvmModuleBuildTarget.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinJvmModuleBuildTarget.kt index 4ebfb408d79..af2a1b70752 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinJvmModuleBuildTarget.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinJvmModuleBuildTarget.kt @@ -381,7 +381,7 @@ class KotlinJvmModuleBuildTarget(kotlinContext: KotlinCompileContext, jpsModuleB if (!cache.isMultifileFacade(className)) return emptySet() val name = previousMappings.getName(className.internalName) - return previousMappings.getClassSources(name)?.toSet() ?: emptySet() + return previousMappings.getClassSources(name).toSet() } for ((target, outputs) in outputItems) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/KaptConfig.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/KaptConfig.kt index be0c0146f8d..2873a22e677 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/KaptConfig.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/KaptConfig.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.gradle.tasks.configuration -import com.intellij.openapi.util.SystemInfo +import com.intellij.util.lang.JavaVersion import org.gradle.api.Project import org.gradle.api.attributes.Attribute import org.gradle.api.file.FileCollection @@ -24,10 +24,10 @@ import org.jetbrains.kotlin.gradle.internal.kapt.incremental.CLASS_STRUCTURE_ART import org.jetbrains.kotlin.gradle.internal.kapt.incremental.StructureTransformAction import org.jetbrains.kotlin.gradle.internal.kapt.incremental.StructureTransformLegacyAction import org.jetbrains.kotlin.gradle.plugin.* -import org.jetbrains.kotlin.gradle.utils.markResolvable import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.toCompilerPluginOptions import org.jetbrains.kotlin.gradle.utils.listProperty +import org.jetbrains.kotlin.gradle.utils.markResolvable import java.io.File import java.util.concurrent.Callable @@ -125,7 +125,7 @@ internal open class KaptConfig( if ("-source" in result || "--source" in result || "--release" in result) return@also if (defaultJavaSourceCompatibility.isPresent) { - val atLeast12Java = SystemInfo.isJavaVersionAtLeast(12, 0, 0) + val atLeast12Java = JavaVersion.current().compareTo(JavaVersion.compose(12, 0, 0, 0, false)) >= 0 val sourceOptionKey = if (atLeast12Java) { "--source" } else { diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/utils/Interner.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/utils/Interner.kt index 4ffc0b54df6..9e26da4540e 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/utils/Interner.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/utils/Interner.kt @@ -5,10 +5,11 @@ package org.jetbrains.kotlin.commonizer.utils -import com.intellij.util.containers.OpenTHashSet +import com.intellij.util.containers.HashSetInterner + class Interner { - private val pool = OpenTHashSet() + private val pool = HashSetInterner() - fun intern(value: T): T = pool.getOrAdd(value) + fun intern(value: T): T = pool.intern(value) } diff --git a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/res/CliAndroidPackageFragmentProviderExtension.kt b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/res/CliAndroidPackageFragmentProviderExtension.kt index 0896c89d18c..cc777e5411f 100644 --- a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/res/CliAndroidPackageFragmentProviderExtension.kt +++ b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/res/CliAndroidPackageFragmentProviderExtension.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.android.synthetic.res -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analyzer.ModuleInfo @@ -24,6 +23,6 @@ class CliAndroidPackageFragmentProviderExtension(private val isExperimental: Boo override fun isExperimental(moduleInfo: ModuleInfo?): Boolean = isExperimental override fun getLayoutXmlFileManager(project: Project, moduleInfo: ModuleInfo?): AndroidLayoutXmlFileManager? { - return ServiceManager.getService(project, AndroidLayoutXmlFileManager::class.java) + return project.getService(AndroidLayoutXmlFileManager::class.java) } } \ No newline at end of file diff --git a/plugins/fir-plugin-prototype/build.gradle.kts b/plugins/fir-plugin-prototype/build.gradle.kts index 0ebdc953811..26b8aec61d3 100644 --- a/plugins/fir-plugin-prototype/build.gradle.kts +++ b/plugins/fir-plugin-prototype/build.gradle.kts @@ -31,7 +31,7 @@ dependencies { testRuntimeOnly(project(":core:descriptors.runtime")) testRuntimeOnly(project(":compiler:fir:fir-serialization")) - testRuntimeOnly(commonDependency("net.java.dev.jna:jna")) + testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.jna:jna")) testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps:jdom")) testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps:trove4j")) testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) diff --git a/plugins/fir-plugin-prototype/fir-plugin-ic-test/build.gradle.kts b/plugins/fir-plugin-prototype/fir-plugin-ic-test/build.gradle.kts index 6fc426a64cf..e9191b959fc 100644 --- a/plugins/fir-plugin-prototype/fir-plugin-ic-test/build.gradle.kts +++ b/plugins/fir-plugin-prototype/fir-plugin-ic-test/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { testRuntimeOnly(project(":compiler:fir:fir-serialization")) testRuntimeOnly(commonDependency("org.lz4:lz4-java")) - testRuntimeOnly(commonDependency("net.java.dev.jna:jna")) + testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.jna:jna")) testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps:jdom")) testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps:trove4j")) testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/KotlinScriptDefinitionProvider.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/KotlinScriptDefinitionProvider.kt index 9d37d5c69d9..0c209374151 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/KotlinScriptDefinitionProvider.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/KotlinScriptDefinitionProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.scripting.definitions -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import kotlin.script.experimental.api.SourceCode @@ -25,7 +24,7 @@ interface ScriptDefinitionProvider { companion object { fun getInstance(project: Project): ScriptDefinitionProvider? = - ServiceManager.getService(project, ScriptDefinitionProvider::class.java) + project.getService(ScriptDefinitionProvider::class.java) fun getServiceIfCreated(project: Project): ScriptDefinitionProvider? = project.getServiceIfCreated(ScriptDefinitionProvider::class.java) diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptDependenciesProvider.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptDependenciesProvider.kt index 19353b6d193..770484037c7 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptDependenciesProvider.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptDependenciesProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.scripting.definitions -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.PsiFile @@ -49,6 +48,6 @@ open class ScriptDependenciesProvider constructor( companion object { fun getInstance(project: Project): ScriptDependenciesProvider? = - ServiceManager.getService(project, ScriptDependenciesProvider::class.java) + project.getService(ScriptDependenciesProvider::class.java) } } diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/resolve/refineCompilationConfiguration.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/resolve/refineCompilationConfiguration.kt index e51f38e454b..e11386710ea 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/resolve/refineCompilationConfiguration.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/resolve/refineCompilationConfiguration.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.scripting.scriptFileName import org.jetbrains.kotlin.scripting.withCorrectExtension import java.io.File import java.net.URL +import java.nio.charset.StandardCharsets import kotlin.reflect.KClass import kotlin.script.experimental.api.* import kotlin.script.experimental.dependencies.AsyncDependenciesResolver @@ -98,7 +99,7 @@ class ScriptLightVirtualFile(name: String, private val _path: String?, text: Str ) { init { - charset = CharsetToolkit.UTF8_CHARSET + charset = StandardCharsets.UTF_8 } override fun getPath(): String = _path ?: if (parent != null) parent.path + "/" + name else name diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/CliScriptDependenciesProvider.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/CliScriptDependenciesProvider.kt index 4fc65e85f72..4711f2b6805 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/CliScriptDependenciesProvider.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/CliScriptDependenciesProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.scripting.compiler.plugin.definitions -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider @@ -46,7 +45,7 @@ class CliScriptDependenciesProvider(project: Project) : ScriptDependenciesProvid KtFileScriptSource(file), scriptDef, project, providedConfiguration, knownVirtualFileSources ) - ServiceManager.getService(project, ScriptReportSink::class.java)?.attachReports(file.virtualFile, result.reports) + project.getService(ScriptReportSink::class.java)?.attachReports(file.virtualFile, result.reports) cacheLock.write { cache.put(path, result) diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplChecker.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplChecker.kt index dbb2947008b..5ee8d0fc771 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplChecker.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplChecker.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.scripting.compiler.plugin.repl import com.intellij.openapi.Disposable import com.intellij.openapi.util.text.StringUtil -import com.intellij.openapi.vfs.CharsetToolkit import com.intellij.psi.PsiFileFactory import com.intellij.psi.impl.PsiFileFactoryImpl import com.intellij.testFramework.LightVirtualFile @@ -28,6 +27,7 @@ import org.jetbrains.kotlin.scripting.compiler.plugin.repl.messages.ConsoleDiagn import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinition import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition +import java.nio.charset.StandardCharsets import kotlin.concurrent.write import kotlin.script.experimental.host.ScriptingHostConfiguration import kotlin.script.experimental.host.configurationDependencies @@ -76,7 +76,7 @@ open class GenericReplChecker( KotlinLanguage.INSTANCE, StringUtil.convertLineSeparators(codeLine.code) ).apply { - charset = CharsetToolkit.UTF8_CHARSET + charset = StandardCharsets.UTF_8 } val psiFile: KtFile = psiFileFactory.trySetupPsiForFile(virtualFile, KotlinLanguage.INSTANCE, true, false) as KtFile? ?: error("Script file not analyzed at line ${codeLine.no}: ${codeLine.code}") diff --git a/prepare/compiler-embeddable/build.gradle.kts b/prepare/compiler-embeddable/build.gradle.kts index 153c3ca7c17..a0fcf81e8b2 100644 --- a/prepare/compiler-embeddable/build.gradle.kts +++ b/prepare/compiler-embeddable/build.gradle.kts @@ -27,9 +27,7 @@ dependencies { runtimeOnly(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false } runtimeOnly(project(":kotlin-daemon-embeddable")) runtimeOnly(commonDependency("org.jetbrains.intellij.deps", "trove4j")) - Platform[203].orHigher { - runtimeOnly(commonDependency("net.java.dev.jna", "jna")) - } + runtimeOnly(commonDependency("org.jetbrains.intellij.deps.jna", "jna")) testApi(commonDependency("junit:junit")) testApi(project(":kotlin-test:kotlin-test-junit")) testCompilationClasspath(kotlinStdlib()) diff --git a/prepare/compiler/build.gradle.kts b/prepare/compiler/build.gradle.kts index 20984a5b4ab..67e7a881dc3 100644 --- a/prepare/compiler/build.gradle.kts +++ b/prepare/compiler/build.gradle.kts @@ -136,10 +136,11 @@ configurations.all { } dependencies { - api(kotlinStdlib()) + api(kotlinStdlib("jdk8")) api(project(":kotlin-script-runtime")) api(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false } api(commonDependency("org.jetbrains.intellij.deps", "trove4j")) + api(commonDependency("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) proguardLibraries(project(":kotlin-annotations-jvm")) @@ -207,12 +208,15 @@ dependencies { fatJarContents(commonDependency("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm")) { isTransitive = false } fatJarContents(intellijCore()) - fatJarContents(commonDependency("net.java.dev.jna:jna-platform")) { isTransitive = false } + fatJarContents(commonDependency("org.jetbrains.intellij.deps.jna:jna")) { isTransitive = false } + fatJarContents(commonDependency("org.jetbrains.intellij.deps.jna:jna-platform")) { isTransitive = false } fatJarContents(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) { isTransitive = false } fatJarContents(commonDependency("org.lz4:lz4-java")) { isTransitive = false } fatJarContents(commonDependency("org.jetbrains.intellij.deps:asm-all")) { isTransitive = false } fatJarContents(commonDependency("com.google.guava:guava")) { isTransitive = false } - fatJarContents(commonDependency("net.java.dev.jna:jna")) { isTransitive = false } + + fatJarContents(commonDependency("com.fasterxml:aalto-xml")) { isTransitive = false } + fatJarContents(commonDependency("org.codehaus.woodstox:stax2-api")) { isTransitive = false } fatJarContentsStripServices(jpsModel()) { isTransitive = false } fatJarContentsStripServices(jpsModelImpl()) { isTransitive = false }