From b5619dbf370702a5e64977f20b0006e18ed06458 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 15 Feb 2021 11:02:15 +0300 Subject: [PATCH] [FIR] Add ability to render node levels in CFG graph dumper --- .../kotlin/test/directives/FirDiagnosticsDirectives.kt | 5 +++++ .../kotlin/test/frontend/fir/handlers/FirCfgDumpHandler.kt | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/FirDiagnosticsDirectives.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/FirDiagnosticsDirectives.kt index 05a4249f885..573669b1c09 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/FirDiagnosticsDirectives.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/FirDiagnosticsDirectives.kt @@ -17,6 +17,11 @@ object FirDiagnosticsDirectives : SimpleDirectivesContainer() { applicability = Global ) + val RENDERER_CFG_LEVELS by directive( + description = "Render leves of nodes in CFG dump", + applicability = Global + ) + val FIR_DUMP by directive( description = """ Dumps resulting fir to `testName.fir` file diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgDumpHandler.kt index 164d4a1880b..ed1389beb31 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirCfgDumpHandler.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.test.frontend.fir.handlers import org.jetbrains.kotlin.fir.resolve.dfa.cfg.FirControlFlowGraphRenderVisitor import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives +import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.RENDERER_CFG_LEVELS import org.jetbrains.kotlin.test.directives.model.DirectivesContainer import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact import org.jetbrains.kotlin.test.model.TestModule @@ -24,7 +25,8 @@ class FirCfgDumpHandler(testServices: TestServices) : FirAnalysisHandler(testSer override fun processModule(module: TestModule, info: FirOutputArtifact) { if (alreadyDumped || FirDiagnosticsDirectives.DUMP_CFG !in module.directives) return val file = info.firFiles.values.first() - file.accept(FirControlFlowGraphRenderVisitor(builder)) + val renderLevels = RENDERER_CFG_LEVELS in module.directives + file.accept(FirControlFlowGraphRenderVisitor(builder, renderLevels)) alreadyDumped = true }