diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Builder.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Builder.kt index 19d4fafbbed..2c441617af7 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Builder.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Builder.kt @@ -43,7 +43,8 @@ class LeafBuilder(val implementation: Implementation) : Builder() { "${implementation.element.type}Builder" } - override fun getTypeWithArguments(notNull: Boolean): String = type + implementation.element.generics + override val typeWithArguments: String + get() = type + implementation.element.generics override val allFields: List by lazy { implementation.fieldsWithoutDefault } @@ -72,5 +73,6 @@ class IntermediateBuilder(override val type: String) : Builder() { override val uselessFields: List = emptyList() override var packageName: String = DEFAULT_BUILDER_PACKAGE - override fun getTypeWithArguments(notNull: Boolean): String = type + override val typeWithArguments: String + get() = type } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Implementation.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Implementation.kt index 71b964d08c5..52784c78dc1 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Implementation.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/model/Implementation.kt @@ -15,7 +15,8 @@ class ImplementationWithArg( ) : FieldContainer by implementation, ImplementationKindOwner by implementation { val element: Element get() = implementation.element - override fun getTypeWithArguments(notNull: Boolean): String = type + generics + override val typeWithArguments: String + get() = type + generics } class Implementation(val element: Element, val name: String?) : FieldContainer, ImplementationKindOwner { @@ -41,7 +42,8 @@ class Implementation(val element: Element, val name: String?) : FieldContainer, } } - override fun getTypeWithArguments(notNull: Boolean): String = type + element.generics + override val typeWithArguments: String + get() = type + element.generics override val packageName = element.packageName + ".impl" val usedTypes = mutableListOf() diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/builder.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/builder.kt index f85ebf55a67..5ec871b09ca 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/builder.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/builder.kt @@ -8,10 +8,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.generators.tree.StandardTypes -import org.jetbrains.kotlin.generators.tree.TypeRefWithNullability import org.jetbrains.kotlin.generators.tree.printer.GeneratedFile import org.jetbrains.kotlin.generators.tree.printer.printGeneratedType -import org.jetbrains.kotlin.generators.tree.typeWithArguments import org.jetbrains.kotlin.utils.SmartPrinter import org.jetbrains.kotlin.utils.withIndent import java.io.File @@ -142,7 +140,7 @@ private fun SmartPrinter.printFieldInBuilder(field: FieldWithDefault, builder: B return true to false } val name = field.name - val type = field.typeRef.getTypeWithArguments(field.notNull) + val type = field.typeRef.typeWithArguments val defaultValue = if (fieldIsUseless) field.defaultValueInImplementation.also { requireNotNull(it) } else diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/field.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/field.kt index 769b611550c..33e66e18e10 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/field.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/field.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.fir.tree.generator.printer import org.jetbrains.kotlin.fir.tree.generator.model.Field -import org.jetbrains.kotlin.generators.tree.typeWithArguments import org.jetbrains.kotlin.utils.SmartPrinter import org.jetbrains.kotlin.utils.withIndent diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/transformer.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/transformer.kt index bc735572380..1266aa4c3a4 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/transformer.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/transformer.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.generators.tree.printer.GeneratedFile import org.jetbrains.kotlin.generators.tree.printer.multipleUpperBoundsList import org.jetbrains.kotlin.generators.tree.printer.printGeneratedType import org.jetbrains.kotlin.generators.tree.printer.typeParameters -import org.jetbrains.kotlin.generators.tree.typeWithArguments import org.jetbrains.kotlin.utils.withIndent import java.io.File diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/visitor.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/visitor.kt index cb4d2d56876..ec6a6eb9c71 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/visitor.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/printer/visitor.kt @@ -12,8 +12,6 @@ import org.jetbrains.kotlin.generators.tree.printer.GeneratedFile import org.jetbrains.kotlin.generators.tree.printer.multipleUpperBoundsList import org.jetbrains.kotlin.generators.tree.printer.printGeneratedType import org.jetbrains.kotlin.generators.tree.printer.typeParameters -import org.jetbrains.kotlin.generators.tree.typeWithArguments -import org.jetbrains.kotlin.utils.SmartPrinter import org.jetbrains.kotlin.utils.withIndent import java.io.File diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/Transformations.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/Transformations.kt index a6bda4ecde5..df8220a6a07 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/Transformations.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/Transformations.kt @@ -19,9 +19,8 @@ private object InferredOverriddenType : TypeRefWithNullability { override val packageName: String? get() = null - override fun getTypeWithArguments(notNull: Boolean): String { - error("not supported") - } + override val typeWithArguments: String + get() = error("not supported") override fun substitute(map: TypeParameterSubstitutionMap) = this diff --git a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/AbstractElement.kt b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/AbstractElement.kt index a9a8ea66bd6..f9a695d6065 100644 --- a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/AbstractElement.kt +++ b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/AbstractElement.kt @@ -36,7 +36,8 @@ abstract class AbstractElement : ElementOrRef, F override val allParents: List get() = elementParents.map { it.element } - final override fun getTypeWithArguments(notNull: Boolean): String = type + generics + final override val typeWithArguments: String + get() = type + generics abstract override val allFields: List diff --git a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/ArbitrarilyImportable.kt b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/ArbitrarilyImportable.kt index 92136da5583..bd0efb6c828 100644 --- a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/ArbitrarilyImportable.kt +++ b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/ArbitrarilyImportable.kt @@ -6,5 +6,6 @@ package org.jetbrains.kotlin.generators.tree data class ArbitraryImportable(override val packageName: String, override val type: String) : Importable { - override fun getTypeWithArguments(notNull: Boolean): String = type -} \ No newline at end of file + override val typeWithArguments: String + get() = type +} diff --git a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/Importable.kt b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/Importable.kt index e155b48dcae..f9857e34b21 100644 --- a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/Importable.kt +++ b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/Importable.kt @@ -10,7 +10,5 @@ interface Importable { val packageName: String? val fullQualifiedName: String? get() = packageName?.let { "$it.${type.replace(Regex("<.+>"), "")}" } - fun getTypeWithArguments(notNull: Boolean = false): String + val typeWithArguments: String } - -val Importable.typeWithArguments: String get() = getTypeWithArguments() \ No newline at end of file diff --git a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/TypeRef.kt b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/TypeRef.kt index d05e2b818c2..b2725110254 100644 --- a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/TypeRef.kt +++ b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/TypeRef.kt @@ -25,7 +25,8 @@ interface TypeRef : Importable { override val packageName: String? get() = null - override fun getTypeWithArguments(notNull: Boolean): String = type + override val typeWithArguments: String + get() = type override fun substitute(map: TypeParameterSubstitutionMap) = this @@ -110,7 +111,8 @@ data class TypeRefWithVariance(val variance: Variance, val type override val packageName: String? get() = null - override fun getTypeWithArguments(notNull: Boolean): String = type + override val typeWithArguments: String + get() = type override fun substitute(map: TypeParameterSubstitutionMap): TypeRefWithVariance<*> = TypeRefWithVariance(variance, typeRef.substitute(map)) @@ -165,7 +167,8 @@ data class PositionTypeParameterRef( override val packageName: String? get() = null - override fun getTypeWithArguments(notNull: Boolean): String = type + override val typeWithArguments: String + get() = type override fun copy(nullable: Boolean) = PositionTypeParameterRef(index, nullable) } @@ -190,7 +193,7 @@ open class NamedTypeParameterRef( override val packageName: String? get() = null - override fun getTypeWithArguments(notNull: Boolean) = name + override val typeWithArguments get() = name final override fun copy(nullable: Boolean) = NamedTypeParameterRef(name, nullable) } @@ -209,7 +212,8 @@ interface ParametrizedTypeRef, P : TypeParam override fun substitute(map: TypeParameterSubstitutionMap): Self = copy(args.mapValues { it.value.substitute(map) }) - override fun getTypeWithArguments(notNull: Boolean): String = type + generics + (if (nullable) "?" else "") + override val typeWithArguments: String + get() = type + generics + (if (nullable) "?" else "") } typealias TypeParameterSubstitutionMap = Map diff --git a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/printer/printUtils.kt b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/printer/printUtils.kt index b0e9ee5fa24..baf795d64ac 100644 --- a/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/printer/printUtils.kt +++ b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/printer/printUtils.kt @@ -7,7 +7,6 @@ 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.generators.tree.typeWithArguments /** * The angle bracket-delimited list of type parameters to print, or empty string if the element has no type parameters. @@ -51,4 +50,4 @@ fun ImplementationKind?.braces(): String = when (this) { val AbstractElement<*, *>.generics: String get() = params.takeIf { it.isNotEmpty() } ?.let { it.joinToString(", ", "<", ">") { it.name } } - ?: "" \ No newline at end of file + ?: ""