[FIR/IR generator] Introduce the shared Model class

This commit is contained in:
Sergej Jaskiewicz
2023-11-14 12:16:07 +01:00
committed by Space Team
parent 9a11208e67
commit 8eefb210f9
5 changed files with 15 additions and 1 deletions
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.ir.generator.config
import org.jetbrains.kotlin.generators.tree.*
import org.jetbrains.kotlin.ir.generator.model.*
import org.jetbrains.kotlin.ir.generator.model.ElementRef
import org.jetbrains.kotlin.ir.generator.model.Model
import org.jetbrains.kotlin.types.Variance
import kotlin.properties.PropertyDelegateProvider
import kotlin.properties.ReadOnlyProperty
@@ -22,7 +22,7 @@ internal object InferredOverriddenType : TypeRefWithNullability {
override fun copy(nullable: Boolean) = this
}
data class Model(val elements: List<Element>, val rootElement: Element)
typealias Model = org.jetbrains.kotlin.generators.tree.Model<Element>
internal fun markLeaves(elements: List<Element>) {
val leaves = elements.toMutableSet()
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.ir.generator.TREE_GENERATOR_README
import org.jetbrains.kotlin.ir.generator.elementTransformerType
import org.jetbrains.kotlin.ir.generator.elementVisitorType
import org.jetbrains.kotlin.ir.generator.model.*
import org.jetbrains.kotlin.ir.generator.model.Model
import org.jetbrains.kotlin.utils.SmartPrinter
import org.jetbrains.kotlin.utils.withIndent
import java.io.File
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.generators.tree.*
import org.jetbrains.kotlin.generators.tree.printer.*
import org.jetbrains.kotlin.ir.generator.*
import org.jetbrains.kotlin.ir.generator.model.*
import org.jetbrains.kotlin.ir.generator.model.Model
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
import org.jetbrains.kotlin.utils.SmartPrinter
import org.jetbrains.kotlin.utils.withIndent
@@ -0,0 +1,11 @@
/*
* Copyright 2010-2023 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.generators.tree
data class Model<Element : AbstractElement<Element, *>>(
val elements: List<Element>,
val rootElement: Element,
)