Move SmartPrinter to :core:compiler.common
This commit is contained in:
committed by
TeamCityServer
parent
24ba581910
commit
4299794de2
+3
@@ -6,6 +6,9 @@
|
||||
package org.jetbrains.kotlin.fir.checkers.generator
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.*
|
||||
import org.jetbrains.kotlin.fir.tree.generator.util.writeToFileUsingSmartPrinterIfFileContentChanged
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.withIndent
|
||||
import java.io.File
|
||||
|
||||
private typealias Alias = String
|
||||
|
||||
+17
-17
@@ -5,27 +5,27 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.checkers.generator
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
|
||||
private object ImportPrinter {
|
||||
fun SmartPrinter.printImports(imports: Collection<String>) {
|
||||
val importsToPrint = imports.filterNot { it.isDefaultImport() }.distinct().sorted()
|
||||
for (import in importsToPrint) {
|
||||
println("import $import")
|
||||
}
|
||||
}
|
||||
fun SmartPrinter.printImports(imports: Collection<String>) {
|
||||
val importsToPrint = imports.filterNot { it.isDefaultImport() }.distinct().sorted()
|
||||
for (import in importsToPrint) {
|
||||
println("import $import")
|
||||
}
|
||||
}
|
||||
|
||||
private fun String.isDefaultImport() = substringBeforeLast('.') in defaultImportedPackages
|
||||
private fun String.isDefaultImport() = substringBeforeLast('.') in defaultImportedPackages
|
||||
|
||||
private val defaultImportedPackages = setOf(
|
||||
"kotlin",
|
||||
"kotlin.annotation",
|
||||
"kotlin.collections",
|
||||
"kotlin.ranges",
|
||||
"kotlin.sequences",
|
||||
"kotlin.text",
|
||||
"kotlin.io",
|
||||
)
|
||||
private val defaultImportedPackages = setOf(
|
||||
"kotlin",
|
||||
"kotlin.annotation",
|
||||
"kotlin.collections",
|
||||
"kotlin.ranges",
|
||||
"kotlin.sequences",
|
||||
"kotlin.text",
|
||||
"kotlin.io",
|
||||
)
|
||||
}
|
||||
|
||||
fun SmartPrinter.printImports(imports: Collection<String>) {
|
||||
|
||||
+3
-3
@@ -6,10 +6,10 @@
|
||||
package org.jetbrains.kotlin.fir.checkers.generator.diagnostics
|
||||
|
||||
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.writeToFileUsingSmartPrinterIfFileContentChanged
|
||||
import org.jetbrains.kotlin.fir.tree.generator.util.writeToFileUsingSmartPrinterIfFileContentChanged
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import java.io.File
|
||||
import kotlin.reflect.KClass
|
||||
import kotlin.reflect.KType
|
||||
@@ -134,4 +134,4 @@ private inline fun <T> SmartPrinter.printSeparatedWithComma(list: List<T>, print
|
||||
print(", ")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -5,11 +5,11 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.checkers.generator
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.withIndent
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.withIndent
|
||||
|
||||
inline fun SmartPrinter.inBracketsWithIndent(header: String = "", body: () -> Unit) {
|
||||
println("$header {")
|
||||
withIndent(body)
|
||||
println("}")
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -22,4 +22,4 @@ fun KType.collectClassNamesTo(set: MutableSet<String>) {
|
||||
for (argument in arguments) {
|
||||
argument.type?.collectClassNamesTo(set)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -7,6 +7,8 @@ package org.jetbrains.kotlin.fir.tree.generator.printer
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.declarationAttributesType
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.*
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.withIndent
|
||||
import java.io.File
|
||||
|
||||
fun Builder.generateCode(generationPath: File): GeneratedFile {
|
||||
|
||||
+2
@@ -9,6 +9,8 @@ import org.jetbrains.kotlin.fir.tree.generator.context.AbstractFirTreeBuilder
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.*
|
||||
import org.jetbrains.kotlin.fir.tree.generator.pureAbstractElementType
|
||||
import org.jetbrains.kotlin.fir.tree.generator.util.get
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.withIndent
|
||||
|
||||
import java.io.File
|
||||
|
||||
|
||||
+1
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.tree.generator.printer
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.Field
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
|
||||
|
||||
fun SmartPrinter.printField(field: Field, isImplementation: Boolean, override: Boolean, end: String) {
|
||||
|
||||
+2
@@ -7,6 +7,8 @@ package org.jetbrains.kotlin.fir.tree.generator.printer
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.*
|
||||
import org.jetbrains.kotlin.fir.tree.generator.pureAbstractElementType
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.withIndent
|
||||
|
||||
import java.io.File
|
||||
|
||||
|
||||
+1
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.tree.generator.printer
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.context.AbstractFirTreeBuilder
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import java.io.File
|
||||
|
||||
private val COPYRIGHT = File("license/COPYRIGHT_HEADER.txt").readText()
|
||||
|
||||
+2
@@ -8,6 +8,8 @@ package org.jetbrains.kotlin.fir.tree.generator.printer
|
||||
import org.jetbrains.kotlin.fir.tree.generator.compositeTransformResultType
|
||||
import org.jetbrains.kotlin.fir.tree.generator.context.AbstractFirTreeBuilder
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.Element
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.withIndent
|
||||
|
||||
import java.io.File
|
||||
|
||||
|
||||
+2
@@ -7,6 +7,8 @@ package org.jetbrains.kotlin.fir.tree.generator.printer
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.context.AbstractFirTreeBuilder
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.Element
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.withIndent
|
||||
import java.io.File
|
||||
|
||||
fun printVisitor(elements: List<Element>, generationPath: File): GeneratedFile {
|
||||
|
||||
+9
-1
@@ -6,6 +6,9 @@
|
||||
package org.jetbrains.kotlin.fir.tree.generator.util
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.Element
|
||||
import org.jetbrains.kotlin.generators.util.GeneratorsFileUtil
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import java.io.File
|
||||
|
||||
fun Element.traverseParents(block: (Element) -> Unit) {
|
||||
block(this)
|
||||
@@ -20,4 +23,9 @@ operator fun <K, V, U> MutableMap<K, MutableMap<V, U>>.set(k1: K, k2: V, value:
|
||||
|
||||
operator fun <K, V, U> Map<K, Map<V, U>>.get(k1: K, k2: V): U {
|
||||
return getValue(k1).getValue(k2)
|
||||
}
|
||||
}
|
||||
|
||||
inline fun File.writeToFileUsingSmartPrinterIfFileContentChanged(block: SmartPrinter.() -> Unit) {
|
||||
val newText = buildString { SmartPrinter(this).block() }
|
||||
GeneratorsFileUtil.writeFileIfContentChanged(this, newText, logNotChanged = false)
|
||||
}
|
||||
|
||||
+2
-9
@@ -1,12 +1,10 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.tree.generator.printer
|
||||
package org.jetbrains.kotlin.util
|
||||
|
||||
import org.jetbrains.kotlin.generators.util.GeneratorsFileUtil
|
||||
import java.io.File
|
||||
import java.lang.Appendable
|
||||
|
||||
class SmartPrinter(appendable: Appendable) {
|
||||
@@ -49,8 +47,3 @@ inline fun SmartPrinter.withIndent(block: () -> Unit) {
|
||||
block()
|
||||
popIndent()
|
||||
}
|
||||
|
||||
inline fun File.writeToFileUsingSmartPrinterIfFileContentChanged(block: SmartPrinter.() -> Unit) {
|
||||
val newText = buildString { SmartPrinter(this).block() }
|
||||
GeneratorsFileUtil.writeFileIfContentChanged(this, newText, logNotChanged = false)
|
||||
}
|
||||
+2
-3
@@ -5,11 +5,10 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.frontend.api.fir.generator
|
||||
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import kotlin.reflect.KClass
|
||||
import kotlin.reflect.KType
|
||||
|
||||
|
||||
internal fun SmartPrinter.printTypeWithShortNames(type: KType) {
|
||||
print((type.classifier as KClass<*>).simpleName!!)
|
||||
if (type.arguments.isNotEmpty()) {
|
||||
@@ -22,4 +21,4 @@ internal fun SmartPrinter.printTypeWithShortNames(type: KType) {
|
||||
}
|
||||
print(">")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -9,13 +9,13 @@ import org.jetbrains.kotlin.fir.checkers.generator.collectClassNamesTo
|
||||
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticList
|
||||
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticListRenderer
|
||||
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.writeToFileUsingSmartPrinterIfFileContentChanged
|
||||
import org.jetbrains.kotlin.fir.tree.generator.util.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
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import java.io.File
|
||||
|
||||
abstract class AbstractDiagnosticsDataClassRenderer : DiagnosticListRenderer() {
|
||||
@@ -54,4 +54,4 @@ abstract class AbstractDiagnosticsDataClassRenderer : DiagnosticListRenderer() {
|
||||
protected abstract fun SmartPrinter.render(diagnosticList: HLDiagnosticList, packageName: String)
|
||||
|
||||
protected abstract val defaultImports: Collection<String>
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -6,9 +6,9 @@
|
||||
package org.jetbrains.kotlin.idea.frontend.api.fir.generator.rendererrs
|
||||
|
||||
import org.jetbrains.kotlin.fir.checkers.generator.inBracketsWithIndent
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.withIndent
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.*
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.withIndent
|
||||
|
||||
object FirDiagnosticToKtDiagnosticConverterRenderer : AbstractDiagnosticsDataClassRenderer() {
|
||||
override fun SmartPrinter.render(diagnosticList: HLDiagnosticList, packageName: String) {
|
||||
@@ -64,4 +64,4 @@ object FirDiagnosticToKtDiagnosticConverterRenderer : AbstractDiagnosticsDataCla
|
||||
"org.jetbrains.kotlin.fir.analysis.diagnostics.FirPsiDiagnostic",
|
||||
"org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+3
-4
@@ -6,12 +6,11 @@
|
||||
package org.jetbrains.kotlin.idea.frontend.api.fir.generator.rendererrs
|
||||
|
||||
import org.jetbrains.kotlin.fir.checkers.generator.inBracketsWithIndent
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.withIndent
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.*
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.printTypeWithShortNames
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.fir.checkers.generator.collectClassNamesTo
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
import org.jetbrains.kotlin.util.withIndent
|
||||
|
||||
object KtDiagnosticClassImplementationRenderer : AbstractDiagnosticsDataClassRenderer() {
|
||||
override fun SmartPrinter.render(diagnosticList: HLDiagnosticList, packageName: String) {
|
||||
@@ -63,4 +62,4 @@ object KtDiagnosticClassImplementationRenderer : AbstractDiagnosticsDataClassRen
|
||||
"org.jetbrains.kotlin.fir.analysis.diagnostics.FirPsiDiagnostic",
|
||||
"org.jetbrains.kotlin.idea.frontend.api.ValidityToken",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -7,9 +7,9 @@ package org.jetbrains.kotlin.idea.frontend.api.fir.generator.rendererrs
|
||||
|
||||
import org.jetbrains.kotlin.fir.checkers.generator.collectClassNamesTo
|
||||
import org.jetbrains.kotlin.fir.checkers.generator.inBracketsWithIndent
|
||||
import org.jetbrains.kotlin.fir.tree.generator.printer.SmartPrinter
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.*
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.generator.printTypeWithShortNames
|
||||
import org.jetbrains.kotlin.util.SmartPrinter
|
||||
|
||||
object KtDiagnosticClassRenderer : AbstractDiagnosticsDataClassRenderer() {
|
||||
override fun SmartPrinter.render(diagnosticList: HLDiagnosticList, packageName: String) {
|
||||
@@ -53,4 +53,4 @@ object KtDiagnosticClassRenderer : AbstractDiagnosticsDataClassRenderer() {
|
||||
"org.jetbrains.kotlin.idea.frontend.api.diagnostics.KtDiagnosticWithPsi",
|
||||
"com.intellij.psi.PsiElement",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user