FIR: use GeneratorsFileUtil for checkers-component-generator
This commit is contained in:
+3
-3
@@ -24,7 +24,7 @@ class Generator(
|
||||
|
||||
private fun generateAliases() {
|
||||
val filename = "${abstractCheckerName}Aliases.kt"
|
||||
generationPath.resolve(filename).useSmartPrinter {
|
||||
generationPath.resolve(filename).writeToFileUsingSmartPrinterIfFileContentChanged {
|
||||
printPackageAndCopyright()
|
||||
printGeneratedMessage()
|
||||
configuration.aliases.keys
|
||||
@@ -43,7 +43,7 @@ class Generator(
|
||||
|
||||
private fun generateAbstractCheckersComponent() {
|
||||
val filename = "${checkersComponentName}.kt"
|
||||
generationPath.resolve(filename).useSmartPrinter {
|
||||
generationPath.resolve(filename).writeToFileUsingSmartPrinterIfFileContentChanged {
|
||||
printPackageAndCopyright()
|
||||
printImports()
|
||||
printGeneratedMessage()
|
||||
@@ -86,7 +86,7 @@ class Generator(
|
||||
private fun generateComposedComponent() {
|
||||
val composedComponentName = "Composed$checkersComponentName"
|
||||
val filename = "${composedComponentName}.kt"
|
||||
generationPath.resolve(filename).useSmartPrinter {
|
||||
generationPath.resolve(filename).writeToFileUsingSmartPrinterIfFileContentChanged {
|
||||
printPackageAndCopyright()
|
||||
printImports()
|
||||
printGeneratedMessage()
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.fir.checkers.generator.*
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.printCopyright
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.printGeneratedMessage
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.useSmartPrinter
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.writeToFileUsingSmartPrinterIfFileContentChanged
|
||||
import java.io.File
|
||||
import kotlin.reflect.KClass
|
||||
import kotlin.reflect.KType
|
||||
@@ -17,7 +17,7 @@ import kotlin.reflect.KTypeProjection
|
||||
|
||||
object ErrorListDiagnosticListRenderer : DiagnosticListRenderer() {
|
||||
override fun render(file: File, diagnosticList: DiagnosticList, packageName: String) {
|
||||
file.useSmartPrinter {
|
||||
file.writeToFileUsingSmartPrinterIfFileContentChanged {
|
||||
render(diagnosticList, packageName)
|
||||
}
|
||||
}
|
||||
|
||||
+4
-2
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.tree.generator.printer
|
||||
|
||||
import org.jetbrains.kotlin.generators.util.GeneratorsFileUtil
|
||||
import java.io.File
|
||||
import java.lang.Appendable
|
||||
|
||||
@@ -49,6 +50,7 @@ inline fun SmartPrinter.withIndent(block: () -> Unit) {
|
||||
popIndent()
|
||||
}
|
||||
|
||||
inline fun File.useSmartPrinter(block: SmartPrinter.() -> Unit) {
|
||||
writer().use { SmartPrinter(it).block() }
|
||||
inline fun File.writeToFileUsingSmartPrinterIfFileContentChanged(block: SmartPrinter.() -> Unit) {
|
||||
val newText = buildString { SmartPrinter(this).block() }
|
||||
GeneratorsFileUtil.writeFileIfContentChanged(this, newText)
|
||||
}
|
||||
+2
-2
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.checkers.generator.printImports
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.printCopyright
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.printGeneratedMessage
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.useSmartPrinter
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.writeToFileUsingSmartPrinterIfFileContentChanged
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.HLDiagnosticConverter
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.HLDiagnosticList
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.HLDiagnosticParameter
|
||||
@@ -21,7 +21,7 @@ import java.io.File
|
||||
abstract class AbstractDiagnosticsDataClassRenderer : DiagnosticListRenderer() {
|
||||
override fun render(file: File, diagnosticList: DiagnosticList, packageName: String) {
|
||||
val hlDiagnosticsList = HLDiagnosticConverter.convert(diagnosticList)
|
||||
file.useSmartPrinter { render(hlDiagnosticsList, packageName) }
|
||||
file.writeToFileUsingSmartPrinterIfFileContentChanged { render(hlDiagnosticsList, packageName) }
|
||||
}
|
||||
|
||||
private fun SmartPrinter.collectAndPrintImports(diagnosticList: HLDiagnosticList) {
|
||||
|
||||
Reference in New Issue
Block a user