diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/Model.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/Model.kt index 0fa99bc0004..0875fefcd6d 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/Model.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/Model.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.ir.generator.model import com.squareup.kotlinpoet.CodeBlock -import org.jetbrains.kotlin.generators.tree.TypeKind +import org.jetbrains.kotlin.generators.tree.ImplementationKind import org.jetbrains.kotlin.ir.generator.config.ElementConfig import org.jetbrains.kotlin.ir.generator.config.FieldConfig import org.jetbrains.kotlin.ir.generator.util.* @@ -25,7 +25,7 @@ class Element( var visitorParent: ElementRef? = null var transformerReturnType: Element? = null val targetKind = config.typeKind - var kind: Kind? = null + var kind: ImplementationKind? = null val typeName get() = elementName2typeName(name) val allParents: List @@ -51,15 +51,6 @@ class Element( override fun toString() = name - enum class Kind(val typeKind: TypeKind) { - FinalClass(TypeKind.Class), - OpenClass(TypeKind.Class), - AbstractClass(TypeKind.Class), - SealedClass(TypeKind.Class), - Interface(TypeKind.Interface), - SealedInterface(TypeKind.Interface), - } - companion object { fun elementName2typeName(name: String) = "Ir" + name.replaceFirstChar(Char::uppercaseChar) } diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/configureInterfacesAndAbstractClasses.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/configureInterfacesAndAbstractClasses.kt index 9caacb2c843..829ce50092c 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/configureInterfacesAndAbstractClasses.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/model/configureInterfacesAndAbstractClasses.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.ir.generator.model +import org.jetbrains.kotlin.generators.tree.ImplementationKind import org.jetbrains.kotlin.generators.tree.TypeKind import org.jetbrains.kotlin.generators.util.Node import org.jetbrains.kotlin.generators.util.solveGraphForClassVsInterface @@ -39,9 +40,9 @@ private fun updateKinds(nodes: List, solution: List) { val element = nodes[index].element if (isClass) { check(element.targetKind != TypeKind.Interface) { element } - element.kind = Element.Kind.AbstractClass + element.kind = ImplementationKind.AbstractClass } else { - element.kind = Element.Kind.Interface + element.kind = ImplementationKind.Interface } } } diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Elements.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Elements.kt index 8c12ca0296e..6f0d504fa5d 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Elements.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Elements.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.ir.generator.print import com.squareup.kotlinpoet.* +import org.jetbrains.kotlin.generators.tree.ImplementationKind import org.jetbrains.kotlin.generators.tree.TypeKind import org.jetbrains.kotlin.ir.generator.BASE_PACKAGE import org.jetbrains.kotlin.ir.generator.elementTransformerType @@ -28,11 +29,11 @@ fun printElements(generationPath: File, model: Model) = sequence { }.apply { addModifiers( when (element.kind) { - Element.Kind.SealedClass -> listOf(KModifier.SEALED) - Element.Kind.SealedInterface -> listOf(KModifier.SEALED) - Element.Kind.AbstractClass -> listOf(KModifier.ABSTRACT) - Element.Kind.FinalClass -> listOf(KModifier.FINAL) - Element.Kind.OpenClass -> listOf(KModifier.OPEN) + ImplementationKind.SealedClass -> listOf(KModifier.SEALED) + ImplementationKind.SealedInterface -> listOf(KModifier.SEALED) + ImplementationKind.AbstractClass -> listOf(KModifier.ABSTRACT) + ImplementationKind.FinalClass -> listOf(KModifier.FINAL) + ImplementationKind.OpenClass -> listOf(KModifier.OPEN) else -> emptyList() } )