From 15928c5b46bc5ccb917d80bb25f0439c960e7278 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 27 Mar 2019 16:15:09 +0100 Subject: [PATCH] Minor, take String instead of Name in IrFunction.addValueParameter All call sites of this method construct parameters with the given string literal name (and more such call sites are coming in subsequent commits) and it feels like a boilerplate to wrap it into Name each time manually --- .../builders/declarations/declarationBuilders.kt | 6 +++--- .../jvm/lower/AdditionalClassAnnotationLowering.kt | 14 ++++++++++---- .../backend/jvm/lower/SyntheticAccessorLowering.kt | 14 ++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt index 63af1303384..9263993f615 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt @@ -113,9 +113,9 @@ inline fun IrFunction.addValueParameter(b: IrValueParameterBuilder.() -> Unit): } } -fun IrFunction.addValueParameter(name: Name, type: IrType, origin: IrDeclarationOrigin): IrValueParameter = +fun IrFunction.addValueParameter(name: String, type: IrType, origin: IrDeclarationOrigin): IrValueParameter = addValueParameter { - this.name = name + this.name = Name.identifier(name) this.type = type this.origin = origin - } \ No newline at end of file + } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AdditionalClassAnnotationLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AdditionalClassAnnotationLowering.kt index 86e579c8147..4d85e58034b 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AdditionalClassAnnotationLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/AdditionalClassAnnotationLowering.kt @@ -24,7 +24,10 @@ import org.jetbrains.kotlin.ir.builders.declarations.buildValueParameter import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.IrEnumEntryImpl import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl -import org.jetbrains.kotlin.ir.expressions.* +import org.jetbrains.kotlin.ir.expressions.IrCall +import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.ir.expressions.IrGetEnumValue +import org.jetbrains.kotlin.ir.expressions.IrVararg import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl import org.jetbrains.kotlin.ir.expressions.impl.IrGetEnumValueImpl import org.jetbrains.kotlin.ir.expressions.impl.IrVarargImpl @@ -32,7 +35,10 @@ import org.jetbrains.kotlin.ir.symbols.impl.IrEnumEntrySymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrExternalPackageFragmentSymbolImpl import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl import org.jetbrains.kotlin.ir.types.typeWith -import org.jetbrains.kotlin.ir.util.* +import org.jetbrains.kotlin.ir.util.defaultType +import org.jetbrains.kotlin.ir.util.getAnnotation +import org.jetbrains.kotlin.ir.util.hasAnnotation +import org.jetbrains.kotlin.ir.util.isAnnotationClass import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name @@ -99,7 +105,7 @@ private class AdditionalClassAnnotationLowering(private val context: JvmBackendC private val rpRuntime = buildEnumEntry(retentionPolicyEnum, "RUNTIME") private val retentionConstructor = buildAnnotationConstructor(buildAnnotationClass("Retention")).apply { - addValueParameter(Name.identifier("value"), retentionPolicyEnum.defaultType, IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB) + addValueParameter("value", retentionPolicyEnum.defaultType, IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB) } private val elementTypeEnum = buildAnnotationClass("ElementType", classKind = ClassKind.ENUM_CLASS) @@ -116,7 +122,7 @@ private class AdditionalClassAnnotationLowering(private val context: JvmBackendC private val etTypeUse = buildEnumEntry(elementTypeEnum, "TYPE_USE") private val targetConstructor = buildAnnotationConstructor(buildAnnotationClass("Target")).apply { - addValueParameter(Name.identifier("value"), elementTypeEnum.defaultType, IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB) + addValueParameter("value", elementTypeEnum.defaultType, IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB) } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt index 902e3f132e0..3ed86e21d7c 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/SyntheticAccessorLowering.kt @@ -111,9 +111,7 @@ private class SyntheticAccessorLowering(val context: JvmBackendContext) : IrElem accessor.returnType = source.returnType.remapTypeParameters(source, accessor) accessor.addValueParameter( - Name.identifier("marker"), - context.ir.symbols.defaultConstructorMarker.owner.defaultType, - JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR + "marker", context.ir.symbols.defaultConstructorMarker.owner.defaultType, JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR ) accessor.body = IrExpressionBodyImpl( @@ -177,9 +175,7 @@ private class SyntheticAccessorLowering(val context: JvmBackendContext) : IrElem if (!fieldSymbol.owner.isStatic) { accessor.addValueParameter( - Name.identifier("\$this"), - (fieldSymbol.owner.parent as IrClass).defaultType, - JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR + "\$this", fieldSymbol.owner.parentAsClass.defaultType, JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR ) } @@ -215,13 +211,11 @@ private class SyntheticAccessorLowering(val context: JvmBackendContext) : IrElem if (!fieldSymbol.owner.isStatic) { accessor.addValueParameter( - Name.identifier("\$this"), - (fieldSymbol.owner.parent as IrClass).defaultType, - JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR + "\$this", fieldSymbol.owner.parentAsClass.defaultType, JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR ) } - accessor.addValueParameter(Name.identifier("value"), fieldSymbol.owner.type, JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR) + accessor.addValueParameter("value", fieldSymbol.owner.type, JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR) accessor.body = createAccessorBodyForSetter(fieldSymbol.owner, accessor) }.symbol