diff --git a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmark.kt b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmark.kt index 736cdce6613..d0c0652209b 100644 --- a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmark.kt +++ b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmark.kt @@ -24,6 +24,9 @@ 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 -> diff --git a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmarkForGivenPath.kt b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmarkForGivenPath.kt index 85129407ba6..ec06da30d8a 100644 --- a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/AbstractBenchmarkForGivenPath.kt +++ b/compiler/fir/lightTree/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) } + forEachFile { text, file -> generator.generateFir(text, file, stubMode) } } } \ No newline at end of file diff --git a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/createdFiles/AbstractKotlinBenchmark.kt b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/createdFiles/AbstractKotlinBenchmark.kt index ec5dd87c29a..3cfdde514da 100644 --- a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/createdFiles/AbstractKotlinBenchmark.kt +++ b/compiler/fir/lightTree/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) + generator.generateFir(text, file, stubMode) } } 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 54a719d90c5..d90ef8e5aa5 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 @@ -16,25 +16,20 @@ import java.io.File @State(Scope.Benchmark) open class LightTree2FirGenerator : TreeGenerator, AbstractRawFirBuilderTestCase() { - private lateinit var lightTreeConverter: LightTree2Fir - override fun generateBaseTree(text: String, file: File) { + val lightTreeConverter = LightTree2Fir(false, myProject) val lightTree = lightTreeConverter.buildLightTree(text) DebugUtil.lightTreeToString(lightTree, false) } - override fun generateFir(text: String, file: File) { + override fun generateFir(text: String, file: File, stubMode: Boolean) { + val lightTreeConverter = LightTree2Fir(stubMode, myProject) val firFile = lightTreeConverter.buildFirFile(text, file.name) StringBuilder().also { FirRenderer(it).visitFile(firFile) }.toString() } - private fun createConverter() { - lightTreeConverter = LightTree2Fir(true, myProject) - } - override fun setUp() { super.setUp() - createConverter() } override fun tearDown() { diff --git a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/Psi2FirGenerator.kt b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/Psi2FirGenerator.kt index d2def304463..de9050f02d2 100644 --- a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/Psi2FirGenerator.kt +++ b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/Psi2FirGenerator.kt @@ -22,9 +22,9 @@ open class Psi2FirGenerator : TreeGenerator, AbstractRawFirBuilderTestCase() { DebugUtil.psiTreeToString(ktFile, false) } - override fun generateFir(text: String, file: File) { + override fun generateFir(text: String, file: File, stubMode: Boolean) { val ktFile = createPsiFile(FileUtil.getNameWithoutExtension(PathUtil.getFileName(file.path)), text) as KtFile - val firFile = ktFile.toFirFile(stubMode = true) + val firFile = ktFile.toFirFile(stubMode) StringBuilder().also { FirRenderer(it).visitFile(firFile) }.toString() } diff --git a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/TreeGenerator.kt b/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/TreeGenerator.kt index 0c59f7b8635..ec67f22fb0e 100644 --- a/compiler/fir/lightTree/tests/org/jetbrains/kotlin/fir/lightTree/benchmark/generators/TreeGenerator.kt +++ b/compiler/fir/lightTree/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) + fun generateFir(text: String, file: File, stubMode: Boolean) fun setUp() fun tearDown() } \ No newline at end of file