K2: make synthesized functions synthesized in protobuf
Related to KT-59171
This commit is contained in:
committed by
Space Team
parent
ed2dd4b2ae
commit
cdd3f10e99
+10
-1
@@ -46,6 +46,7 @@ import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitNullableAnyTypeRef
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf.MemberKind
|
||||
import org.jetbrains.kotlin.metadata.deserialization.Flags
|
||||
import org.jetbrains.kotlin.metadata.deserialization.VersionRequirement
|
||||
import org.jetbrains.kotlin.metadata.deserialization.isKotlin1Dot4OrLater
|
||||
@@ -507,7 +508,7 @@ class FirElementSerializer private constructor(
|
||||
function.nonSourceAnnotations(session).isNotEmpty() || extension.hasAdditionalAnnotations(function),
|
||||
ProtoEnumFlags.visibility(simpleFunction?.let { normalizeVisibility(it) } ?: Visibilities.Local),
|
||||
ProtoEnumFlags.modality(simpleFunction?.modality ?: Modality.FINAL),
|
||||
if (function.origin == FirDeclarationOrigin.Delegated) ProtoBuf.MemberKind.DELEGATION else ProtoBuf.MemberKind.DECLARATION,
|
||||
function.memberKind(),
|
||||
simpleFunction?.isOperator == true,
|
||||
simpleFunction?.isInfix == true,
|
||||
simpleFunction?.isInline == true,
|
||||
@@ -594,6 +595,14 @@ class FirElementSerializer private constructor(
|
||||
return builder
|
||||
}
|
||||
|
||||
private fun FirFunction.memberKind(): MemberKind {
|
||||
return when (origin) {
|
||||
FirDeclarationOrigin.Delegated -> MemberKind.DELEGATION
|
||||
FirDeclarationOrigin.Synthetic -> MemberKind.SYNTHESIZED
|
||||
else -> MemberKind.DECLARATION
|
||||
}
|
||||
}
|
||||
|
||||
private fun shouldSetStableParameterNames(function: FirFunction?): Boolean {
|
||||
return when {
|
||||
function?.hasStableParameterNames == true -> true
|
||||
|
||||
Reference in New Issue
Block a user