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
This commit is contained in:
Alexander Udalov
2019-03-27 16:15:09 +01:00
parent 4cb5a4fb6d
commit 15928c5b46
3 changed files with 17 additions and 17 deletions
@@ -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 { addValueParameter {
this.name = name this.name = Name.identifier(name)
this.type = type this.type = type
this.origin = origin this.origin = origin
} }
@@ -24,7 +24,10 @@ import org.jetbrains.kotlin.ir.builders.declarations.buildValueParameter
import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.impl.IrEnumEntryImpl import org.jetbrains.kotlin.ir.declarations.impl.IrEnumEntryImpl
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl 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.IrCallImpl
import org.jetbrains.kotlin.ir.expressions.impl.IrGetEnumValueImpl import org.jetbrains.kotlin.ir.expressions.impl.IrGetEnumValueImpl
import org.jetbrains.kotlin.ir.expressions.impl.IrVarargImpl 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.symbols.impl.IrExternalPackageFragmentSymbolImpl
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
import org.jetbrains.kotlin.ir.types.typeWith 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.FqName
import org.jetbrains.kotlin.name.Name 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 rpRuntime = buildEnumEntry(retentionPolicyEnum, "RUNTIME")
private val retentionConstructor = buildAnnotationConstructor(buildAnnotationClass("Retention")).apply { 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) 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 etTypeUse = buildEnumEntry(elementTypeEnum, "TYPE_USE")
private val targetConstructor = buildAnnotationConstructor(buildAnnotationClass("Target")).apply { 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)
} }
@@ -111,9 +111,7 @@ private class SyntheticAccessorLowering(val context: JvmBackendContext) : IrElem
accessor.returnType = source.returnType.remapTypeParameters(source, accessor) accessor.returnType = source.returnType.remapTypeParameters(source, accessor)
accessor.addValueParameter( accessor.addValueParameter(
Name.identifier("marker"), "marker", context.ir.symbols.defaultConstructorMarker.owner.defaultType, JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR
context.ir.symbols.defaultConstructorMarker.owner.defaultType,
JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR
) )
accessor.body = IrExpressionBodyImpl( accessor.body = IrExpressionBodyImpl(
@@ -177,9 +175,7 @@ private class SyntheticAccessorLowering(val context: JvmBackendContext) : IrElem
if (!fieldSymbol.owner.isStatic) { if (!fieldSymbol.owner.isStatic) {
accessor.addValueParameter( accessor.addValueParameter(
Name.identifier("\$this"), "\$this", fieldSymbol.owner.parentAsClass.defaultType, JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR
(fieldSymbol.owner.parent as IrClass).defaultType,
JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR
) )
} }
@@ -215,13 +211,11 @@ private class SyntheticAccessorLowering(val context: JvmBackendContext) : IrElem
if (!fieldSymbol.owner.isStatic) { if (!fieldSymbol.owner.isStatic) {
accessor.addValueParameter( accessor.addValueParameter(
Name.identifier("\$this"), "\$this", fieldSymbol.owner.parentAsClass.defaultType, JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR
(fieldSymbol.owner.parent as IrClass).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) accessor.body = createAccessorBodyForSetter(fieldSymbol.owner, accessor)
}.symbol }.symbol