From 724101cdd2ead5c7e7631a8cbf7cc237c39a63ed Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 18 May 2020 18:25:09 +0300 Subject: [PATCH] [IR] Get rid of minor symbol.descriptor usages --- .../backend/common/lower/DefaultArgumentStubGenerator.kt | 2 +- .../kotlin/backend/jvm/codegen/ExpressionCodegen.kt | 2 +- .../backend/jvm/codegen/IrSourceCompilerForInline.kt | 1 - .../src/org/jetbrains/kotlin/ir/descriptors/IrBuiltIns.kt | 2 -- .../impl/IrNoArgumentsCallableReferenceBase.kt | 2 +- .../kotlin/ir/symbols/impl/IrPrivateSymbolBase.kt | 4 ++-- .../jetbrains/kotlin/ir/util/DeepCopySymbolRemapper.kt | 8 ++++---- .../kotlin/ir/util/ExternalDependenciesGenerator.kt | 2 +- .../src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt | 2 +- .../src/org/jetbrains/kotlin/ir/util/SymbolTable.kt | 2 +- .../org/jetbrains/kotlin/ir/AbstractIrTextTestCase.kt | 4 ++-- 11 files changed, 14 insertions(+), 17 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt index 61fde4de7e3..786cbfe303a 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt @@ -250,7 +250,7 @@ open class DefaultParameterInjector( val (symbol, params) = parametersForCall(expression) ?: return expression for (i in 0 until expression.typeArgumentsCount) { - log { "${symbol.descriptor}[$i]: ${expression.getTypeArgument(i)}" } + log { "$symbol[$i]: ${expression.getTypeArgument(i)}" } } symbol.owner.typeParameters.forEach { log { "${symbol.owner}[${it.index}] : $it" } } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt index 1cfa202c6b3..3aa09a8b885 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt @@ -590,7 +590,7 @@ class ExpressionCodegen( val index = frameMap.getIndex(irSymbol) if (index >= 0) return index - val dump = if (irSymbol.isBound) irSymbol.owner.dump() else irSymbol.descriptor.toString() + val dump = if (irSymbol.isBound) irSymbol.owner.dump() else "??? unbound symbol ???" throw AssertionError("Non-mapped local declaration: $dump\n in ${irFunction.dump()}") } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt index 402951c059f..9c81a03ef46 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt @@ -97,7 +97,6 @@ class IrSourceCompilerForInline( callDefault: Boolean, asmMethod: Method ): SMAPAndMethodNode { - assert(callableDescriptor == callee.symbol.descriptor.original) { "Expected $callableDescriptor got ${callee.descriptor.original}" } return ClassCodegen.getOrCreate(callee.parentAsClass, codegen.context).generateMethodNode(callee) } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBuiltIns.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBuiltIns.kt index 8db05a9fdda..c0a66f0fd10 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBuiltIns.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBuiltIns.kt @@ -292,10 +292,8 @@ class IrBuiltIns( private fun TypeConstructor.makeNullableType() = KotlinTypeFactory.simpleType(Annotations.EMPTY, this, listOf(), true) val dataClassArrayMemberHashCodeSymbol = defineOperator("dataClassArrayMemberHashCode", intType, listOf(anyType)) - val dataClassArrayMemberHashCode = dataClassArrayMemberHashCodeSymbol.descriptor val dataClassArrayMemberToStringSymbol = defineOperator("dataClassArrayMemberToString", stringType, listOf(anyNType)) - val dataClassArrayMemberToString = dataClassArrayMemberToStringSymbol.descriptor fun function(n: Int): IrClassSymbol = functionFactory.functionN(n).symbol fun suspendFunction(n: Int): IrClassSymbol = functionFactory.suspendFunctionN(n).symbol diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrNoArgumentsCallableReferenceBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrNoArgumentsCallableReferenceBase.kt index 8fcc011197c..1086bedbef7 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrNoArgumentsCallableReferenceBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrNoArgumentsCallableReferenceBase.kt @@ -32,7 +32,7 @@ abstract class IrNoArgumentsCallableReferenceBase( IrCallableReference { private fun throwNoValueArguments(): Nothing { - throw UnsupportedOperationException("Property reference ${symbol.descriptor} has no value arguments") + throw UnsupportedOperationException("Property reference $symbol has no value arguments") } override fun getValueArgument(index: Int): IrExpression? = throwNoValueArguments() diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/IrPrivateSymbolBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/IrPrivateSymbolBase.kt index 6577b95cfc6..4085289642a 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/IrPrivateSymbolBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/IrPrivateSymbolBase.kt @@ -48,13 +48,13 @@ abstract class IrBindableSymbolBase Map.getDeclared(symbol: T) = getOrElse(symbol) { - throw IllegalArgumentException("Non-remapped symbol $symbol ${symbol.descriptor}") + throw IllegalArgumentException("Non-remapped symbol $symbol") } private fun Map.getReferenced(symbol: T) = @@ -196,14 +196,14 @@ open class DeepCopySymbolRemapper( when (symbol) { is IrValueParameterSymbol -> valueParameters.getReferenced(symbol) is IrVariableSymbol -> variables.getReferenced(symbol) - else -> throw IllegalArgumentException("Unexpected symbol $symbol ${symbol.descriptor}") + else -> throw IllegalArgumentException("Unexpected symbol $symbol") } override fun getReferencedFunction(symbol: IrFunctionSymbol): IrFunctionSymbol = when (symbol) { is IrSimpleFunctionSymbol -> functions.getReferenced(symbol) is IrConstructorSymbol -> constructors.getReferenced(symbol) - else -> throw IllegalArgumentException("Unexpected symbol $symbol ${symbol.descriptor}") + else -> throw IllegalArgumentException("Unexpected symbol $symbol") } override fun getReferencedReturnableBlock(symbol: IrReturnableBlockSymbol): IrReturnableBlockSymbol = @@ -213,7 +213,7 @@ open class DeepCopySymbolRemapper( when (symbol) { is IrClassSymbol -> classes.getReferenced(symbol) is IrTypeParameterSymbol -> typeParameters.getReferenced(symbol) - else -> throw IllegalArgumentException("Unexpected symbol $symbol ${symbol.descriptor}") + else -> throw IllegalArgumentException("Unexpected symbol $symbol") } override fun getReferencedTypeAlias(symbol: IrTypeAliasSymbol): IrTypeAliasSymbol = typeAliases.getReferenced(symbol) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt index 42385b40180..77b56b8d9c8 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt @@ -32,7 +32,7 @@ class ExternalDependenciesGenerator( fun generateUnboundSymbolsAsDependencies() { if (languageVersionSettings.supportsFeature(LanguageFeature.NewInference)) { require(symbolTable.unboundTypeParameters.isEmpty()) { - "Unbound type parameters are forbidden: ${symbolTable.unboundTypeParameters.map { it.descriptor }}" + "Unbound type parameters are forbidden: ${symbolTable.unboundTypeParameters}" } } // There should be at most one DeclarationStubGenerator (none in closed world?) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt index 48dcbdeb139..115928538c3 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt @@ -739,7 +739,7 @@ internal fun IrTypeAliasSymbol.renderTypeAliasFqn(): String = if (isBound) StringBuilder().also { owner.renderDeclarationFqn(it) }.toString() else - "" + "" internal fun IrClass.renderClassFqn(): String = StringBuilder().also { renderDeclarationFqn(it) }.toString() diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt index c57cbc5ab91..9dc7d3c34fd 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt @@ -165,7 +165,7 @@ open class SymbolTable( if (s == null) { val new = orElse() assert(unboundSymbols.add(new)) { - "Symbol for ${new.descriptor} was already referenced" + "Symbol for $new was already referenced" } set(d0, new) return new diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrTextTestCase.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrTextTestCase.kt index 8785dda9fea..e73423ae75c 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrTextTestCase.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrTextTestCase.kt @@ -283,7 +283,7 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() { private fun IrSymbol.checkBinding(kind: String, irElement: IrElement) { if (!isBound) { - error("${javaClass.simpleName} $descriptor is unbound @$kind ${irElement.render()}") + error("${javaClass.simpleName} descriptor is unbound @$kind ${irElement.render()}") } else { val irDeclaration = owner as? IrDeclaration if (irDeclaration != null) { @@ -297,7 +297,7 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() { val otherSymbol = symbolForDeclaration.getOrPut(owner) { this } if (this != otherSymbol) { - error("Multiple symbols for $descriptor @$kind ${irElement.render()}") + error("Multiple symbols for descriptor of @$kind ${irElement.render()}") } }