From 8cda36ef153f2e4552633784b52e3a51b4b5c91b Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Mon, 7 Oct 2019 19:04:03 +0300 Subject: [PATCH] Fix IdeLightClassTestGenerated tests for idea <= 191 --- .../kotlin/asJava/builder/LightClassBuilder.kt | 9 +++------ .../asJava/builder/stubComputationTracker.kt | 14 ++++++++++++++ .../asJava/builder/stubComputationTracker.kt.191 | 13 +++++++++++++ 3 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/stubComputationTracker.kt create mode 100644 compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/stubComputationTracker.kt.191 diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassBuilder.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassBuilder.kt index 41d0bb8700b..5fd8cd41041 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassBuilder.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassBuilder.kt @@ -16,24 +16,21 @@ package org.jetbrains.kotlin.asJava.builder -import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.progress.ProcessCanceledException import com.intellij.openapi.project.Project import com.intellij.openapi.util.SystemInfo import com.intellij.openapi.vfs.VirtualFile -import com.intellij.psi.PsiElement import com.intellij.psi.impl.compiled.ClsFileImpl import com.intellij.psi.impl.java.stubs.PsiJavaFileStub import com.intellij.psi.impl.java.stubs.impl.PsiJavaFileStubImpl -import com.intellij.psi.impl.source.tree.TreeElement import org.jetbrains.kotlin.codegen.state.GenerationState -import org.jetbrains.kotlin.config.* +import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics -import java.lang.StringBuilder data class LightClassBuilderResult(val stub: PsiJavaFileStub, val bindingContext: BindingContext, val diagnostics: Diagnostics) @@ -68,7 +65,7 @@ fun buildLightClass( val javaFileStub = classBuilderFactory.result() - project.getComponent(StubComputationTracker::class.java)?.onStubComputed(javaFileStub, context) + stubComputationTrackerInstance(project)?.onStubComputed(javaFileStub, context) return LightClassBuilderResult(javaFileStub, context.bindingContext, state.collectedExtraJvmDiagnostics) } catch (e: ProcessCanceledException) { diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/stubComputationTracker.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/stubComputationTracker.kt new file mode 100644 index 00000000000..85874a3a4e8 --- /dev/null +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/stubComputationTracker.kt @@ -0,0 +1,14 @@ +/* + * Copyright 2010-2019 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.asJava.builder + +import com.intellij.openapi.project.Project + +fun stubComputationTrackerInstance(project: Project): StubComputationTracker? { + return project.getComponent(StubComputationTracker::class.java) +} + + diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/stubComputationTracker.kt.191 b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/stubComputationTracker.kt.191 new file mode 100644 index 00000000000..d27a90387ef --- /dev/null +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/stubComputationTracker.kt.191 @@ -0,0 +1,13 @@ +/* + * Copyright 2010-2019 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.asJava.builder + +import com.intellij.openapi.components.ServiceManager +import com.intellij.openapi.project.Project + +fun stubComputationTrackerInstance(project: Project): StubComputationTracker? { + return ServiceManager.getService(project, StubComputationTracker::class.java) +}