Metadata: 'non-stable parameter names' flag for callables
^KT-34602
This commit is contained in:
+11
-2
@@ -291,6 +291,14 @@ class DescriptorSerializer private constructor(
|
||||
else
|
||||
descriptor.visibility
|
||||
|
||||
private fun shouldSerializeHasStableParameterNames(descriptor: CallableMemberDescriptor): Boolean {
|
||||
return when {
|
||||
descriptor.hasStableParameterNames() -> true
|
||||
descriptor.kind == CallableMemberDescriptor.Kind.DELEGATION -> true // remove this line to fix KT-4758
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun functionProto(descriptor: FunctionDescriptor): ProtoBuf.Function.Builder? {
|
||||
if (!extension.shouldSerializeFunction(descriptor)) return null
|
||||
|
||||
@@ -304,7 +312,7 @@ class DescriptorSerializer private constructor(
|
||||
ProtoEnumFlags.modality(descriptor.modality),
|
||||
ProtoEnumFlags.memberKind(descriptor.kind),
|
||||
descriptor.isOperator, descriptor.isInfix, descriptor.isInline, descriptor.isTailrec, descriptor.isExternal,
|
||||
descriptor.isSuspend, descriptor.isExpect
|
||||
descriptor.isSuspend, descriptor.isExpect, shouldSerializeHasStableParameterNames(descriptor)
|
||||
)
|
||||
if (flags != builder.flags) {
|
||||
builder.flags = flags
|
||||
@@ -367,7 +375,8 @@ class DescriptorSerializer private constructor(
|
||||
val local = createChildSerializer(descriptor)
|
||||
|
||||
val flags = Flags.getConstructorFlags(
|
||||
hasAnnotations(descriptor), ProtoEnumFlags.visibility(normalizeVisibility(descriptor)), !descriptor.isPrimary
|
||||
hasAnnotations(descriptor), ProtoEnumFlags.visibility(normalizeVisibility(descriptor)), !descriptor.isPrimary,
|
||||
shouldSerializeHasStableParameterNames(descriptor)
|
||||
)
|
||||
if (flags != builder.flags) {
|
||||
builder.flags = flags
|
||||
|
||||
Reference in New Issue
Block a user