diff --git a/compiler/fir/lightTree/build.gradle.kts b/compiler/fir/lightTree/build.gradle.kts index 1b5b53fd63d..e96bfe73d42 100644 --- a/compiler/fir/lightTree/build.gradle.kts +++ b/compiler/fir/lightTree/build.gradle.kts @@ -2,7 +2,6 @@ import org.ajoberstar.grgit.Grgit plugins { kotlin("jvm") - id("org.jetbrains.intellij") version "0.4.5" //git plugin id("org.ajoberstar.grgit") version "3.1.1" @@ -20,9 +19,7 @@ repositories { } dependencies { - compile("com.jetbrains.intellij.java:java-psi-impl:183.5912.17") - compile("com.jetbrains.intellij.java:java-psi:183.5912.17") - + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "guava", rootProject = rootProject) } compile(project(":compiler:psi")) compile("junit", "junit", "4.4") @@ -95,7 +92,7 @@ val jmhExec by tasks.creating(JavaExec::class) { main = "org.openjdk.jmh.Main" workingDir = rootDir - systemProperty("idea.home.path", project.intellij.localPath) + systemProperty("idea.home.path", project.intellijRootDir().absolutePath) systemProperty("idea.max.intellisense.filesize", 5000 * 1024) configurations.plusAssign(project.configurations["compile"]) } diff --git a/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/LightTree2Fir.kt b/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/LightTree2Fir.kt index fcfab7c2845..1990607b513 100644 --- a/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/LightTree2Fir.kt +++ b/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/LightTree2Fir.kt @@ -6,35 +6,27 @@ package org.jetbrains.kotlin.fir.lightTree import com.intellij.lang.LighterASTNode -import com.intellij.lang.ParserDefinition import com.intellij.lang.impl.PsiBuilderFactoryImpl -import com.intellij.lexer.Lexer import com.intellij.openapi.project.Project import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.vfs.CharsetToolkit -import com.intellij.psi.DummyHolderViewProvider -import com.intellij.psi.PsiManager -import com.intellij.psi.SingleRootFileViewProvider -import com.intellij.psi.impl.PsiManagerEx -import com.intellij.testFramework.LightVirtualFile import com.intellij.util.diff.FlyweightCapableTreeStructure +import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSessionBase import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.lightTree.converter.DeclarationsConverter -import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.lexer.KotlinLexer -import org.jetbrains.kotlin.parsing.KotlinParser import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.jetbrains.kotlin.parsing.MyKotlinParser -import org.jetbrains.kotlin.psi.KtFile import java.io.File import java.nio.file.Path class LightTree2Fir( + private val project: Project, private val stubMode: Boolean, - private val project: Project + private val session: FirSession = object : FirSessionBase(null) {} ) { - private val ktDummyFile = KtFile(SingleRootFileViewProvider(PsiManager.getInstance(project), LightVirtualFile()), false) + //private val ktDummyFile = KtFile(SingleRootFileViewProvider(PsiManager.getInstance(project), LightVirtualFile()), false) companion object { private val parserDefinition = KotlinParserDefinition() @@ -74,7 +66,7 @@ class LightTree2Fir( fun buildFirFile(code: String, fileName: String): FirFile { val lightTree = buildLightTree(code) - return DeclarationsConverter(object : FirSessionBase(null) {}, stubMode, lightTree) + return DeclarationsConverter(session, stubMode, lightTree) .convertFile(lightTree.root, fileName) } } \ No newline at end of file diff --git a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCases.kt b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCases.kt index 22f78153e9e..4f86c51a8d3 100644 --- a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCases.kt +++ b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/LightTree2FirConverterTestCases.kt @@ -8,9 +8,9 @@ package org.jetbrains.kotlin.fir.lightTree import com.intellij.testFramework.TestDataPath import junit.framework.TestCase import org.jetbrains.kotlin.fir.FirRenderer +import org.jetbrains.kotlin.fir.FirSessionBase import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilderTestCase import org.jetbrains.kotlin.fir.render -import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.jetbrains.kotlin.test.JUnit3RunnerWithInners import org.junit.runner.RunWith import java.nio.file.Paths @@ -21,7 +21,7 @@ class LightTree2FirConverterTestCases : AbstractRawFirBuilderTestCase() { private val testDirPath = "compiler/fir/psi2fir/testData/rawBuilder/declarations" private fun executeTest(filePath: String) { - val lightTree2Fir = LightTree2Fir(true, myProject).buildFirFile(Paths.get(filePath)).render() + val lightTree2Fir = LightTree2Fir(myProject, stubMode = true).buildFirFile(Paths.get(filePath)).render() val file = createKtFile(filePath) val firFile = file.toFirFile(stubMode = true) diff --git a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/TotalKotlinTest.kt b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/TotalKotlinTest.kt index 05c6bb39580..8520334bb6e 100644 --- a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/TotalKotlinTest.kt +++ b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/TotalKotlinTest.kt @@ -11,8 +11,8 @@ import com.intellij.psi.impl.DebugUtil import com.intellij.testFramework.TestDataPath import com.intellij.util.PathUtil import org.jetbrains.kotlin.fir.FirRenderer +import org.jetbrains.kotlin.fir.FirSessionBase import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilderTestCase -import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.JUnit3RunnerWithInners import org.junit.runner.RunWith @@ -47,7 +47,7 @@ class TotalKotlinTest : AbstractRawFirBuilderTestCase() { var counter = 0 var time = 0L - val lightTreeConverter = LightTree2Fir(true, myProject) + val lightTreeConverter = LightTree2Fir(myProject, stubMode = true) if (onlyLightTree) println("LightTree generation") else println("Fir from LightTree converter") println("BASE PATH: $path") diff --git a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/LightTree2FirGenerator.kt b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/LightTree2FirGenerator.kt index d90ef8e5aa5..2adcc78dba2 100644 --- a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/LightTree2FirGenerator.kt +++ b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/LightTree2FirGenerator.kt @@ -7,9 +7,9 @@ package org.jetbrains.kotlin.fir.lightTree.benchmark.generators import com.intellij.psi.impl.DebugUtil import org.jetbrains.kotlin.fir.FirRenderer +import org.jetbrains.kotlin.fir.FirSessionBase import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilderTestCase import org.jetbrains.kotlin.fir.lightTree.LightTree2Fir -import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.openjdk.jmh.annotations.Scope import org.openjdk.jmh.annotations.State import java.io.File @@ -17,13 +17,13 @@ import java.io.File @State(Scope.Benchmark) open class LightTree2FirGenerator : TreeGenerator, AbstractRawFirBuilderTestCase() { override fun generateBaseTree(text: String, file: File) { - val lightTreeConverter = LightTree2Fir(false, myProject) + val lightTreeConverter = LightTree2Fir(myProject, stubMode = false) val lightTree = lightTreeConverter.buildLightTree(text) DebugUtil.lightTreeToString(lightTree, false) } override fun generateFir(text: String, file: File, stubMode: Boolean) { - val lightTreeConverter = LightTree2Fir(stubMode, myProject) + val lightTreeConverter = LightTree2Fir(myProject, stubMode) val firFile = lightTreeConverter.buildFirFile(text, file.name) StringBuilder().also { FirRenderer(it).visitFile(firFile) }.toString() } diff --git a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/compare/TreesCompareTest.kt b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/compare/TreesCompareTest.kt index 3105a265ba1..60a06051a12 100644 --- a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/compare/TreesCompareTest.kt +++ b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/compare/TreesCompareTest.kt @@ -11,6 +11,7 @@ import com.intellij.testFramework.TestDataPath import com.intellij.util.PathUtil import junit.framework.TestCase import org.jetbrains.kotlin.fir.FirRenderer +import org.jetbrains.kotlin.fir.FirSessionBase import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilderTestCase import org.jetbrains.kotlin.fir.lightTree.LightTree2Fir import org.jetbrains.kotlin.fir.lightTree.walkTopDown @@ -43,7 +44,7 @@ class TreesCompareTest : AbstractRawFirBuilderTestCase() { } private fun compareAll(stubMode: Boolean) { - val lightTreeConverter = LightTree2Fir(stubMode, myProject) + val lightTreeConverter = LightTree2Fir(myProject, stubMode) compareBase(System.getProperty("user.dir"), withTestData = false) { file -> val text = FileUtil.loadFile(file, CharsetToolkit.UTF8, true).trim() @@ -61,7 +62,7 @@ class TreesCompareTest : AbstractRawFirBuilderTestCase() { } fun testCompareDiagnostics() { - val lightTreeConverter = LightTree2Fir(false, myProject) + val lightTreeConverter = LightTree2Fir(myProject, stubMode = false) compareBase("compiler/testData/diagnostics/tests", withTestData = true) { file -> val notEditedText = FileUtil.loadFile(file, CharsetToolkit.UTF8, true).trim() val text = notEditedText.replace("()|()".toRegex(), "").replaceAfter(".java", "") @@ -128,7 +129,7 @@ class TreesCompareTest : AbstractRawFirBuilderTestCase() { visitLambdaArgumentExpression = visitLambdaArgumentExpression, visitAnonymousObject = visitAnonymousObject ) - val lightTreeConverter = LightTree2Fir(stubMode, myProject) + val lightTreeConverter = LightTree2Fir(myProject, stubMode) compareBase(path, withTestData) { file -> val text = FileUtil.loadFile(file, CharsetToolkit.UTF8, true).trim()