diff --git a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/TotalKotlinTest.kt b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/TotalKotlinTest.kt index 703786b9bca..e31aea624ed 100644 --- a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/TotalKotlinTest.kt +++ b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/TotalKotlinTest.kt @@ -29,7 +29,7 @@ class TotalKotlinTest : AbstractRawFirBuilderTestCase() { if (onlyPsi) { DebugUtil.psiTreeToString(ktFile, false) } else { - val firFile = ktFile.toFirFile(BodyBuildingMode.STUBS) + val firFile = ktFile.toFirFile() StringBuilder().also { FirRenderer(it).visitFile(firFile) }.toString() } } diff --git a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmark.kt b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmark.kt index aea947986e7..3e056ca5a18 100644 --- a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmark.kt +++ b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmark.kt @@ -31,9 +31,6 @@ abstract class AbstractBenchmark { private val files = mutableMapOf() abstract val generator: TreeGenerator - @Param("true", "false") - var stubMode: Boolean = false - protected fun readFiles(ignoreTestData: Boolean, path: String) { println("BASE PATH: $path") val saveText: (File) -> Unit = { file -> @@ -56,4 +53,4 @@ abstract class AbstractBenchmark { protected fun getFilesCount(): Int { return files.size } -} \ No newline at end of file +} diff --git a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmarkForGivenPath.kt b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmarkForGivenPath.kt index ec06da30d8a..54bcc21c366 100644 --- a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmarkForGivenPath.kt +++ b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmarkForGivenPath.kt @@ -30,6 +30,6 @@ abstract class AbstractBenchmarkForGivenPath( @Benchmark fun testBuildFirForGivenPath() { - forEachFile { text, file -> generator.generateFir(text, file, stubMode) } + forEachFile { text, file -> generator.generateFir(text, file) } } -} \ No newline at end of file +} diff --git a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/createdFiles/AbstractKotlinBenchmark.kt b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/createdFiles/AbstractKotlinBenchmark.kt index 3cfdde514da..cee569bc80d 100644 --- a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/createdFiles/AbstractKotlinBenchmark.kt +++ b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/createdFiles/AbstractKotlinBenchmark.kt @@ -53,7 +53,7 @@ abstract class AbstractKotlinBenchmark : AbstractBenchmark() { @Benchmark fun testCreatedFiles() { - generator.generateFir(text, file, stubMode) + generator.generateFir(text, file) } } @@ -61,4 +61,4 @@ open class LightTree2FirKotlinBenchmark(override val generator: TreeGenerator = AbstractKotlinBenchmark() open class Psi2FirKotlinBenchmark(override val generator: TreeGenerator = Psi2FirGenerator()) : - AbstractKotlinBenchmark() \ No newline at end of file + AbstractKotlinBenchmark() diff --git a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/LightTree2FirGenerator.kt b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/LightTree2FirGenerator.kt index ebe18c54dc6..cc512b2c1f7 100644 --- a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/LightTree2FirGenerator.kt +++ b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/LightTree2FirGenerator.kt @@ -26,7 +26,7 @@ open class LightTree2FirGenerator : TreeGenerator, AbstractRawFirBuilderTestCase DebugUtil.lightTreeToString(lightTree, false) } - override fun generateFir(text: String, file: File, stubMode: Boolean) { + override fun generateFir(text: String, file: File) { val lightTreeConverter = LightTree2Fir( session = FirSessionFactory.createEmptySession(), scopeProvider = StubFirScopeProvider diff --git a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/Psi2FirGenerator.kt b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/Psi2FirGenerator.kt index 8ed26d6cf5b..7a21781e51b 100644 --- a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/Psi2FirGenerator.kt +++ b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/Psi2FirGenerator.kt @@ -10,7 +10,6 @@ import com.intellij.psi.impl.DebugUtil import com.intellij.util.PathUtil import org.jetbrains.kotlin.fir.FirRenderer import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilderTestCase -import org.jetbrains.kotlin.fir.builder.BodyBuildingMode import org.jetbrains.kotlin.psi.KtFile import org.openjdk.jmh.annotations.Scope import org.openjdk.jmh.annotations.State @@ -23,9 +22,9 @@ open class Psi2FirGenerator : TreeGenerator, AbstractRawFirBuilderTestCase() { DebugUtil.psiTreeToString(ktFile, false) } - override fun generateFir(text: String, file: File, stubMode: Boolean) { + override fun generateFir(text: String, file: File) { val ktFile = createPsiFile(FileUtil.getNameWithoutExtension(PathUtil.getFileName(file.path)), text) as KtFile - val firFile = ktFile.toFirFile(BodyBuildingMode.stubs(stubMode)) + val firFile = ktFile.toFirFile() StringBuilder().also { FirRenderer(it).visitFile(firFile) }.toString() } @@ -36,4 +35,4 @@ open class Psi2FirGenerator : TreeGenerator, AbstractRawFirBuilderTestCase() { override fun tearDown() { super.tearDown() } -} \ No newline at end of file +} diff --git a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/TreeGenerator.kt b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/TreeGenerator.kt index ec67f22fb0e..18af5e229aa 100644 --- a/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/TreeGenerator.kt +++ b/compiler/fir/raw-fir/light-tree2fir/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/TreeGenerator.kt @@ -9,7 +9,7 @@ import java.io.File interface TreeGenerator { fun generateBaseTree(text: String, file: File) - fun generateFir(text: String, file: File, stubMode: Boolean) + fun generateFir(text: String, file: File) fun setUp() fun tearDown() -} \ No newline at end of file +} diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index 31b7b514d7f..6b10624f997 100644 --- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -474,7 +474,6 @@ open class RawFirBuilder( mode == BodyBuildingMode.LAZY_BODIES -> buildLazyExpression { source = this@toFirBackingField?.initializer?.toFirSourceElement() } - mode == BodyBuildingMode.STUBS -> buildExpressionStub() else -> this@toFirBackingField?.initializer.toFirExpression("Should have initializer") } val returnType = this?.returnTypeReference.toFirOrImplicitType() @@ -1450,7 +1449,6 @@ open class RawFirBuilder( mode == BodyBuildingMode.LAZY_BODIES -> buildLazyExpression { source = initializer?.toFirSourceElement() } - mode == BodyBuildingMode.STUBS -> buildExpressionStub() else -> initializer.toFirExpression("Should have initializer") } @@ -1538,7 +1536,6 @@ open class RawFirBuilder( if (hasDelegate()) { fun extractDelegateExpression() = when (mode) { BodyBuildingMode.NORMAL -> this@toFirProperty.delegate?.expression.toFirExpression("Should have delegate") - BodyBuildingMode.STUBS -> buildExpressionStub() BodyBuildingMode.LAZY_BODIES -> this@toFirProperty.delegate?.expression?.let { buildLazyExpression { source = it.toFirSourceElement() } } ?: buildErrorExpression { @@ -2442,11 +2439,6 @@ enum class BodyBuildingMode { */ NORMAL, - /** - * Build [org.jetbrains.kotlin.fir.expressions.impl.FirExpressionStub] for expressions - */ - STUBS, - /** * Build [org.jetbrains.kotlin.fir.expressions.impl.FirLazyBlock] for function bodies, constructors & getters/setters * Build [org.jetbrains.kotlin.fir.expressions.impl.FirLazyExpression] for property initializers diff --git a/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderTotalKotlinTestCase.kt b/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderTotalKotlinTestCase.kt index 4708822946b..5ee1045ddbc 100644 --- a/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderTotalKotlinTestCase.kt +++ b/compiler/fir/raw-fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/RawFirBuilderTotalKotlinTestCase.kt @@ -32,7 +32,7 @@ import kotlin.system.measureNanoTime @RunWith(JUnit3RunnerWithInners::class) class RawFirBuilderTotalKotlinTestCase : AbstractRawFirBuilderTestCase() { - private fun testTotalKotlinWithGivenMode(stubMode: Boolean) { + fun testTotalKotlinWithExpressionTrees() { val root = File(testDataPath) var counter = 0 var time = 0L @@ -63,7 +63,7 @@ class RawFirBuilderTotalKotlinTestCase : AbstractRawFirBuilderTestCase() { val ktFile = createKtFile(file.toRelativeString(root)) val firFile: FirFile time += measureNanoTime { - firFile = ktFile.toFirFile(BodyBuildingMode.stubs(stubMode)) + firFile = ktFile.toFirFile() } totalLength += StringBuilder().also { FirRenderer(it).visitFile(firFile) }.length counter++ @@ -93,9 +93,7 @@ class RawFirBuilderTotalKotlinTestCase : AbstractRawFirBuilderTestCase() { when (expression) { is FirExpressionStub -> { expressionStubs++ - if (!stubMode) { - println(expression.psi?.text) - } + println(expression.psi?.text) } else -> normalExpressions++ } @@ -160,22 +158,12 @@ class RawFirBuilderTotalKotlinTestCase : AbstractRawFirBuilderTestCase() { println("KT EXPRESSIONS: $ktExpressions") println("KT DECLARATIONS: $ktDeclarations") println("KT REFERENCES: $ktReferences") - if (!stubMode) { - assertEquals("# of expression stubs", 0, expressionStubs) - } + assertEquals("# of expression stubs", 0, expressionStubs) assertEquals("# of error expressions", 0, errorExpressions) assertEquals("# of error declarations", 0, errorDeclarations) assertEquals("# of error references", 0, errorReferences) } - fun testTotalKotlinWithExpressionTrees() { - testTotalKotlinWithGivenMode(stubMode = false) - } - - fun testTotalKotlinWithDeclarationsOnly() { - testTotalKotlinWithGivenMode(stubMode = true) - } - private fun testConsistency(checkConsistency: FirFile.() -> Unit) { val root = File(testDataPath) for (file in root.walkTopDown()) { diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/KtDeclarationAndFirDeclarationEqualityChecker.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/KtDeclarationAndFirDeclarationEqualityChecker.kt index f7a3836df30..4ad0a95aaad 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/KtDeclarationAndFirDeclarationEqualityChecker.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/KtDeclarationAndFirDeclarationEqualityChecker.kt @@ -137,7 +137,7 @@ object KtDeclarationAndFirDeclarationEqualityChecker { createEmptySession(), DummyScopeProvider, psiMode = PsiHandlingMode.IDE, - bodyBuildingMode = BodyBuildingMode.STUBS + bodyBuildingMode = BodyBuildingMode.NORMAL ).buildTypeReference(this) }