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.getOrBuildFirFile
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirOfType
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirOfType
|
||||||
import org.jetbrains.kotlin.analysis.project.structure.KtSourceModule
|
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.ClassBuilderMode
|
||||||
import org.jetbrains.kotlin.codegen.generateLanguageVersionSettingsBasedMetadataFlags
|
import org.jetbrains.kotlin.codegen.generateLanguageVersionSettingsBasedMetadataFlags
|
||||||
import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings
|
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.config.JvmDefaultMode
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.backend.FirMetadataSource
|
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
|
||||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmSerializerExtension.Companion.FIELD_FOR_PROPERTY
|
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
|
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(),
|
metadataVersion = metadataVersion.toArray(),
|
||||||
data1 = JvmProtoBufUtil.writeData(message, stringTable),
|
data1 = JvmProtoBufUtil.writeData(message, stringTable),
|
||||||
data2 = stringTable.strings.toTypedArray(),
|
data2 = stringTable.strings.toTypedArray(),
|
||||||
extraInt = FirJvmBackendExtension.generateMetadataExtraFlags(JvmAbiStability.STABLE) or
|
extraInt = JvmBackendExtension.Default.generateMetadataExtraFlags(JvmAbiStability.STABLE) or
|
||||||
generateLanguageVersionSettingsBasedMetadataFlags(firSession.languageVersionSettings)
|
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.JvmBackendExtension
|
||||||
import org.jetbrains.kotlin.backend.jvm.metadata.MetadataSerializer
|
import org.jetbrains.kotlin.backend.jvm.metadata.MetadataSerializer
|
||||||
import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings
|
import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings
|
||||||
import org.jetbrains.kotlin.config.JvmAbiStability
|
|
||||||
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
|
|
||||||
import org.jetbrains.org.objectweb.asm.Type
|
import org.jetbrains.org.objectweb.asm.Type
|
||||||
|
|
||||||
class FirJvmBackendExtension(
|
class FirJvmBackendExtension(
|
||||||
@@ -37,13 +35,4 @@ class FirJvmBackendExtension(
|
|||||||
irActualizedResult
|
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.common.lower.ANNOTATION_IMPLEMENTATION
|
||||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
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.JvmLoweredDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.backend.jvm.MultifileFacadeFileEntry
|
import org.jetbrains.kotlin.backend.jvm.MultifileFacadeFileEntry
|
||||||
import org.jetbrains.kotlin.backend.jvm.extensions.descriptorOrigin
|
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
|
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)) {
|
if (isMultifileClassOrPart && state.languageVersionSettings.getFlag(JvmAnalysisFlags.inheritMultifileParts)) {
|
||||||
extraFlags = extraFlags or JvmAnnotationNames.METADATA_MULTIFILE_PARTS_INHERIT_FLAG
|
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?
|
context: JvmBackendContext, klass: IrClass, type: Type, bindings: JvmSerializationBindings, parentSerializer: MetadataSerializer?
|
||||||
): MetadataSerializer
|
): MetadataSerializer
|
||||||
|
|
||||||
fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int
|
|
||||||
|
|
||||||
object Default : JvmBackendExtension {
|
object Default : JvmBackendExtension {
|
||||||
override fun createSerializer(
|
override fun createSerializer(
|
||||||
context: JvmBackendContext,
|
context: JvmBackendContext,
|
||||||
@@ -31,7 +29,7 @@ interface JvmBackendExtension {
|
|||||||
return DescriptorMetadataSerializer(context, klass, type, bindings, parentSerializer)
|
return DescriptorMetadataSerializer(context, klass, type, bindings, parentSerializer)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int =
|
fun generateMetadataExtraFlags(abiStability: JvmAbiStability?): Int =
|
||||||
JvmAnnotationNames.METADATA_JVM_IR_FLAG or
|
JvmAnnotationNames.METADATA_JVM_IR_FLAG or
|
||||||
(if (abiStability != JvmAbiStability.UNSTABLE) JvmAnnotationNames.METADATA_JVM_IR_STABLE_ABI_FLAG else 0)
|
(if (abiStability != JvmAbiStability.UNSTABLE) JvmAnnotationNames.METADATA_JVM_IR_STABLE_ABI_FLAG else 0)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user