diff --git a/compiler/ir/ir.tree/tree-generator/build.gradle.kts b/compiler/ir/ir.tree/tree-generator/build.gradle.kts index 834a5d7b580..b44faf2202b 100644 --- a/compiler/ir/ir.tree/tree-generator/build.gradle.kts +++ b/compiler/ir/ir.tree/tree-generator/build.gradle.kts @@ -11,7 +11,6 @@ runtimeOnly.extendsFrom(compileOnly) dependencies { implementation(project(":generators")) implementation(project(":generators:tree-generator-common")) - implementation(project(":core:compiler.common")) implementation(project(":compiler:util")) implementation("com.squareup:kotlinpoet:1.11.0") diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/CommonTypes.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/CommonTypes.kt index a3ebcc6022f..65949c4df26 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/CommonTypes.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/CommonTypes.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.ir.generator.Packages.symbols import org.jetbrains.kotlin.ir.generator.Packages.tree import org.jetbrains.kotlin.ir.generator.Packages.types import org.jetbrains.kotlin.ir.generator.Packages.visitors -import org.jetbrains.kotlin.ir.generator.util.type +import org.jetbrains.kotlin.generators.tree.type object Packages { const val tree = "org.jetbrains.kotlin.ir" diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt index da456f85da5..534215850ff 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.SourceElement import org.jetbrains.kotlin.descriptors.ValueClassRepresentation -import org.jetbrains.kotlin.generators.tree.TypeKind +import org.jetbrains.kotlin.generators.tree.* import org.jetbrains.kotlin.ir.generator.config.AbstractTreeBuilder import org.jetbrains.kotlin.ir.generator.config.ElementConfig import org.jetbrains.kotlin.ir.generator.config.ElementConfig.Category.* diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/config/AbstractTreeBuilder.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/config/AbstractTreeBuilder.kt index 086838926ed..2f5bdc59cc7 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/config/AbstractTreeBuilder.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/config/AbstractTreeBuilder.kt @@ -5,9 +5,9 @@ package org.jetbrains.kotlin.ir.generator.config -import org.jetbrains.kotlin.ir.generator.util.TypeRef -import org.jetbrains.kotlin.ir.generator.util.TypeVariable -import org.jetbrains.kotlin.ir.generator.util.type +import org.jetbrains.kotlin.generators.tree.TypeRef +import org.jetbrains.kotlin.generators.tree.TypeVariable +import org.jetbrains.kotlin.generators.tree.type import org.jetbrains.kotlin.types.Variance import kotlin.properties.PropertyDelegateProvider import kotlin.properties.ReadOnlyProperty diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/config/ConfigModel.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/config/ConfigModel.kt index 2a13951d36e..89e87c213c9 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/config/ConfigModel.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/config/ConfigModel.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.ir.generator.config import com.squareup.kotlinpoet.CodeBlock import com.squareup.kotlinpoet.PropertySpec import com.squareup.kotlinpoet.TypeSpec -import org.jetbrains.kotlin.generators.tree.TypeKind +import org.jetbrains.kotlin.generators.tree.* import org.jetbrains.kotlin.ir.generator.BASE_PACKAGE import org.jetbrains.kotlin.ir.generator.util.* 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 0875fefcd6d..640904ea1d9 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.ImplementationKind +import org.jetbrains.kotlin.generators.tree.* import org.jetbrains.kotlin.ir.generator.config.ElementConfig import org.jetbrains.kotlin.ir.generator.config.FieldConfig import org.jetbrains.kotlin.ir.generator.util.* 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 1495a783e5d..a8afe65db04 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 @@ -5,10 +5,9 @@ package org.jetbrains.kotlin.ir.generator.model -import org.jetbrains.kotlin.generators.tree.TypeKind +import org.jetbrains.kotlin.generators.tree.* import org.jetbrains.kotlin.ir.generator.config.* import org.jetbrains.kotlin.ir.generator.elementBaseType -import org.jetbrains.kotlin.ir.generator.util.* import org.jetbrains.kotlin.utils.addToStdlib.UnsafeCastFunction import org.jetbrains.kotlin.utils.addToStdlib.castAll import org.jetbrains.kotlin.utils.addToStdlib.partitionIsInstance 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 6f0d504fa5d..74fb0e05895 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 @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.ir.generator.BASE_PACKAGE 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.util.TypeRefWithNullability +import org.jetbrains.kotlin.generators.tree.TypeRefWithNullability import org.jetbrains.kotlin.ir.generator.util.tryParameterizedBy import java.io.File diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Factory.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Factory.kt index a36d0c1cc46..a07ae8aac71 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Factory.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Factory.kt @@ -13,7 +13,7 @@ import org.jetbrains.kotlin.ir.generator.model.Model import org.jetbrains.kotlin.ir.generator.util.GeneratedFile import org.jetbrains.kotlin.ir.generator.util.parameterizedByIfAny import org.jetbrains.kotlin.ir.generator.util.tryParameterizedBy -import org.jetbrains.kotlin.ir.generator.util.type +import org.jetbrains.kotlin.generators.tree.type import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly import org.jetbrains.kotlin.utils.addToStdlib.applyIf import java.io.File diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Types.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Types.kt index 2a09dc49034..d142b21f040 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Types.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/print/Types.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.ir.generator.print import com.squareup.kotlinpoet.* -import org.jetbrains.kotlin.generators.tree.TypeKind +import org.jetbrains.kotlin.generators.tree.* import org.jetbrains.kotlin.ir.generator.config.ElementConfigOrRef import org.jetbrains.kotlin.ir.generator.model.Element import org.jetbrains.kotlin.ir.generator.model.Element.Companion.elementName2typeName diff --git a/generators/tree-generator-common/build.gradle.kts b/generators/tree-generator-common/build.gradle.kts index 470e3786b5b..63df389e132 100644 --- a/generators/tree-generator-common/build.gradle.kts +++ b/generators/tree-generator-common/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } dependencies { - implementation(project(":core:compiler.common")) + api(project(":core:compiler.common")) } sourceSets { diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/util/TypeRef.kt b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/TypeRef.kt similarity index 86% rename from compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/util/TypeRef.kt rename to generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/TypeRef.kt index 7656419346e..ac9adea0d8a 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/util/TypeRef.kt +++ b/generators/tree-generator-common/src/org/jetbrains/kotlin/generators/tree/TypeRef.kt @@ -1,12 +1,10 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * 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.ir.generator.util +package org.jetbrains.kotlin.generators.tree -import com.squareup.kotlinpoet.asClassName -import org.jetbrains.kotlin.generators.tree.TypeKind import org.jetbrains.kotlin.types.Variance import java.util.* import kotlin.reflect.KClass @@ -110,9 +108,13 @@ class TypeVariable( ) : NamedTypeParameterRef(name) fun

KClass<*>.asRef(): ClassRef

{ - val poet = this.asClassName() - val kind = if (this.java.isInterface) TypeKind.Interface else TypeKind.Class - return ClassRef(kind, poet.packageName, *poet.simpleNames.toTypedArray()) + val qualifiedName = this.qualifiedName ?: error("$this doesn't have qualified name and thus cannot be converted to ClassRef") + val kind = if (java.isInterface) TypeKind.Interface else TypeKind.Class + val parts = qualifiedName.split('.') + val indexWhereClassNameStarts = parts.indexOfFirst { it.first().isUpperCase() } + val packageName = parts.take(indexWhereClassNameStarts).joinToString(separator = ".") + val simpleNames = parts.drop(indexWhereClassNameStarts) + return ClassRef(kind, packageName, *simpleNames.toTypedArray()) } inline fun type() = T::class.asRef()