Remove ClassBuilderMode.ABI

It was a special mode used only by the removed legacy implementation of
jvm-abi-gen.
This commit is contained in:
Alexander Udalov
2023-03-06 13:07:38 +01:00
committed by Space Team
parent 9f269b83aa
commit 6595275ba7
8 changed files with 6 additions and 81 deletions
@@ -32,7 +32,10 @@ import org.jetbrains.kotlin.fir.serialization.constant.EnumValue
import org.jetbrains.kotlin.fir.serialization.constant.IntValue
import org.jetbrains.kotlin.fir.serialization.constant.StringValue
import org.jetbrains.kotlin.fir.serialization.constant.toConstantValue
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
@@ -195,10 +198,6 @@ class FirElementSerializer private constructor(
if (nestedClassifier is FirTypeAliasSymbol) {
typeAliasProto(nestedClassifier.fir)?.let { builder.addTypeAlias(it) }
} else if (nestedClassifier is FirRegularClassSymbol) {
if (!extension.shouldSerializeNestedClass(nestedClassifier.fir)) {
continue
}
builder.addNestedClassName(getSimpleNameIndex(nestedClassifier.name))
}
}
@@ -311,8 +310,6 @@ class FirElementSerializer private constructor(
(this as FirAnnotationContainer).nonSourceAnnotations(session)
fun propertyProto(property: FirProperty): ProtoBuf.Property.Builder? = whileAnalysing(session, property) {
if (!extension.shouldSerializeProperty(property)) return null
val builder = ProtoBuf.Property.newBuilder()
val local = createChildSerializer(property)
@@ -419,8 +416,6 @@ class FirElementSerializer private constructor(
}
fun functionProto(function: FirFunction): ProtoBuf.Function.Builder? = whileAnalysing(session, function) {
if (!extension.shouldSerializeFunction(function)) return null
val builder = ProtoBuf.Function.newBuilder()
val simpleFunction = function as? FirSimpleFunction
@@ -523,8 +518,6 @@ class FirElementSerializer private constructor(
}
private fun typeAliasProto(typeAlias: FirTypeAlias): ProtoBuf.TypeAlias.Builder? = whileAnalysing(session, typeAlias) {
if (!extension.shouldSerializeTypeAlias(typeAlias)) return null
val builder = ProtoBuf.TypeAlias.newBuilder()
val local = createChildSerializer(typeAlias)
@@ -8,8 +8,8 @@ package org.jetbrains.kotlin.fir.serialization
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.types.ConeFlexibleType
import org.jetbrains.kotlin.fir.types.ConeErrorType
import org.jetbrains.kotlin.fir.types.ConeFlexibleType
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion
import org.jetbrains.kotlin.metadata.serialization.MutableVersionRequirementTable
@@ -24,12 +24,8 @@ abstract class FirSerializerExtension {
val annotationSerializer by lazy { FirAnnotationSerializer(session, stringTable) }
open fun shouldSerializeNestedClass(nestedClass: FirRegularClass): Boolean = true
open fun shouldSerializeTypeAlias(typeAlias: FirTypeAlias): Boolean = true
open fun shouldUseTypeTable(): Boolean = false
open fun shouldUseNormalizedVisibility(): Boolean = false
abstract fun shouldSerializeFunction(function: FirFunction): Boolean
abstract fun shouldSerializeProperty(property: FirProperty): Boolean
open fun serializePackage(packageFqName: FqName, proto: ProtoBuf.Package.Builder) {
}
@@ -61,11 +61,7 @@ open class FirKLibSerializerExtension(
override val session: FirSession,
override val metadataVersion: BinaryVersion,
override val stringTable: FirElementAwareSerializableStringTable
) : FirSerializerExtension() {
override fun shouldSerializeFunction(function: FirFunction): Boolean = true
override fun shouldSerializeProperty(property: FirProperty): Boolean = true
}
) : FirSerializerExtension()
class FirElementAwareSerializableStringTable() : FirElementAwareStringTable, SerializableStringTable() {
override fun getLocalClassIdReplacement(firClass: FirClass): ClassId? = ClassId.topLevel(StandardNames.FqNames.any.toSafe())