[FIR/IR generator] Add kDoc property to AbstractElement & AbstractField
This commit is contained in:
committed by
Space Team
parent
51325ba630
commit
7e7f4811bd
+2
@@ -16,6 +16,8 @@ abstract class AbstractElement<Element, Field> : ElementOrRef<Element, Field>, F
|
||||
|
||||
abstract val name: String
|
||||
|
||||
abstract val kDoc: String?
|
||||
|
||||
abstract val fields: Set<Field>
|
||||
|
||||
abstract val params: List<TypeVariable>
|
||||
|
||||
+2
@@ -14,6 +14,8 @@ abstract class AbstractField {
|
||||
val nullable: Boolean
|
||||
get() = typeRef.nullable
|
||||
|
||||
var kDoc: String? = null
|
||||
|
||||
abstract val isVolatile: Boolean
|
||||
|
||||
abstract val isFinal: Boolean
|
||||
|
||||
+16
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.generators.tree.printer
|
||||
|
||||
import org.jetbrains.kotlin.generators.tree.AbstractElement
|
||||
import org.jetbrains.kotlin.generators.tree.ImplementationKind
|
||||
import org.jetbrains.kotlin.utils.SmartPrinter
|
||||
|
||||
/**
|
||||
* The angle bracket-delimited list of type parameters to print, or empty string if the element has no type parameters.
|
||||
@@ -51,3 +52,18 @@ val AbstractElement<*, *>.generics: String
|
||||
get() = params.takeIf { it.isNotEmpty() }
|
||||
?.let { it.joinToString(", ", "<", ">") { it.name } }
|
||||
?: ""
|
||||
|
||||
fun SmartPrinter.printKDoc(kDoc: String?) {
|
||||
if (kDoc == null) return
|
||||
println("/**")
|
||||
for (line in kDoc.lineSequence()) {
|
||||
print(" *")
|
||||
if (line.isBlank()) {
|
||||
println()
|
||||
} else {
|
||||
print(" ")
|
||||
println(line)
|
||||
}
|
||||
}
|
||||
println(" */")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user