From 0a811bdd1a8407ce2f2acd7e2de48e5a9c9db1f3 Mon Sep 17 00:00:00 2001 From: Andrey Zinovyev Date: Tue, 20 Apr 2021 14:47:09 +0300 Subject: [PATCH] [FIR][LT] Don't store lexer in static context --- .../org/jetbrains/kotlin/fir/lightTree/LightTree2Fir.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/LightTree2Fir.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/LightTree2Fir.kt index f5b1d2c7a5c..b34d9bc68db 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/LightTree2Fir.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/LightTree2Fir.kt @@ -11,7 +11,6 @@ import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.vfs.CharsetToolkit import com.intellij.util.diff.FlyweightCapableTreeStructure import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.PrivateSessionConstructor import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.lightTree.converter.DeclarationsConverter import org.jetbrains.kotlin.fir.scopes.FirScopeProvider @@ -30,17 +29,17 @@ class LightTree2Fir( companion object { private val parserDefinition = KotlinParserDefinition() - private val lexer = KotlinLexer() + private fun makeLexer() = KotlinLexer() fun buildLightTreeBlockExpression(code: String): FlyweightCapableTreeStructure { - val builder = PsiBuilderFactoryImpl().createBuilder(parserDefinition, lexer, code) + val builder = PsiBuilderFactoryImpl().createBuilder(parserDefinition, makeLexer(), code) //KotlinParser.parseBlockExpression(builder) KotlinLightParser.parseBlockExpression(builder) return builder.lightTree } fun buildLightTreeLambdaExpression(code: String): FlyweightCapableTreeStructure { - val builder = PsiBuilderFactoryImpl().createBuilder(parserDefinition, lexer, code) + val builder = PsiBuilderFactoryImpl().createBuilder(parserDefinition, makeLexer(), code) //KotlinParser.parseLambdaExpression(builder) KotlinLightParser.parseLambdaExpression(builder) return builder.lightTree @@ -57,7 +56,7 @@ class LightTree2Fir( } fun buildLightTree(code: String): FlyweightCapableTreeStructure { - val builder = PsiBuilderFactoryImpl().createBuilder(parserDefinition, lexer, code) + val builder = PsiBuilderFactoryImpl().createBuilder(parserDefinition, makeLexer(), code) //KotlinParser(project).parse(null, builder, ktDummyFile) KotlinLightParser.parse(builder) return builder.lightTree