@@ -507,6 +507,9 @@ open class KotlinFileExtractor(
507
507
return FieldResult (instanceId, instanceName)
508
508
}
509
509
510
+ @OptIn(ObsoleteDescriptorBasedAPI ::class )
511
+ private fun hasSynthesizedParameterNames (f : IrFunction ) = f.descriptor.hasSynthesizedParameterNames()
512
+
510
513
private fun extractValueParameter (vp : IrValueParameter , parent : Label <out DbCallable >, idx : Int , typeSubstitution : TypeSubstitution ? , parentSourceDeclaration : Label <out DbCallable >, classTypeArgsIncludingOuterClasses : List <IrTypeArgument >? , extractTypeAccess : Boolean , locOverride : Label <DbLocation >? = null): TypeResults {
511
514
with (" value parameter" , vp) {
512
515
val location = locOverride ? : getLocation(vp, classTypeArgsIncludingOuterClasses)
@@ -523,16 +526,19 @@ open class KotlinFileExtractor(
523
526
if (extractTypeAccess) {
524
527
extractTypeAccessRecursive(substitutedType, location, id, - 1 )
525
528
}
526
- return extractValueParameter(id, substitutedType, vp.name.asString(), location, parent, idx, useValueParameter(vp, parentSourceDeclaration), vp.isVararg)
529
+ val syntheticParameterNames = (vp.parent as ? IrFunction )?.let { hasSynthesizedParameterNames(it) } ? : true
530
+ return extractValueParameter(id, substitutedType, vp.name.asString(), location, parent, idx, useValueParameter(vp, parentSourceDeclaration), vp.isVararg, syntheticParameterNames)
527
531
}
528
532
}
529
533
530
- private fun extractValueParameter (id : Label <out DbParam >, t : IrType , name : String , locId : Label <DbLocation >, parent : Label <out DbCallable >, idx : Int , paramSourceDeclaration : Label <out DbParam >, isVararg : Boolean ): TypeResults {
534
+ private fun extractValueParameter (id : Label <out DbParam >, t : IrType , name : String , locId : Label <DbLocation >, parent : Label <out DbCallable >, idx : Int , paramSourceDeclaration : Label <out DbParam >, isVararg : Boolean , syntheticParameterNames : Boolean ): TypeResults {
531
535
val type = useType(t)
532
536
tw.writeParams(id, type.javaResult.id, idx, parent, paramSourceDeclaration)
533
537
tw.writeParamsKotlinType(id, type.kotlinResult.id)
534
538
tw.writeHasLocation(id, locId)
535
- tw.writeParamName(id, name)
539
+ if (! syntheticParameterNames) {
540
+ tw.writeParamName(id, name)
541
+ }
536
542
if (isVararg) {
537
543
tw.writeIsVarargsParam(id)
538
544
}
@@ -2952,7 +2958,7 @@ open class KotlinFileExtractor(
2952
2958
stmtIdx : Int
2953
2959
) {
2954
2960
val paramId = tw.getFreshIdLabel<DbParam >()
2955
- val paramTypeRes = extractValueParameter(paramId, paramType, paramName, locId, ids.constructor , paramIdx, paramId, false )
2961
+ val paramTypeRes = extractValueParameter(paramId, paramType, paramName, locId, ids.constructor , paramIdx, paramId, isVararg = false , syntheticParameterNames = false )
2956
2962
2957
2963
val assignmentStmtId = tw.getFreshIdLabel<DbExprstmt >()
2958
2964
tw.writeStmts_exprstmt(assignmentStmtId, ids.constructorBlock, stmtIdx, ids.constructor )
@@ -3588,7 +3594,7 @@ open class KotlinFileExtractor(
3588
3594
3589
3595
val parameters = parameterTypes.mapIndexed { idx, p ->
3590
3596
val paramId = tw.getFreshIdLabel<DbParam >()
3591
- val paramType = extractValueParameter(paramId, p, " a$idx " , locId, methodId, idx, paramId, false )
3597
+ val paramType = extractValueParameter(paramId, p, " a$idx " , locId, methodId, idx, paramId, isVararg = false , syntheticParameterNames = false )
3592
3598
3593
3599
Pair (paramId, paramType)
3594
3600
}
0 commit comments