Drop separate K1/K2 implementations of generateMetadataExtraFlags
Related to KT-62056
This commit is contained in:
committed by
Space Team
parent
8b8088720b
commit
326d68c1f4
+2
-2
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirFile
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirOfType
|
||||
import org.jetbrains.kotlin.analysis.project.structure.KtSourceModule
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendExtension
|
||||
import org.jetbrains.kotlin.codegen.ClassBuilderMode
|
||||
import org.jetbrains.kotlin.codegen.generateLanguageVersionSettingsBasedMetadataFlags
|
||||
import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings
|
||||
@@ -24,7 +25,6 @@ import org.jetbrains.kotlin.config.JvmAbiStability
|
||||
import org.jetbrains.kotlin.config.JvmDefaultMode
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.backend.FirMetadataSource
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendExtension
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmSerializerExtension
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmSerializerExtension.Companion.FIELD_FOR_PROPERTY
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmSerializerExtension.Companion.METHOD_FOR_FIR_FUNCTION
|
||||
@@ -175,7 +175,7 @@ internal class KtFirMetadataCalculator(override val analysisSession: KtFirAnalys
|
||||
metadataVersion = metadataVersion.toArray(),
|
||||
data1 = JvmProtoBufUtil.writeData(message, stringTable),
|
||||
data2 = stringTable.strings.toTypedArray(),
|
||||
extraInt = FirJvmBackendExtension.generateMetadataExtraFlags(JvmAbiStability.STABLE) or
|
||||
extraInt = JvmBackendExtension.Default.generateMetadataExtraFlags(JvmAbiStability.STABLE) or
|
||||
generateLanguageVersionSettingsBasedMetadataFlags(firSession.languageVersionSettings)
|
||||
)
|
||||
}
|
||||
|
||||
-11
@@ -10,10 +10,8 @@ import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendExtension
|
||||
import org.jetbrains.kotlin.backend.jvm.metadata.MetadataSerializer
|
||||
import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings
|
||||
import org.jetbrains.kotlin.config.JvmAbiStability
|
||||
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
|
||||
import org.jetbrains.org.objectweb.asm.Type
|
||||
|
||||
class FirJvmBackendExtension(
|
||||
@@ -37,13 +35,4 @@ class FirJvmBackendExtension(
|
||||
irActualizedResult
|
||||
)
|
||||
}
|
||||
|
||||
override fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int =
|
||||
Companion.generateMetadataExtraFlags(abiStability)
|
||||
|
||||
companion object {
|
||||
fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int =
|
||||
JvmAnnotationNames.METADATA_JVM_IR_FLAG or
|
||||
(if (abiStability != JvmAbiStability.UNSTABLE) JvmAnnotationNames.METADATA_JVM_IR_STABLE_ABI_FLAG else 0)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.backend.jvm.codegen
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.lower.ANNOTATION_IMPLEMENTATION
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendExtension
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
|
||||
import org.jetbrains.kotlin.backend.jvm.MultifileFacadeFileEntry
|
||||
import org.jetbrains.kotlin.backend.jvm.extensions.descriptorOrigin
|
||||
@@ -281,7 +282,7 @@ class ClassCodegen private constructor(
|
||||
|
||||
val isMultifileClassOrPart = kind == KotlinClassHeader.Kind.MULTIFILE_CLASS || kind == KotlinClassHeader.Kind.MULTIFILE_CLASS_PART
|
||||
|
||||
var extraFlags = context.backendExtension.generateMetadataExtraFlags(state.config.abiStability)
|
||||
var extraFlags = JvmBackendExtension.Default.generateMetadataExtraFlags(state.config.abiStability)
|
||||
if (isMultifileClassOrPart && state.languageVersionSettings.getFlag(JvmAnalysisFlags.inheritMultifileParts)) {
|
||||
extraFlags = extraFlags or JvmAnnotationNames.METADATA_MULTIFILE_PARTS_INHERIT_FLAG
|
||||
}
|
||||
|
||||
@@ -18,8 +18,6 @@ interface JvmBackendExtension {
|
||||
context: JvmBackendContext, klass: IrClass, type: Type, bindings: JvmSerializationBindings, parentSerializer: MetadataSerializer?
|
||||
): MetadataSerializer
|
||||
|
||||
fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int
|
||||
|
||||
object Default : JvmBackendExtension {
|
||||
override fun createSerializer(
|
||||
context: JvmBackendContext,
|
||||
@@ -31,7 +29,7 @@ interface JvmBackendExtension {
|
||||
return DescriptorMetadataSerializer(context, klass, type, bindings, parentSerializer)
|
||||
}
|
||||
|
||||
override fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int =
|
||||
fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int =
|
||||
JvmAnnotationNames.METADATA_JVM_IR_FLAG or
|
||||
(if (abiStability != JvmAbiStability.UNSTABLE) JvmAnnotationNames.METADATA_JVM_IR_STABLE_ABI_FLAG else 0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user