From 364b7ae72a49c2a1716c83c1bab0866dfe46fa25 Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Mon, 4 Mar 2019 14:19:36 +0300 Subject: [PATCH] Buried remnants of Ira's descriptors --- .../common/AbstractValueUsageTransformer.kt | 1 - .../jetbrains/kotlin/backend/konan/Boxing.kt | 6 +- .../kotlin/backend/konan/InlineClasses.kt | 2 +- .../kotlin/backend/konan/ObjCInterop.kt | 3 +- .../kotlin/backend/konan/cgen/CBridgeGen.kt | 3 +- .../konan/descriptors/ClassVtablesBuilder.kt | 2 +- .../konan/descriptors/DescriptorUtils.kt | 3 +- .../{irasdescriptors => ir}/FakeIrUtils.kt | 6 +- .../jetbrains/kotlin/backend/konan/ir/Ir.kt | 648 +----------------- .../IrTypeAsKotlinType.kt | 2 +- .../{irasdescriptors => ir}/NewIrUtils.kt | 2 +- .../backend/konan/llvm/BinaryInterface.kt | 2 +- .../backend/konan/llvm/CodeGenerator.kt | 2 +- .../kotlin/backend/konan/llvm/ContextUtils.kt | 4 +- .../kotlin/backend/konan/llvm/IrToBitcode.kt | 2 - .../llvm/KotlinObjCClassInfoGenerator.kt | 2 +- .../backend/konan/llvm/LlvmDeclarations.kt | 2 +- .../backend/konan/llvm/RTTIGenerator.kt | 2 +- .../backend/konan/llvm/StaticObjects.kt | 8 +- .../objcexport/ObjCExportCodeGenerator.kt | 2 +- .../kotlin/backend/konan/lower/Autoboxing.kt | 2 +- .../konan/lower/BuiltinOperatorLowering.kt | 6 +- .../konan/lower/CallableReferenceLowering.kt | 4 +- .../backend/konan/lower/DelegationLowering.kt | 3 +- .../backend/konan/lower/EnumClassLowering.kt | 2 +- .../backend/konan/lower/EnumWhenLowering.kt | 2 +- .../konan/lower/FinallyBlocksLowering.kt | 1 - .../backend/konan/lower/FunctionInlining.kt | 2 +- .../backend/konan/lower/InteropLowering.kt | 2 +- .../backend/konan/lower/PostInlineLowering.kt | 3 +- .../konan/lower/SuspendFunctionsLowering.kt | 2 +- .../backend/konan/lower/TestProcessor.kt | 10 +- .../konan/lower/TypeOperatorLowering.kt | 4 +- .../backend/konan/lower/loops/HeaderInfo.kt | 2 +- .../konan/lower/loops/HeaderProcessor.kt | 4 +- .../konan/lower/matchers/IrFunctionMatcher.kt | 2 +- .../backend/konan/optimizations/DFGBuilder.kt | 2 +- .../backend/konan/optimizations/DataFlowIR.kt | 5 +- .../konan/optimizations/Devirtualization.kt | 2 +- .../SerializeDescriptorReference.kt | 7 +- .../konan/serialization/UniqSymbolName.kt | 4 +- .../kotlin/ir/util/IrUnboundSymbolReplacer.kt | 3 +- .../org/jetbrains/kotlin/ir/util/IrUtils2.kt | 8 +- 43 files changed, 58 insertions(+), 728 deletions(-) rename backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/{irasdescriptors => ir}/FakeIrUtils.kt (86%) rename backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/{irasdescriptors => ir}/IrTypeAsKotlinType.kt (98%) rename backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/{irasdescriptors => ir}/NewIrUtils.kt (99%) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/AbstractValueUsageTransformer.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/AbstractValueUsageTransformer.kt index 15fd6b603a7..a9eb3dae8dd 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/AbstractValueUsageTransformer.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/common/AbstractValueUsageTransformer.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.backend.common import org.jetbrains.kotlin.backend.konan.ir.KonanSymbols -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.declarations.* diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt index ac84833150a..00bc40cbf2f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt @@ -9,14 +9,10 @@ import llvm.* import org.jetbrains.kotlin.backend.common.descriptors.WrappedSimpleFunctionDescriptor import org.jetbrains.kotlin.backend.common.descriptors.WrappedValueParameterDescriptor import org.jetbrains.kotlin.backend.konan.ir.KonanSymbols -import org.jetbrains.kotlin.backend.konan.irasdescriptors.fqNameSafe +import org.jetbrains.kotlin.backend.konan.ir.fqNameSafe import org.jetbrains.kotlin.backend.konan.llvm.* import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibilities -import org.jetbrains.kotlin.descriptors.annotations.Annotations -import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl -import org.jetbrains.kotlin.descriptors.impl.ValueParameterDescriptorImpl -import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InlineClasses.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InlineClasses.kt index ed3aafeae4c..d3e4523fd6d 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InlineClasses.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InlineClasses.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.backend.konan -import org.jetbrains.kotlin.backend.konan.irasdescriptors.containsNull +import org.jetbrains.kotlin.backend.konan.ir.containsNull import org.jetbrains.kotlin.builtins.PrimitiveType import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.ir.declarations.IrClass diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ObjCInterop.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ObjCInterop.kt index 5ab21bfc5ad..c0ca2ddefc0 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ObjCInterop.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ObjCInterop.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.backend.konan import org.jetbrains.kotlin.backend.konan.descriptors.findPackageView import org.jetbrains.kotlin.backend.konan.descriptors.getStringValue import org.jetbrains.kotlin.backend.konan.descriptors.getStringValueOrNull -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ConstructorDescriptor @@ -16,7 +16,6 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrConst -import org.jetbrains.kotlin.ir.expressions.IrConstKind import org.jetbrains.kotlin.ir.types.classifierOrFail import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt index 6460c2e48f5..94f0fd8cbd4 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt @@ -6,8 +6,7 @@ import org.jetbrains.kotlin.backend.common.lower.irNot import org.jetbrains.kotlin.backend.konan.PrimitiveBinaryType import org.jetbrains.kotlin.backend.konan.RuntimeNames import org.jetbrains.kotlin.backend.konan.descriptors.createAnnotation -import org.jetbrains.kotlin.backend.konan.ir.KonanSymbols -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.builtins.UnsignedType import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibilities diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt index 3045e64ed04..9224f7aa485 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.backend.konan.descriptors import org.jetbrains.kotlin.backend.konan.* -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.backend.konan.llvm.functionName import org.jetbrains.kotlin.backend.konan.llvm.localHash import org.jetbrains.kotlin.backend.konan.lower.bridgeTarget diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/DescriptorUtils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/DescriptorUtils.kt index 682a797c270..f860496dd4b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/DescriptorUtils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/DescriptorUtils.kt @@ -5,8 +5,7 @@ package org.jetbrains.kotlin.backend.konan.descriptors -import org.jetbrains.kotlin.backend.common.ir.ir2stringWhole -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.backend.konan.isInlined import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.declarations.* diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/irasdescriptors/FakeIrUtils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/FakeIrUtils.kt similarity index 86% rename from backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/irasdescriptors/FakeIrUtils.kt rename to backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/FakeIrUtils.kt index 4522798b938..81aafe45c19 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/irasdescriptors/FakeIrUtils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/FakeIrUtils.kt @@ -3,13 +3,14 @@ * that can be found in the LICENSE file. */ -package org.jetbrains.kotlin.backend.konan.irasdescriptors +package org.jetbrains.kotlin.backend.konan.ir import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.llvm.llvmSymbolOrigin import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.toKotlinType +import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.descriptorUtil.module @@ -21,9 +22,6 @@ internal val IrDeclaration.isLocal get() = DescriptorUtils.isLocal(this.descript internal val IrDeclaration.module get() = this.descriptor.module -@Deprecated("Do not call this method in the compiler front-end.") -internal val IrField.isDelegate get() = @Suppress("DEPRECATION") this.descriptor.isDelegated - internal fun IrFunction.getObjCMethodInfo() = this.descriptor.getObjCMethodInfo() internal fun IrFunction.getExternalObjCMethodInfo() = this.descriptor.getExternalObjCMethodInfo() internal fun IrFunction.isObjCClassMethod() = this.descriptor.isObjCClassMethod() diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/Ir.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/Ir.kt index a66ccf040d0..1015afa5075 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/Ir.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/Ir.kt @@ -6,8 +6,6 @@ package org.jetbrains.kotlin.backend.konan.ir import org.jetbrains.kotlin.backend.common.COROUTINE_SUSPENDED_NAME -import org.jetbrains.kotlin.backend.common.RenderIrElementWithDescriptorsVisitor.Companion.DECLARATION_RENDERER -import org.jetbrains.kotlin.backend.common.descriptors.WrappedDeclarationDescriptor import org.jetbrains.kotlin.backend.common.ir.Ir import org.jetbrains.kotlin.backend.common.ir.Symbols import org.jetbrains.kotlin.backend.konan.* @@ -21,12 +19,12 @@ import org.jetbrains.kotlin.config.coroutinesPackageFqName import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.incremental.components.NoLookupLocation -import org.jetbrains.kotlin.ir.IrElement -import org.jetbrains.kotlin.ir.declarations.* -import org.jetbrains.kotlin.ir.expressions.* +import org.jetbrains.kotlin.ir.declarations.IrClass +import org.jetbrains.kotlin.ir.declarations.IrEnumEntry +import org.jetbrains.kotlin.ir.declarations.IrFunction +import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrTypeParameterSymbolImpl import org.jetbrains.kotlin.ir.types.IrSimpleType @@ -34,20 +32,13 @@ import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl import org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection -import org.jetbrains.kotlin.ir.types.impl.originalKotlinType -import org.jetbrains.kotlin.ir.types.toKotlinType import org.jetbrains.kotlin.ir.types.typeWith import org.jetbrains.kotlin.ir.util.* -import org.jetbrains.kotlin.ir.visitors.IrElementVisitor import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.renderer.* import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.TypeUtils -import org.jetbrains.kotlin.utils.Printer -import org.jetbrains.kotlin.utils.addIfNotNull -import java.io.StringWriter import kotlin.properties.Delegates // This is what Context collects about IR. @@ -540,635 +531,4 @@ private fun getArrayListClassDescriptor(context: Context): ClassDescriptor { NoLookupLocation.FROM_BACKEND) return classifier as ClassDescriptor -} - -fun IrElement.render() = accept(RenderIrElementVisitor(), null) - -fun IrType.render() = - originalKotlinType?.let { - DECLARATION_RENDERER.renderType(it) - } ?: DECLARATION_RENDERER.renderType(this.toKotlinType()) - -class RenderIrElementVisitor : IrElementVisitor { - override fun visitElement(element: IrElement, data: Nothing?): String = - "? ${element::class.java.simpleName}" - - override fun visitDeclaration(declaration: IrDeclaration, data: Nothing?): String = - "? ${declaration::class.java.simpleName} ${declaration.descriptor.ref()}" - - override fun visitModuleFragment(declaration: IrModuleFragment, data: Nothing?): String = - "MODULE_FRAGMENT name:${declaration.name}" - - override fun visitExternalPackageFragment(declaration: IrExternalPackageFragment, data: Nothing?): String = - "EXTERNAL_PACKAGE_FRAGMENT fqName:${declaration.fqName}" - - override fun visitFile(declaration: IrFile, data: Nothing?): String = - "FILE fqName:${declaration.fqName} fileName:${declaration.name}" - - override fun visitFunction(declaration: IrFunction, data: Nothing?): String = - "FUN ${declaration.renderOriginIfNonTrivial()}${declaration.renderDeclared()}" - - override fun visitSimpleFunction(declaration: IrSimpleFunction, data: Nothing?): String = - declaration.run { - "FUN ${renderOriginIfNonTrivial()}" + - //"name:$name visibility:$visibility modality:$modality " + - "name:$name $descriptor $symbol visibility:$visibility modality:$modality " + - renderTypeParameters() + " " + - renderValueParameterTypes() + " " + - "returnType:${returnType.render()} " + - "flags:${renderSimpleFunctionFlags()}" - } - - private fun renderFlagsList(vararg flags: String?) = - flags.filterNotNull().joinToString(separator = ",") - - private fun IrSimpleFunction.renderSimpleFunctionFlags(): String = - renderFlagsList( - "tailrec".takeIf { isTailrec }, - "inline".takeIf { isInline }, - "external".takeIf { isExternal }, - "suspend".takeIf { isSuspend } - ) - - private fun IrFunction.renderTypeParameters(): String = - typeParameters.joinToString(separator = ", ", prefix = "<", postfix = ">") { it.name.toString() } - - private fun IrFunction.renderValueParameterTypes(): String = - ArrayList().apply { - addIfNotNull(dispatchReceiverParameter?.run { "\$this:${type.render()}" }) - addIfNotNull(extensionReceiverParameter?.run { "\$receiver:${type.render()}" }) - valueParameters.mapTo(this) { "${it.name}:${it.type.render()}" } - }.joinToString(separator = ", ", prefix = "(", postfix = ")") - - override fun visitConstructor(declaration: IrConstructor, data: Nothing?): String = - declaration.run { - "CONSTRUCTOR ${renderOriginIfNonTrivial()}" + - "visibility:$visibility " + - renderTypeParameters() + " " + - renderValueParameterTypes() + " " + - "returnType:${returnType.render()} " + - "flags:${renderConstructorFlags()}" - } - - private fun IrConstructor.renderConstructorFlags() = - renderFlagsList( - "inline".takeIf { isInline }, - "external".takeIf { isExternal }, - "primary".takeIf { isPrimary } - ) - - override fun visitProperty(declaration: IrProperty, data: Nothing?): String = - declaration.run { - "PROPERTY ${renderOriginIfNonTrivial()}" + - "name:$name visibility:$visibility modality:$modality " + - "flags:${renderPropertyFlags()}" - } - - private fun IrProperty.renderPropertyFlags() = - renderFlagsList( - "external".takeIf { isExternal }, - "const".takeIf { isConst }, - "lateinit".takeIf { isLateinit }, - "delegated".takeIf { isDelegated }, - if (isVar) "var" else "val" - ) - - override fun visitField(declaration: IrField, data: Nothing?): String = - "FIELD ${declaration.renderOriginIfNonTrivial()}" + - "name:${declaration.name} type:${declaration.type.render()} visibility:${declaration.visibility} " + - "flags:${declaration.renderFieldFlags()}" - - private fun IrField.renderFieldFlags() = - renderFlagsList( - "final".takeIf { isFinal }, - "external".takeIf { isExternal }, - "static".takeIf { isStatic } - ) - - override fun visitClass(declaration: IrClass, data: Nothing?): String = - declaration.run { - "CLASS ${renderOriginIfNonTrivial()}" + - "$kind name:$name modality:$modality visibility:$visibility " + - "flags:${renderClassFlags()} " + - "superTypes:[${superTypes.joinToString(separator = "; ") { it.render() }}]" - } - - private fun IrClass.renderClassFlags() = - renderFlagsList( - "companion".takeIf { isCompanion }, - "inner".takeIf { isInner }, - "data".takeIf { isData }, - "external".takeIf { isExternal }, - "inline".takeIf { isInline } - ) - - override fun visitTypeAlias(declaration: IrTypeAlias, data: Nothing?): String = - "TYPEALIAS ${declaration.renderOriginIfNonTrivial()}${declaration.descriptor.ref()} " + - "type=${declaration.descriptor.underlyingType.render()}" - - override fun visitVariable(declaration: IrVariable, data: Nothing?): String = - "VAR ${declaration.renderOriginIfNonTrivial()}" + - "name:${declaration.name} type:${declaration.type.render()} flags:${declaration.renderVariableFlags()}" - - private fun IrVariable.renderVariableFlags(): String = - renderFlagsList( - "const".takeIf { isConst }, - "lateinit".takeIf { isLateinit }, - if (isVar) "var" else "val" - ) - - override fun visitEnumEntry(declaration: IrEnumEntry, data: Nothing?): String = - "ENUM_ENTRY ${declaration.renderOriginIfNonTrivial()}name:${declaration.name}" - - override fun visitAnonymousInitializer(declaration: IrAnonymousInitializer, data: Nothing?): String = - "ANONYMOUS_INITIALIZER ${declaration.descriptor.ref()}" - - override fun visitTypeParameter(declaration: IrTypeParameter, data: Nothing?): String = - declaration.run { - "TYPE_PARAMETER ${renderOriginIfNonTrivial()}" + - "name:$name index:$index variance:$variance " + - "superTypes:[${superTypes.joinToString(separator = "; ") { it.render() }}]" - } - - override fun visitValueParameter(declaration: IrValueParameter, data: Nothing?): String = - declaration.run { - "VALUE_PARAMETER ${renderOriginIfNonTrivial()}" + - "name:$name " + - (if (index >= 0) "index:$index " else "") + - "type:${type.render()} " + - (varargElementType?.let { "varargElementType:${it.render()} " } ?: "") + - "flags:${renderValueParameterFlags()}" - } - - private fun IrValueParameter.renderValueParameterFlags(): String = - renderFlagsList( - "vararg".takeIf { varargElementType != null }, - "crossinline".takeIf { isCrossinline }, - "noinline".takeIf { isNoinline } - ) - - override fun visitLocalDelegatedProperty(declaration: IrLocalDelegatedProperty, data: Nothing?): String = - declaration.run { - "LOCAL_DELEGATED_PROPERTY ${declaration.renderOriginIfNonTrivial()}" + - "name:$name type:${type.render()} flags:${renderLocalDelegatedPropertyFlags()}" - } - - private fun IrLocalDelegatedProperty.renderLocalDelegatedPropertyFlags() = - if (isVar) "var" else "val" - - override fun visitExpressionBody(body: IrExpressionBody, data: Nothing?): String = - "EXPRESSION_BODY" - - override fun visitBlockBody(body: IrBlockBody, data: Nothing?): String = - "BLOCK_BODY" - - override fun visitSyntheticBody(body: IrSyntheticBody, data: Nothing?): String = - "SYNTHETIC_BODY kind=${body.kind}" - - override fun visitExpression(expression: IrExpression, data: Nothing?): String = - "? ${expression::class.java.simpleName} type=${expression.type.render()}" - - override fun visitConst(expression: IrConst, data: Nothing?): String = - "CONST ${expression.kind} type=${expression.type.render()} value=${expression.value}" - - override fun visitVararg(expression: IrVararg, data: Nothing?): String = - "VARARG type=${expression.type.render()} varargElementType=${expression.varargElementType.render()}" - - override fun visitSpreadElement(spread: IrSpreadElement, data: Nothing?): String = - "SPREAD_ELEMENT" - - override fun visitBlock(expression: IrBlock, data: Nothing?): String = - if (expression is IrReturnableBlock) - "RETURNABLE_BLOCK type=${expression.type.render()} origin=${expression.origin} function=name:${expression.symbol.descriptor.name} ${expression.symbol.descriptor} ${expression.symbol}" - else "BLOCK type=${expression.type.render()} origin=${expression.origin}" - - override fun visitComposite(expression: IrComposite, data: Nothing?): String = - "COMPOSITE type=${expression.type.render()} origin=${expression.origin}" - - override fun visitReturn(expression: IrReturn, data: Nothing?): String = - "RETURN type=${expression.type.render()} from='name=${expression.returnTarget.name} ${expression.returnTarget/*.ref()*/} ${expression.returnTargetSymbol}'" - - override fun visitCall(expression: IrCall, data: Nothing?): String = - "CALL '${expression.descriptor/*.ref()*/} ${expression.descriptor} ${expression.symbol}' ${expression.renderSuperQualifier()}" + - "type=${expression.type.render()} origin=${expression.origin}" - - private fun IrCall.renderSuperQualifier(): String = - superQualifier?.let { "superQualifier=${it.name} " } ?: "" - - override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall, data: Nothing?): String = - "DELEGATING_CONSTRUCTOR_CALL '${expression.descriptor.ref()}'" - - override fun visitEnumConstructorCall(expression: IrEnumConstructorCall, data: Nothing?): String = - "ENUM_CONSTRUCTOR_CALL '${expression.descriptor.ref()}'" - - override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall, data: Nothing?): String = - "INSTANCE_INITIALIZER_CALL classDescriptor='${expression.classDescriptor.ref()}'" - - override fun visitGetValue(expression: IrGetValue, data: Nothing?): String = - "GET_VAR '${expression.descriptor.ref()}' /*${expression.symbol.owner} ${expression.symbol.owner.hashCode()} ${expression.descriptor} ${expression.descriptor.hashCode()} */ type=${expression.type.render()} origin=${expression.origin}" - - override fun visitSetVariable(expression: IrSetVariable, data: Nothing?): String = - "SET_VAR '${expression.descriptor.ref()}' type=${expression.type.render()} origin=${expression.origin}" - - override fun visitGetField(expression: IrGetField, data: Nothing?): String = - "GET_FIELD '${expression.descriptor.ref()}' type=${expression.type.render()} origin=${expression.origin}" - - override fun visitSetField(expression: IrSetField, data: Nothing?): String = - "SET_FIELD '${expression.descriptor.ref()}' type=${expression.type.render()} origin=${expression.origin}" - - override fun visitGetObjectValue(expression: IrGetObjectValue, data: Nothing?): String = - "GET_OBJECT '${expression.descriptor.ref()}' type=${expression.type.render()}" - - override fun visitGetEnumValue(expression: IrGetEnumValue, data: Nothing?): String = - "GET_ENUM '${expression.descriptor.ref()}' type=${expression.type.render()}" - - override fun visitStringConcatenation(expression: IrStringConcatenation, data: Nothing?): String = - "STRING_CONCATENATION type=${expression.type.render()}" - - override fun visitTypeOperator(expression: IrTypeOperatorCall, data: Nothing?): String = - "TYPE_OP type=${expression.type.render()} origin=${expression.operator} typeOperand=${expression.typeOperand.render()}" - - override fun visitWhen(expression: IrWhen, data: Nothing?): String = - "WHEN type=${expression.type.render()} origin=${expression.origin}" - - override fun visitBranch(branch: IrBranch, data: Nothing?): String = - "BRANCH" - - override fun visitWhileLoop(loop: IrWhileLoop, data: Nothing?): String = - "WHILE label=${loop.label} origin=${loop.origin}" - - override fun visitDoWhileLoop(loop: IrDoWhileLoop, data: Nothing?): String = - "DO_WHILE label=${loop.label} origin=${loop.origin}" - - override fun visitBreak(jump: IrBreak, data: Nothing?): String = - "BREAK label=${jump.label} loop.label=${jump.loop.label}" - - override fun visitContinue(jump: IrContinue, data: Nothing?): String = - "CONTINUE label=${jump.label} loop.label=${jump.loop.label}" - - override fun visitThrow(expression: IrThrow, data: Nothing?): String = - "THROW type=${expression.type.render()}" - - override fun visitFunctionReference(expression: IrFunctionReference, data: Nothing?): String = - "FUNCTION_REFERENCE 'name=${expression.descriptor.name/*.ref()*/} ${expression.descriptor} ${expression.symbol}' type=${expression.type.render()} origin=${expression.origin}" - - override fun visitPropertyReference(expression: IrPropertyReference, data: Nothing?): String = - buildString { - append("PROPERTY_REFERENCE ") - append("'${expression.descriptor.ref()}' ") - appendNullableAttribute("field=", expression.field) { "'${it.descriptor.ref()}'" } - appendNullableAttribute("getter=", expression.getter) { "'${it.descriptor.ref()}'" } - appendNullableAttribute("setter=", expression.setter) { "'${it.descriptor.ref()}'" } - append("type=${expression.type.render()} ") - append("origin=${expression.origin}") - } - - private inline fun StringBuilder.appendNullableAttribute(prefix: String, value: T?, toString: (T) -> String) { - append(prefix) - if (value != null) { - append(toString(value)) - } else { - append("null") - } - append(" ") - } - - override fun visitLocalDelegatedPropertyReference(expression: IrLocalDelegatedPropertyReference, data: Nothing?): String = - buildString { - append("LOCAL_DELEGATED_PROPERTY_REFERENCE ") - append("'${expression.descriptor.ref()}' ") - append("delegate='${expression.delegate.descriptor.ref()}' ") - append("getter='${expression.getter.descriptor.ref()}' ") - appendNullableAttribute("setter=", expression.setter) { "'${it.descriptor.ref()}'" } - append("type=${expression.type.render()} ") - append("origin=${expression.origin}") - } - - override fun visitClassReference(expression: IrClassReference, data: Nothing?): String = - "CLASS_REFERENCE '${expression.descriptor.ref()}' type=${expression.type.render()}" - - override fun visitGetClass(expression: IrGetClass, data: Nothing?): String = - "GET_CLASS type=${expression.type.render()}" - - override fun visitTry(aTry: IrTry, data: Nothing?): String = - "TRY type=${aTry.type.render()}" - - override fun visitCatch(aCatch: IrCatch, data: Nothing?): String = - "CATCH parameter=${aCatch.parameter.ref()}" - - override fun visitErrorDeclaration(declaration: IrErrorDeclaration, data: Nothing?): String = - "ERROR_DECL ${declaration.descriptor::class.java.simpleName} ${declaration.descriptor.ref()}" - - override fun visitErrorExpression(expression: IrErrorExpression, data: Nothing?): String = - "ERROR_EXPR '${expression.description}' type=${expression.type.render()}" - - override fun visitErrorCallExpression(expression: IrErrorCallExpression, data: Nothing?): String = - "ERROR_CALL '${expression.description}' type=${expression.type.render()}" - - companion object { - val DECLARATION_RENDERER = DescriptorRenderer.withOptions { - withDefinedIn = false - overrideRenderingPolicy = OverrideRenderingPolicy.RENDER_OPEN_OVERRIDE - includePropertyConstant = true - classifierNamePolicy = ClassifierNamePolicy.FULLY_QUALIFIED - verbose = false - modifiers = DescriptorRendererModifier.ALL - } - - val REFERENCE_RENDERER = DescriptorRenderer.ONLY_NAMES_WITH_SHORT_TYPES - - internal fun IrDeclaration.name(): String = - descriptor.name.toString() - - internal fun DescriptorRenderer.renderDescriptor(descriptor: DeclarationDescriptor): String = - if (descriptor is ReceiverParameterDescriptor) - "this@${if (descriptor is WrappedDeclarationDescriptor<*>) "Wrapped" else descriptor.containingDeclaration.name}: ${if (descriptor is WrappedDeclarationDescriptor<*>) "Wrapped" else descriptor.type}" - else - render(descriptor) - - internal fun IrDeclaration.renderDeclared(): String = - DECLARATION_RENDERER.renderDescriptor(this.descriptor) - - internal fun DeclarationDescriptor.ref(): String = - REFERENCE_RENDERER.renderDescriptor(this) - - internal fun KotlinType.render(): String = - DECLARATION_RENDERER.renderType(this) - - internal fun IrDeclaration.renderOriginIfNonTrivial(): String = - if (origin != IrDeclarationOrigin.DEFINED) origin.toString() + " " else "" - } -} - - -class DumpIrTreeVizitor(out: Appendable) : IrElementVisitor { - - private val printer = Printer(out, " ") - private val elementRenderer = RenderIrElementVisitor() - - companion object { - val ANNOTATIONS_RENDERER = DescriptorRenderer.withOptions { - verbose = true - annotationArgumentsRenderingPolicy = AnnotationArgumentsRenderingPolicy.UNLESS_EMPTY - } - } - - override fun visitElement(element: IrElement, data: String) { - element.dumpLabeledElementWith(data) { - if (element is IrAnnotationContainer) { - dumpAnnotations(element) - } - element.acceptChildren(this@DumpIrTreeVizitor, "") - } - } - - override fun visitModuleFragment(declaration: IrModuleFragment, data: String) { - declaration.dumpLabeledElementWith(data) { - declaration.files.dumpElements() - } - } - - override fun visitFile(declaration: IrFile, data: String) { - declaration.dumpLabeledElementWith(data) { - declaration.fileAnnotations.dumpItemsWith("fileAnnotations") { - ANNOTATIONS_RENDERER.renderAnnotation(it) - } - dumpAnnotations(declaration) - declaration.declarations.dumpElements() - } - } - - override fun visitClass(declaration: IrClass, data: String) { - declaration.dumpLabeledElementWith(data) { - dumpAnnotations(declaration) - declaration.thisReceiver?.accept(this, "\$this") - declaration.typeParameters.dumpElements() - declaration.declarations.dumpElements() - } - } - - override fun visitTypeParameter(declaration: IrTypeParameter, data: String) { - declaration.dumpLabeledElementWith(data) { - dumpAnnotations(declaration) - } - } - - override fun visitSimpleFunction(declaration: IrSimpleFunction, data: String) { - declaration.dumpLabeledElementWith(data) { - dumpAnnotations(declaration) - declaration.correspondingProperty?.dumpInternal("correspondingProperty") - declaration.overriddenSymbols.dumpItems("overridden") { - it.dumpDeclarationElementOrDescriptor() - } - declaration.typeParameters.dumpElements() - declaration.dispatchReceiverParameter?.accept(this, "\$this") - declaration.extensionReceiverParameter?.accept(this, "\$receiver") - declaration.valueParameters.dumpElements() - declaration.body?.accept(this, "") - } - } - - private fun dumpAnnotations(element: IrAnnotationContainer) { - element.annotations.dumpItems("annotations") { - element.annotations.dumpElements() - } - } - - private fun IrSymbol.dumpDeclarationElementOrDescriptor(label: String? = null) { - when { - isBound -> - owner.dumpInternal(label) - label != null -> - printer.println("$label: ", "UNBOUND: ", DescriptorRenderer.COMPACT.render(descriptor)) - else -> - printer.println("UNBOUND: ", DescriptorRenderer.COMPACT.render(descriptor)) - } - } - - override fun visitConstructor(declaration: IrConstructor, data: String) { - declaration.dumpLabeledElementWith(data) { - dumpAnnotations(declaration) - declaration.typeParameters.dumpElements() - declaration.dispatchReceiverParameter?.accept(this, "\$outer") - declaration.valueParameters.dumpElements() - declaration.body?.accept(this, "") - } - } - - override fun visitProperty(declaration: IrProperty, data: String) { - declaration.dumpLabeledElementWith(data) { - dumpAnnotations(declaration) - declaration.backingField?.accept(this, "") - declaration.getter?.accept(this, "") - declaration.setter?.accept(this, "") - } - } - - override fun visitField(declaration: IrField, data: String) { - declaration.dumpLabeledElementWith(data) { - dumpAnnotations(declaration) - declaration.overriddenSymbols.dumpItems("overridden") { - it.dumpDeclarationElementOrDescriptor() - } - declaration.initializer?.accept(this, "") - } - } - - private fun List.dumpElements() { - forEach { it.accept(this@DumpIrTreeVizitor, "") } - } - - override fun visitErrorCallExpression(expression: IrErrorCallExpression, data: String) { - expression.dumpLabeledElementWith(data) { - expression.explicitReceiver?.accept(this, "receiver") - expression.arguments.dumpElements() - } - } - - override fun visitEnumEntry(declaration: IrEnumEntry, data: String) { - declaration.dumpLabeledElementWith(data) { - dumpAnnotations(declaration) - declaration.initializerExpression?.accept(this, "init") - declaration.correspondingClass?.accept(this, "class") - } - } - - override fun visitMemberAccess(expression: IrMemberAccessExpression, data: String) { - expression.dumpLabeledElementWith(data) { - dumpTypeArguments(expression) - expression.dispatchReceiver?.accept(this, "\$this") - expression.extensionReceiver?.accept(this, "\$receiver") - for (valueParameter in expression.descriptor.valueParameters) { - expression.getValueArgument(valueParameter.index)?.accept(this, valueParameter.name.asString()) - } - } - } - - private fun dumpTypeArguments(expression: IrMemberAccessExpression) { - for (index in 0 until expression.typeArgumentsCount) { - printer.println( - "${expression.descriptor.renderTypeParameter(index)}: ${expression.renderTypeArgument(index)}" - ) - } - } - - private fun CallableDescriptor.renderTypeParameter(index: Int): String { - val typeParameter = original.typeParameters.getOrNull(index) - return if (typeParameter != null) - DescriptorRenderer.ONLY_NAMES_WITH_SHORT_TYPES.render(typeParameter) - else - "<`$index>" - } - - private fun IrMemberAccessExpression.renderTypeArgument(index: Int): String = - getTypeArgument(index)?.render() ?: "" - - override fun visitGetField(expression: IrGetField, data: String) { - expression.dumpLabeledElementWith(data) { - expression.receiver?.accept(this, "receiver") - } - } - - override fun visitSetField(expression: IrSetField, data: String) { - expression.dumpLabeledElementWith(data) { - expression.receiver?.accept(this, "receiver") - expression.value.accept(this, "value") - } - } - - override fun visitWhen(expression: IrWhen, data: String) { - expression.dumpLabeledElementWith(data) { - expression.branches.dumpElements() - } - } - - override fun visitBranch(branch: IrBranch, data: String) { - branch.dumpLabeledElementWith(data) { - branch.condition.accept(this, "if") - branch.result.accept(this, "then") - } - } - - override fun visitWhileLoop(loop: IrWhileLoop, data: String) { - loop.dumpLabeledElementWith(data) { - loop.condition.accept(this, "condition") - loop.body?.accept(this, "body") - } - } - - override fun visitDoWhileLoop(loop: IrDoWhileLoop, data: String) { - loop.dumpLabeledElementWith(data) { - loop.body?.accept(this, "body") - loop.condition.accept(this, "condition") - } - } - - override fun visitTry(aTry: IrTry, data: String) { - aTry.dumpLabeledElementWith(data) { - aTry.tryResult.accept(this, "try") - aTry.catches.dumpElements() - aTry.finallyExpression?.accept(this, "finally") - } - } - - override fun visitTypeOperator(expression: IrTypeOperatorCall, data: String) { - expression.dumpLabeledElementWith(data) { - expression.typeOperandClassifier.dumpDeclarationElementOrDescriptor("typeOperand") - expression.acceptChildren(this, "") - } - } - - private inline fun IrElement.dumpLabeledElementWith(label: String, body: () -> Unit) { - printer.println(accept(elementRenderer, null).withLabel(label)) - indented(body) - } - - private inline fun Collection.dumpItems(caption: String, renderElement: (T) -> Unit) { - if (isEmpty()) return - indented(caption) { - forEach { - renderElement(it) - } - } - } - - private inline fun Collection.dumpItemsWith(caption: String, renderElement: (T) -> String) { - if (isEmpty()) return - indented(caption) { - forEach { - printer.println(renderElement(it)) - } - } - } - - private fun IrElement.dumpInternal(label: String? = null) { - if (label != null) { - printer.println("$label: ", accept(elementRenderer, null)) - } else { - printer.println(accept(elementRenderer, null)) - } - - } - - private inline fun indented(label: String, body: () -> Unit) { - printer.println("$label:") - indented(body) - } - - private inline fun indented(body: () -> Unit) { - printer.pushIndent() - body() - printer.popIndent() - } - - private fun String.withLabel(label: String) = - if (label.isEmpty()) this else "$label: $this" -} - - -fun ir2stringWholezzz(ir: IrElement?): String { - val strWriter = StringWriter() - - ir?.accept(DumpIrTreeVizitor(strWriter), "") - return strWriter.toString() } \ No newline at end of file diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/irasdescriptors/IrTypeAsKotlinType.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/IrTypeAsKotlinType.kt similarity index 98% rename from backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/irasdescriptors/IrTypeAsKotlinType.kt rename to backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/IrTypeAsKotlinType.kt index 9fd099d7ff9..decf537f86b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/irasdescriptors/IrTypeAsKotlinType.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/IrTypeAsKotlinType.kt @@ -3,7 +3,7 @@ * that can be found in the LICENSE file. */ -package org.jetbrains.kotlin.backend.konan.irasdescriptors +package org.jetbrains.kotlin.backend.konan.ir import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor import org.jetbrains.kotlin.builtins.getFunctionalClassKind diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/irasdescriptors/NewIrUtils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/NewIrUtils.kt similarity index 99% rename from backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/irasdescriptors/NewIrUtils.kt rename to backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/NewIrUtils.kt index 524361b3aae..4de351d258b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/irasdescriptors/NewIrUtils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/NewIrUtils.kt @@ -3,7 +3,7 @@ * that can be found in the LICENSE file. */ -package org.jetbrains.kotlin.backend.konan.irasdescriptors +package org.jetbrains.kotlin.backend.konan.ir import org.jetbrains.kotlin.backend.common.atMostOne import org.jetbrains.kotlin.backend.konan.descriptors.getArgumentValueOrNull diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/BinaryInterface.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/BinaryInterface.kt index f6fadd21873..d3aec1cf73b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/BinaryInterface.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/BinaryInterface.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.descriptors.externalSymbolOrThrow import org.jetbrains.kotlin.backend.konan.descriptors.getAnnotationValue import org.jetbrains.kotlin.backend.konan.descriptors.isAbstract -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.konan.library.KonanLibrary import org.jetbrains.kotlin.backend.konan.optimizations.DataFlowIR import org.jetbrains.kotlin.descriptors.ModuleDescriptor diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/CodeGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/CodeGenerator.kt index 3694dea13ff..74346216e98 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/CodeGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/CodeGenerator.kt @@ -10,13 +10,13 @@ import kotlinx.cinterop.* import llvm.* import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.descriptors.isInterface -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* import org.jetbrains.kotlin.backend.konan.llvm.objc.* import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.konan.target.* import org.jetbrains.kotlin.backend.konan.descriptors.resolveFakeOverride +import org.jetbrains.kotlin.backend.konan.ir.* internal class CodeGenerator(override val context: Context) : ContextUtils { diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/ContextUtils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/ContextUtils.kt index b32c9f474ec..cba89c5f870 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/ContextUtils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/ContextUtils.kt @@ -8,9 +8,9 @@ package org.jetbrains.kotlin.backend.konan.llvm import kotlinx.cinterop.* import llvm.* import org.jetbrains.kotlin.backend.konan.Context -import org.jetbrains.kotlin.backend.konan.descriptors.findPackage import org.jetbrains.kotlin.backend.konan.hash.GlobalHash -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.isReal +import org.jetbrains.kotlin.backend.konan.ir.llvmSymbolOrigin import org.jetbrains.kotlin.descriptors.konan.CompiledKonanModuleOrigin import org.jetbrains.kotlin.descriptors.konan.CurrentKonanModuleOrigin import org.jetbrains.kotlin.descriptors.konan.DeserializedKonanModuleOrigin diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt index 709d76a32cc..d26717302a0 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt @@ -12,14 +12,12 @@ import org.jetbrains.kotlin.backend.common.ir.ir2string import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.descriptors.* import org.jetbrains.kotlin.backend.konan.ir.* -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExport import org.jetbrains.kotlin.backend.konan.optimizations.* import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.UnsignedType import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.PropertyDescriptor -import org.jetbrains.kotlin.descriptors.konan.CurrentKonanModuleOrigin import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/KotlinObjCClassInfoGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/KotlinObjCClassInfoGenerator.kt index 5279717f0b0..d5cb4205596 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/KotlinObjCClassInfoGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/KotlinObjCClassInfoGenerator.kt @@ -10,7 +10,7 @@ import llvm.LLVMValueRef import org.jetbrains.kotlin.backend.common.atMostOne import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.descriptors.getStringValue -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.util.constructors diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmDeclarations.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmDeclarations.kt index 5c013b9689c..c6dc68607f1 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmDeclarations.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmDeclarations.kt @@ -9,7 +9,7 @@ import kotlinx.cinterop.* import llvm.* import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.descriptors.* -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.types.isNothing diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/RTTIGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/RTTIGenerator.kt index 1b1b2084305..f361c2838ed 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/RTTIGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/RTTIGenerator.kt @@ -9,7 +9,7 @@ import llvm.* import org.jetbrains.kotlin.backend.konan.Context import org.jetbrains.kotlin.backend.konan.computePrimitiveBinaryTypeOrNull import org.jetbrains.kotlin.backend.konan.descriptors.* -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.backend.konan.isExternalObjCClassMethod import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrField diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticObjects.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticObjects.kt index 9d766fe27a2..1cc4eb46d9b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticObjects.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticObjects.kt @@ -7,13 +7,9 @@ package org.jetbrains.kotlin.backend.konan.llvm import kotlinx.cinterop.cValuesOf import llvm.* -import org.jetbrains.kotlin.backend.konan.irasdescriptors.fqNameSafe -import org.jetbrains.kotlin.backend.konan.irasdescriptors.llvmSymbolOrigin -import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.incremental.components.NoLookupLocation +import org.jetbrains.kotlin.backend.konan.ir.fqNameSafe +import org.jetbrains.kotlin.backend.konan.ir.llvmSymbolOrigin import org.jetbrains.kotlin.ir.declarations.IrClass -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.name.Name private fun ConstPointer.add(index: Int): ConstPointer { return constPointer(LLVMConstGEP(llvm, cValuesOf(Int32(index).llvm), 1)!!) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt index ebcba3f3285..fbcccf5fee2 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.backend.common.atMostOne import org.jetbrains.kotlin.backend.common.descriptors.allParameters import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.descriptors.* -import org.jetbrains.kotlin.backend.konan.irasdescriptors.constructedClass +import org.jetbrains.kotlin.backend.konan.ir.constructedClass import org.jetbrains.kotlin.backend.konan.llvm.* import org.jetbrains.kotlin.backend.konan.llvm.objc.ObjCCodeGenerator import org.jetbrains.kotlin.backend.konan.objcexport.* diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt index c2f4bdcb33b..b3e399f4ab6 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.backend.common.ir.copyTo import org.jetbrains.kotlin.backend.common.lower.* import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.descriptors.target -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.ir.IrStatement diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BuiltinOperatorLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BuiltinOperatorLowering.kt index 3ad36e11304..a422d8e920a 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BuiltinOperatorLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BuiltinOperatorLowering.kt @@ -11,9 +11,9 @@ import org.jetbrains.kotlin.backend.common.lower.IrBuildingTransformer import org.jetbrains.kotlin.backend.common.lower.at import org.jetbrains.kotlin.backend.common.lower.irNot import org.jetbrains.kotlin.backend.konan.* -import org.jetbrains.kotlin.backend.konan.irasdescriptors.containsNull -import org.jetbrains.kotlin.backend.konan.irasdescriptors.isSubtypeOf -import org.jetbrains.kotlin.backend.konan.irasdescriptors.overrides +import org.jetbrains.kotlin.backend.konan.ir.containsNull +import org.jetbrains.kotlin.backend.konan.ir.isSubtypeOf +import org.jetbrains.kotlin.backend.konan.ir.overrides import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.ir.builders.* diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt index fa979d6f76b..d19fd77e345 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt @@ -14,8 +14,8 @@ import org.jetbrains.kotlin.backend.konan.Context import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName import org.jetbrains.kotlin.backend.common.pop import org.jetbrains.kotlin.backend.common.push -import org.jetbrains.kotlin.backend.konan.irasdescriptors.fqNameSafe -import org.jetbrains.kotlin.backend.konan.irasdescriptors.isFunctionOrKFunctionType +import org.jetbrains.kotlin.backend.konan.ir.fqNameSafe +import org.jetbrains.kotlin.backend.konan.ir.isFunctionOrKFunctionType import org.jetbrains.kotlin.backend.konan.llvm.functionName import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.IrElement diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/DelegationLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/DelegationLowering.kt index 14a032ef88a..19b58444091 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/DelegationLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/DelegationLowering.kt @@ -14,13 +14,12 @@ import org.jetbrains.kotlin.backend.konan.Context import org.jetbrains.kotlin.backend.konan.InteropFqNames import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName import org.jetbrains.kotlin.backend.konan.KonanBackendContext -import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWithStarProjections +import org.jetbrains.kotlin.backend.konan.ir.typeWithStarProjections import org.jetbrains.kotlin.backend.konan.isObjCClass import org.jetbrains.kotlin.backend.konan.SYNTHETIC_OFFSET import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptorImpl import org.jetbrains.kotlin.descriptors.annotations.Annotations -import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.builders.* import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.IrFieldImpl diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumClassLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumClassLowering.kt index 2e1298c728a..cdb89e94bf3 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumClassLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumClassLowering.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.backend.common.lower.irBlockBody import org.jetbrains.kotlin.backend.common.runOnFilePostfix import org.jetbrains.kotlin.backend.konan.Context import org.jetbrains.kotlin.backend.konan.DECLARATION_ORIGIN_ENUM -import org.jetbrains.kotlin.backend.konan.irasdescriptors.constructedClass +import org.jetbrains.kotlin.backend.konan.ir.constructedClass import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.builders.* import org.jetbrains.kotlin.ir.declarations.* diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumWhenLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumWhenLowering.kt index efb29443529..09277ecd45d 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumWhenLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumWhenLowering.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.backend.common.peek import org.jetbrains.kotlin.backend.common.pop import org.jetbrains.kotlin.backend.common.push import org.jetbrains.kotlin.backend.konan.Context -import org.jetbrains.kotlin.backend.konan.irasdescriptors.containsNull +import org.jetbrains.kotlin.backend.konan.ir.containsNull import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.IrFile diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FinallyBlocksLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FinallyBlocksLowering.kt index 630d8609e88..78158bd6131 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FinallyBlocksLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FinallyBlocksLowering.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.backend.common.* import org.jetbrains.kotlin.backend.common.descriptors.WrappedSimpleFunctionDescriptor import org.jetbrains.kotlin.backend.common.descriptors.WrappedVariableDescriptor import org.jetbrains.kotlin.backend.konan.Context -import org.jetbrains.kotlin.backend.konan.irasdescriptors.file import org.jetbrains.kotlin.backend.konan.SYNTHETIC_OFFSET import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FunctionInlining.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FunctionInlining.kt index cfa9dec3334..3a24cfb0540 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FunctionInlining.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/FunctionInlining.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.backend.common.lower.CoroutineIntrinsicLambdaOrigin import org.jetbrains.kotlin.backend.common.lower.createIrBuilder import org.jetbrains.kotlin.backend.konan.Context import org.jetbrains.kotlin.backend.konan.descriptors.resolveFakeOverride -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.IrStatement diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt index 7d8eb358cb8..0936bafc6a9 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.backend.konan.getInlinedClass import org.jetbrains.kotlin.backend.konan.descriptors.allOverriddenFunctions import org.jetbrains.kotlin.backend.konan.descriptors.isInterface import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.backend.konan.objcexport.namePrefix import org.jetbrains.kotlin.backend.konan.llvm.IntrinsicType import org.jetbrains.kotlin.backend.konan.llvm.llvmSymbolOrigin diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/PostInlineLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/PostInlineLowering.kt index 44731591bd4..efd8bbca3ec 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/PostInlineLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/PostInlineLowering.kt @@ -9,8 +9,7 @@ import org.jetbrains.kotlin.backend.common.FileLoweringPass import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext import org.jetbrains.kotlin.backend.common.lower.createIrBuilder import org.jetbrains.kotlin.backend.konan.Context -import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWithStarProjections -import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWithoutArguments +import org.jetbrains.kotlin.backend.konan.ir.typeWithoutArguments import org.jetbrains.kotlin.backend.konan.reportCompilationError import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.ir.expressions.* diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/SuspendFunctionsLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/SuspendFunctionsLowering.kt index 61bd1f46f2c..e91b42f1640 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/SuspendFunctionsLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/SuspendFunctionsLowering.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.backend.common.lower.* import org.jetbrains.kotlin.backend.konan.Context import org.jetbrains.kotlin.backend.konan.SYNTHETIC_OFFSET import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName -import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWith +import org.jetbrains.kotlin.backend.konan.ir.typeWith import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.IrElement diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TestProcessor.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TestProcessor.kt index d3115a2e91b..12e38991cfd 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TestProcessor.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TestProcessor.kt @@ -8,16 +8,14 @@ package org.jetbrains.kotlin.backend.konan.lower import org.jetbrains.kotlin.backend.common.descriptors.WrappedClassConstructorDescriptor import org.jetbrains.kotlin.backend.common.descriptors.WrappedClassDescriptor import org.jetbrains.kotlin.backend.common.descriptors.WrappedSimpleFunctionDescriptor -import org.jetbrains.kotlin.backend.common.lower.SymbolWithIrBuilder import org.jetbrains.kotlin.backend.common.lower.createIrBuilder import org.jetbrains.kotlin.backend.common.reportWarning import org.jetbrains.kotlin.backend.konan.Context -import org.jetbrains.kotlin.backend.konan.KonanBackendContext import org.jetbrains.kotlin.backend.konan.descriptors.isAbstract import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName -import org.jetbrains.kotlin.backend.konan.irasdescriptors.fqNameSafe -import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWithStarProjections -import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWithoutArguments +import org.jetbrains.kotlin.backend.konan.ir.fqNameSafe +import org.jetbrains.kotlin.backend.konan.ir.typeWithStarProjections +import org.jetbrains.kotlin.backend.konan.ir.typeWithoutArguments import org.jetbrains.kotlin.backend.konan.SYNTHETIC_OFFSET import org.jetbrains.kotlin.backend.konan.reportCompilationError import org.jetbrains.kotlin.descriptors.* @@ -39,9 +37,7 @@ import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.descriptorUtil.module -import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult internal class TestProcessor (val context: Context) { diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TypeOperatorLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TypeOperatorLowering.kt index db3970a42a5..5cdb7fc9355 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TypeOperatorLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TypeOperatorLowering.kt @@ -11,8 +11,8 @@ import org.jetbrains.kotlin.backend.common.lower.at import org.jetbrains.kotlin.backend.common.lower.createIrBuilder import org.jetbrains.kotlin.backend.common.lower.irBlock import org.jetbrains.kotlin.ir.util.isSimpleTypeWithQuestionMark -import org.jetbrains.kotlin.backend.konan.irasdescriptors.containsNull -import org.jetbrains.kotlin.backend.konan.irasdescriptors.isSubtypeOf +import org.jetbrains.kotlin.backend.konan.ir.containsNull +import org.jetbrains.kotlin.backend.konan.ir.isSubtypeOf import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.builders.* import org.jetbrains.kotlin.ir.declarations.IrFunction diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/loops/HeaderInfo.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/loops/HeaderInfo.kt index 3b8524a0ccc..520bd5b343f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/loops/HeaderInfo.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/loops/HeaderInfo.kt @@ -1,7 +1,7 @@ package org.jetbrains.kotlin.backend.konan.lower.loops import org.jetbrains.kotlin.backend.konan.Context -import org.jetbrains.kotlin.backend.konan.irasdescriptors.isSubtypeOf +import org.jetbrains.kotlin.backend.konan.ir.isSubtypeOf import org.jetbrains.kotlin.backend.konan.lower.matchers.IrCallMatcher import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrValueDeclaration diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/loops/HeaderProcessor.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/loops/HeaderProcessor.kt index 0741be2f16c..479aa4b310b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/loops/HeaderProcessor.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/loops/HeaderProcessor.kt @@ -4,8 +4,8 @@ import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder import org.jetbrains.kotlin.backend.common.lower.createIrBuilder import org.jetbrains.kotlin.backend.konan.Context import org.jetbrains.kotlin.backend.konan.ir.KonanSymbols -import org.jetbrains.kotlin.backend.konan.irasdescriptors.isSubtypeOf -import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWithStarProjections +import org.jetbrains.kotlin.backend.konan.ir.isSubtypeOf +import org.jetbrains.kotlin.backend.konan.ir.typeWithStarProjections import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.builders.irCall import org.jetbrains.kotlin.ir.builders.irGet diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/matchers/IrFunctionMatcher.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/matchers/IrFunctionMatcher.kt index 9c1bd16ae64..a0af94f051b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/matchers/IrFunctionMatcher.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/matchers/IrFunctionMatcher.kt @@ -1,6 +1,6 @@ package org.jetbrains.kotlin.backend.konan.lower.matchers -import org.jetbrains.kotlin.backend.konan.irasdescriptors.fqNameSafe +import org.jetbrains.kotlin.backend.konan.ir.fqNameSafe import org.jetbrains.kotlin.ir.declarations.IrFunction import org.jetbrains.kotlin.ir.declarations.IrValueParameter import org.jetbrains.kotlin.ir.symbols.IrClassSymbol diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGBuilder.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGBuilder.kt index c192e485cc2..58ec53f2081 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGBuilder.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGBuilder.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.descriptors.allOverriddenFunctions import org.jetbrains.kotlin.backend.konan.descriptors.isInterface import org.jetbrains.kotlin.backend.konan.descriptors.target -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.backend.konan.llvm.functionName import org.jetbrains.kotlin.backend.konan.llvm.localHash import org.jetbrains.kotlin.ir.IrElement diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DataFlowIR.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DataFlowIR.kt index c457f10ef28..ac96682f0cc 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DataFlowIR.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DataFlowIR.kt @@ -9,13 +9,12 @@ import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.backend.konan.descriptors.isAbstract import org.jetbrains.kotlin.backend.konan.descriptors.isInterface import org.jetbrains.kotlin.backend.konan.descriptors.target -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.backend.konan.llvm.functionName import org.jetbrains.kotlin.backend.konan.llvm.isExported import org.jetbrains.kotlin.backend.konan.llvm.localHash import org.jetbrains.kotlin.backend.konan.llvm.symbolName import org.jetbrains.kotlin.backend.konan.lower.bridgeTarget -import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.incremental.components.NoLookupLocation @@ -495,7 +494,7 @@ internal object DataFlowIR { if (irClass.module.name == Name.special("") || irClass.isObjCClass()) return Type.Virtual - if (eraseLocalObjects && irClass.isAnonymousObject && irClass.isLocal) + if (eraseLocalObjects && irClass.isAnonymousObject) return mapClassReferenceType(irClass.getSuperClassNotAny() ?: context.irBuiltIns.anyClass.owner) val isFinal = irClass.isFinal() diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/Devirtualization.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/Devirtualization.kt index 17d8bd3c522..88eb2625a8f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/Devirtualization.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/Devirtualization.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.backend.konan.descriptors.isInterface import org.jetbrains.kotlin.backend.konan.ir.IrPrivateClassReferenceImpl import org.jetbrains.kotlin.backend.konan.ir.IrPrivateFunctionCall import org.jetbrains.kotlin.backend.konan.ir.IrPrivateFunctionCallImpl -import org.jetbrains.kotlin.backend.konan.irasdescriptors.getErasedTypeClass +import org.jetbrains.kotlin.backend.konan.ir.getErasedTypeClass import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.builders.* diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/SerializeDescriptorReference.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/SerializeDescriptorReference.kt index 044648a48bc..3e8a0e1ac0a 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/SerializeDescriptorReference.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/SerializeDescriptorReference.kt @@ -1,9 +1,8 @@ package org.jetbrains.kotlin.backend.konan.serialization -import org.jetbrains.kotlin.backend.konan.irasdescriptors.isAccessor -import org.jetbrains.kotlin.backend.konan.irasdescriptors.isGetter -import org.jetbrains.kotlin.backend.konan.irasdescriptors.isSetter -import org.jetbrains.kotlin.backend.konan.irasdescriptors.name +import org.jetbrains.kotlin.backend.konan.ir.isAccessor +import org.jetbrains.kotlin.backend.konan.ir.isGetter +import org.jetbrains.kotlin.backend.konan.ir.isSetter import org.jetbrains.kotlin.backend.konan.llvm.isExported import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.declarations.* diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/UniqSymbolName.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/UniqSymbolName.kt index a9a262ebc18..934ab6333d2 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/UniqSymbolName.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/UniqSymbolName.kt @@ -1,7 +1,7 @@ package org.jetbrains.kotlin.backend.konan.serialization -import org.jetbrains.kotlin.backend.konan.irasdescriptors.fqNameSafe -import org.jetbrains.kotlin.backend.konan.irasdescriptors.name +import org.jetbrains.kotlin.backend.konan.ir.fqNameSafe +import org.jetbrains.kotlin.backend.konan.ir.name import org.jetbrains.kotlin.backend.konan.llvm.extensionReceiverNamePart import org.jetbrains.kotlin.backend.konan.llvm.functionName import org.jetbrains.kotlin.backend.konan.llvm.symbolName diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUnboundSymbolReplacer.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUnboundSymbolReplacer.kt index 6c27b4bd773..d2372690aad 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUnboundSymbolReplacer.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUnboundSymbolReplacer.kt @@ -8,8 +8,7 @@ package org.jetbrains.kotlin.ir.util import org.jetbrains.kotlin.backend.common.pop import org.jetbrains.kotlin.backend.common.push import org.jetbrains.kotlin.backend.konan.Context -import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWith -import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWithStarProjections +import org.jetbrains.kotlin.backend.konan.ir.typeWithStarProjections import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.IrStatement diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt index 661a781b90c..26516cc469e 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt @@ -9,13 +9,13 @@ import org.jetbrains.kotlin.backend.common.CommonBackendContext import org.jetbrains.kotlin.backend.common.descriptors.* import org.jetbrains.kotlin.backend.common.descriptors.WrappedSimpleFunctionDescriptor import org.jetbrains.kotlin.backend.common.descriptors.WrappedVariableDescriptor -import org.jetbrains.kotlin.backend.common.descriptors.WrappedPropertyDescriptor import org.jetbrains.kotlin.backend.common.descriptors.substitute import org.jetbrains.kotlin.backend.common.ir.copyParameterDeclarationsFrom import org.jetbrains.kotlin.backend.konan.KonanBackendContext import org.jetbrains.kotlin.backend.konan.KonanCompilationException import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName -import org.jetbrains.kotlin.backend.konan.irasdescriptors.* +import org.jetbrains.kotlin.backend.konan.ir.allParameters +import org.jetbrains.kotlin.backend.konan.ir.containsNull import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.FunctionDescriptor @@ -34,7 +34,6 @@ import org.jetbrains.kotlin.ir.expressions.impl.* import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol -import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl @@ -45,9 +44,6 @@ import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl import org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection import org.jetbrains.kotlin.ir.visitors.IrElementVisitor -import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid -import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid -import org.jetbrains.kotlin.ir.visitors.acceptVoid import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.calls.checkers.isRestrictsSuspensionReceiver import org.jetbrains.kotlin.types.*