Edit light tree to FIR benchmarks to support off stub mode

This commit is contained in:
Ivan Cilcic
2019-07-22 19:03:27 +03:00
committed by Mikhail Glukhikh
parent c8c37fd86e
commit b5293e7df7
6 changed files with 11 additions and 13 deletions
@@ -24,6 +24,9 @@ abstract class AbstractBenchmark {
private val files = mutableMapOf<File, String>()
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 ->
@@ -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) }
}
}
@@ -53,7 +53,7 @@ abstract class AbstractKotlinBenchmark : AbstractBenchmark() {
@Benchmark
fun testCreatedFiles() {
generator.generateFir(text, file)
generator.generateFir(text, file, stubMode)
}
}
@@ -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() {
@@ -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()
}
@@ -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()
}