[Serialization] Use new DSL for generating declarations
This commit is contained in:
committed by
Space Team
parent
5fedb2f72d
commit
1984a1615e
@@ -33,7 +33,7 @@ abstract class FirCallableSymbol<D : FirCallableDeclaration> : FirBasedSymbol<D>
|
|||||||
return fir.receiverParameter?.typeRef as FirResolvedTypeRef?
|
return fir.receiverParameter?.typeRef as FirResolvedTypeRef?
|
||||||
}
|
}
|
||||||
|
|
||||||
val receiverParameter: FirAnnotationContainer?
|
val receiverParameter: FirReceiverParameter?
|
||||||
get() {
|
get() {
|
||||||
ensureType(fir.receiverParameter?.typeRef)
|
ensureType(fir.receiverParameter?.typeRef)
|
||||||
return fir.receiverParameter
|
return fir.receiverParameter
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ dependencies {
|
|||||||
testApi(projectTests(":compiler:test-infrastructure-utils"))
|
testApi(projectTests(":compiler:test-infrastructure-utils"))
|
||||||
testApi(projectTests(":compiler:tests-compiler-utils"))
|
testApi(projectTests(":compiler:tests-compiler-utils"))
|
||||||
testApi(projectTests(":compiler:tests-common-new"))
|
testApi(projectTests(":compiler:tests-common-new"))
|
||||||
|
testApi(project(":compiler:fir:plugin-utils"))
|
||||||
testImplementation(projectTests(":generators:test-generator"))
|
testImplementation(projectTests(":generators:test-generator"))
|
||||||
testApiJUnit5()
|
testApiJUnit5()
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ dependencies {
|
|||||||
compileOnly(project(":compiler:fir:cones"))
|
compileOnly(project(":compiler:fir:cones"))
|
||||||
compileOnly(project(":compiler:fir:tree"))
|
compileOnly(project(":compiler:fir:tree"))
|
||||||
compileOnly(project(":compiler:fir:resolve"))
|
compileOnly(project(":compiler:fir:resolve"))
|
||||||
|
compileOnly(project(":compiler:fir:plugin-utils"))
|
||||||
compileOnly(project(":compiler:fir:entrypoint"))
|
compileOnly(project(":compiler:fir:entrypoint"))
|
||||||
compileOnly(project(":js:js.config"))
|
compileOnly(project(":js:js.config"))
|
||||||
compileOnly(project(":compiler:cli-common"))
|
compileOnly(project(":compiler:cli-common"))
|
||||||
|
|||||||
-80
@@ -1,80 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlinx.serialization.compiler.fir
|
|
||||||
|
|
||||||
import org.jetbrains.kotlin.GeneratedDeclarationKey
|
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.containingClassForStaticMemberAttr
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.buildPrimaryConstructor
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.buildTypeParameter
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.addDefaultBoundIfNecessary
|
|
||||||
import org.jetbrains.kotlin.fir.extensions.FirDeclarationGenerationExtension
|
|
||||||
import org.jetbrains.kotlin.fir.moduleData
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
|
||||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
|
||||||
import org.jetbrains.kotlin.fir.types.toFirResolvedTypeRef
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
|
||||||
import org.jetbrains.kotlin.types.Variance
|
|
||||||
|
|
||||||
|
|
||||||
// FIXME KT-53096: this has to be shared (copied from plugin example)
|
|
||||||
@OptIn(SymbolInternals::class)
|
|
||||||
fun FirDeclarationGenerationExtension.buildPrimaryConstructor(owner: FirClassSymbol<*>, isInner: Boolean, key: GeneratedDeclarationKey, status: FirDeclarationStatus): FirConstructor {
|
|
||||||
val classId = owner.classId
|
|
||||||
val lookupTag = owner.toLookupTag()
|
|
||||||
return buildPrimaryConstructor {
|
|
||||||
moduleData = session.moduleData
|
|
||||||
origin = key.origin
|
|
||||||
returnTypeRef = run {
|
|
||||||
owner.defaultType().toFirResolvedTypeRef()
|
|
||||||
}
|
|
||||||
this.status = status
|
|
||||||
symbol = FirConstructorSymbol(classId)
|
|
||||||
if (isInner && classId.isNestedClass) {
|
|
||||||
dispatchReceiverType = classId.parentClassId?.let {
|
|
||||||
val firClass = session.symbolProvider.getClassLikeSymbolByClassId(it)?.fir as? FirClass
|
|
||||||
firClass?.defaultType()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}.also {
|
|
||||||
it.containingClassForStaticMemberAttr = lookupTag
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun newSimpleTypeParameter(firSession: FirSession, containingDeclarationSymbol: FirBasedSymbol<*>, name: Name) = buildTypeParameter {
|
|
||||||
moduleData = firSession.moduleData
|
|
||||||
origin = SerializationPluginKey.origin
|
|
||||||
resolvePhase = FirResolvePhase.BODY_RESOLVE
|
|
||||||
variance = Variance.INVARIANT
|
|
||||||
this.name = name
|
|
||||||
symbol = FirTypeParameterSymbol()
|
|
||||||
this.containingDeclarationSymbol = containingDeclarationSymbol
|
|
||||||
isReified = false
|
|
||||||
addDefaultBoundIfNecessary()
|
|
||||||
}
|
|
||||||
|
|
||||||
fun newSimpleValueParameter(
|
|
||||||
firSession: FirSession,
|
|
||||||
typeRef: FirResolvedTypeRef,
|
|
||||||
functionSymbol: FirFunctionSymbol<*>,
|
|
||||||
name: Name
|
|
||||||
) = buildValueParameter {
|
|
||||||
moduleData = firSession.moduleData
|
|
||||||
this.containingFunctionSymbol = functionSymbol
|
|
||||||
origin = SerializationPluginKey.origin
|
|
||||||
this.name = name
|
|
||||||
this.symbol = FirValueParameterSymbol(this.name)
|
|
||||||
returnTypeRef = typeRef
|
|
||||||
isCrossinline = false
|
|
||||||
isNoinline = false
|
|
||||||
isVararg = false
|
|
||||||
}
|
|
||||||
+62
-133
@@ -6,22 +6,17 @@
|
|||||||
package org.jetbrains.kotlinx.serialization.compiler.fir
|
package org.jetbrains.kotlinx.serialization.compiler.fir
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.descriptors.EffectiveVisibility
|
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.getContainingDeclarationSymbol
|
import org.jetbrains.kotlin.fir.analysis.checkers.getContainingDeclarationSymbol
|
||||||
import org.jetbrains.kotlin.fir.containingClassForLocalAttr
|
|
||||||
import org.jetbrains.kotlin.fir.copy
|
import org.jetbrains.kotlin.fir.copy
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.*
|
import org.jetbrains.kotlin.fir.declarations.builder.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.origin
|
import org.jetbrains.kotlin.fir.declarations.origin
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.isCompanion
|
import org.jetbrains.kotlin.fir.declarations.utils.isCompanion
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.isLocal
|
|
||||||
import org.jetbrains.kotlin.fir.extensions.*
|
import org.jetbrains.kotlin.fir.extensions.*
|
||||||
import org.jetbrains.kotlin.fir.moduleData
|
import org.jetbrains.kotlin.fir.plugin.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.*
|
import org.jetbrains.kotlin.fir.resolve.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.scopes.*
|
import org.jetbrains.kotlin.fir.scopes.*
|
||||||
@@ -29,7 +24,6 @@ import org.jetbrains.kotlin.fir.scopes.impl.toConeType
|
|||||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -186,167 +180,102 @@ class SerializationFirResolveExtension(session: FirSession) : FirDeclarationGene
|
|||||||
serializableClassSymbol: FirClassSymbol<*>,
|
serializableClassSymbol: FirClassSymbol<*>,
|
||||||
callableId: CallableId
|
callableId: CallableId
|
||||||
): FirNamedFunctionSymbol {
|
): FirNamedFunctionSymbol {
|
||||||
val f = buildSimpleFunction {
|
val function = createMemberFunction(
|
||||||
moduleData = session.moduleData
|
owner,
|
||||||
symbol = FirNamedFunctionSymbol(callableId)
|
SerializationPluginKey,
|
||||||
origin = SerializationPluginKey.origin
|
callableId.callableName,
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
returnTypeProvider = { typeParameters ->
|
||||||
Visibilities.Public,
|
val parametersAsArguments = typeParameters.map { it.toConeType() }.toTypedArray<ConeTypeProjection>()
|
||||||
Modality.FINAL,
|
kSerializerId.constructClassLikeType(
|
||||||
EffectiveVisibility.Public
|
|
||||||
)
|
|
||||||
name = callableId.callableName
|
|
||||||
dispatchReceiverType = owner.defaultType()
|
|
||||||
|
|
||||||
typeParameters.addAll(serializableClassSymbol.typeParameterSymbols.map { newSimpleTypeParameter(session, symbol, it.name) })
|
|
||||||
val parametersAsArguments = typeParameters.map { it.toConeType() }.toTypedArray<ConeTypeProjection>()
|
|
||||||
|
|
||||||
valueParameters.addAll(List(serializableClassSymbol.typeParameterSymbols.size) { i ->
|
|
||||||
newSimpleValueParameter(
|
|
||||||
session,
|
|
||||||
kSerializerId.constructClassLikeType(arrayOf(parametersAsArguments[i]), false).toFirResolvedTypeRef(),
|
|
||||||
symbol,
|
|
||||||
Name.identifier("${SerialEntityNames.typeArgPrefix}$i")
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
returnTypeRef = buildResolvedTypeRef {
|
|
||||||
type = kSerializerId.constructClassLikeType(
|
|
||||||
arrayOf(serializableClassSymbol.constructType(parametersAsArguments, false)),
|
arrayOf(serializableClassSymbol.constructType(parametersAsArguments, false)),
|
||||||
isNullable = false
|
isNullable = false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
) {
|
||||||
|
serializableClassSymbol.typeParameterSymbols.forEachIndexed { i, typeParameterSymbol ->
|
||||||
|
typeParameter(typeParameterSymbol.name)
|
||||||
|
valueParameter(
|
||||||
|
Name.identifier("${SerialEntityNames.typeArgPrefix}$i"),
|
||||||
|
{ typeParameters ->
|
||||||
|
kSerializerId.constructClassLikeType(arrayOf(typeParameters[i].toConeType()), false)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return f.symbol
|
|
||||||
|
return function.symbol
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(SymbolInternals::class)
|
|
||||||
override fun generateProperties(callableId: CallableId, context: MemberGenerationContext?): List<FirPropertySymbol> {
|
override fun generateProperties(callableId: CallableId, context: MemberGenerationContext?): List<FirPropertySymbol> {
|
||||||
val owner = context?.owner ?: return emptyList()
|
val owner = context?.owner ?: return emptyList()
|
||||||
if (!owner.isSerializer) return emptyList()
|
if (!owner.isSerializer) return emptyList()
|
||||||
if (callableId.callableName != SerialEntityNames.SERIAL_DESC_FIELD_NAME) return emptyList()
|
if (callableId.callableName != SerialEntityNames.SERIAL_DESC_FIELD_NAME) return emptyList()
|
||||||
|
|
||||||
val target = getFromSupertype(callableId, owner) { it.getProperties(callableId.callableName).filterIsInstance<FirPropertySymbol>() }
|
val target = getFromSupertype(callableId, owner) { it.getProperties(callableId.callableName).filterIsInstance<FirPropertySymbol>() }
|
||||||
val original = target.fir
|
val property = createMemberProperty(
|
||||||
val copy = buildPropertyCopy(original) {
|
owner,
|
||||||
symbol = FirPropertySymbol(callableId)
|
SerializationPluginKey,
|
||||||
origin = SerializationPluginKey.origin
|
callableId.callableName,
|
||||||
status = original.status.copy(modality = Modality.FINAL)
|
target.resolvedReturnType
|
||||||
getter = buildPropertyAccessor {
|
)
|
||||||
status = original.status.copy(modality = Modality.FINAL)
|
|
||||||
symbol = FirPropertyAccessorSymbol()
|
return listOf(property.symbol)
|
||||||
origin = SerializationPluginKey.origin
|
|
||||||
moduleData = session.moduleData
|
|
||||||
isGetter = true
|
|
||||||
returnTypeRef = original.returnTypeRef
|
|
||||||
dispatchReceiverType = owner.defaultType()
|
|
||||||
propertySymbol = this@buildPropertyCopy.symbol
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return listOf(copy.symbol)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun generateConstructors(context: MemberGenerationContext): List<FirConstructorSymbol> {
|
override fun generateConstructors(context: MemberGenerationContext): List<FirConstructorSymbol> {
|
||||||
val owner = context.owner
|
val owner = context.owner
|
||||||
val defaultObjectConstructor = buildPrimaryConstructor(
|
|
||||||
owner, isInner = false, SerializationPluginKey, status = FirResolvedDeclarationStatusImpl(
|
val result = mutableListOf<FirConstructorSymbol>()
|
||||||
Visibilities.Private,
|
result += createDefaultPrivateConstructor(owner, SerializationPluginKey).symbol
|
||||||
Modality.FINAL,
|
|
||||||
EffectiveVisibility.PrivateInClass
|
|
||||||
)
|
|
||||||
)
|
|
||||||
if (owner.name == SerialEntityNames.SERIALIZER_CLASS_NAME && owner.typeParameterSymbols.isNotEmpty()) {
|
if (owner.name == SerialEntityNames.SERIALIZER_CLASS_NAME && owner.typeParameterSymbols.isNotEmpty()) {
|
||||||
val parameterizedConstructor = buildConstructor {
|
result += createConstructor(owner, SerializationPluginKey) {
|
||||||
moduleData = session.moduleData
|
visibility = Visibilities.Private
|
||||||
origin = SerializationPluginKey.origin
|
owner.typeParameterSymbols.forEachIndexed { i, typeParam ->
|
||||||
returnTypeRef = defaultObjectConstructor.returnTypeRef
|
valueParameter(
|
||||||
symbol = FirConstructorSymbol(owner.classId)
|
name = Name.identifier("${SerialEntityNames.typeArgPrefix}$i"),
|
||||||
dispatchReceiverType = defaultObjectConstructor.dispatchReceiverType
|
type = kSerializerId.constructClassLikeType(arrayOf(typeParam.toConeType()), false)
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
|
||||||
Visibilities.Private,
|
|
||||||
Modality.FINAL,
|
|
||||||
EffectiveVisibility.PrivateInFile // accessed from a companion
|
|
||||||
)
|
|
||||||
valueParameters.addAll(owner.typeParameterSymbols.mapIndexed { i, typeParam ->
|
|
||||||
newSimpleValueParameter(
|
|
||||||
session,
|
|
||||||
kSerializerId.constructClassLikeType(arrayOf(typeParam.toConeType()), false).toFirResolvedTypeRef(),
|
|
||||||
symbol,
|
|
||||||
Name.identifier("${SerialEntityNames.typeArgPrefix}$i")
|
|
||||||
)
|
)
|
||||||
})
|
}
|
||||||
}
|
}.symbol
|
||||||
return listOf(defaultObjectConstructor.symbol, parameterizedConstructor.symbol)
|
|
||||||
}
|
}
|
||||||
return listOf(defaultObjectConstructor.symbol)
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun generateSerializerImplClass(owner: FirRegularClassSymbol): FirClassLikeSymbol<*> {
|
private fun generateSerializerImplClass(owner: FirRegularClassSymbol): FirClassLikeSymbol<*> {
|
||||||
val hasTypeParams = owner.typeParameterSymbols.isNotEmpty()
|
val hasTypeParams = owner.typeParameterSymbols.isNotEmpty()
|
||||||
val serializerKind = if (hasTypeParams) ClassKind.CLASS else ClassKind.OBJECT
|
val serializerKind = if (hasTypeParams) ClassKind.CLASS else ClassKind.OBJECT
|
||||||
val serializerFirClass = buildRegularClass {
|
val serializerFirClass = createNestedClass(owner, SerialEntityNames.SERIALIZER_CLASS_NAME, SerializationPluginKey, serializerKind) {
|
||||||
moduleData = session.moduleData
|
for (parameter in owner.typeParameterSymbols) {
|
||||||
origin = SerializationPluginKey.origin
|
typeParameter(parameter.name)
|
||||||
classKind = serializerKind
|
}
|
||||||
scopeProvider = session.kotlinScopeProvider
|
superType { typeParameters ->
|
||||||
name = SerialEntityNames.SERIALIZER_CLASS_NAME
|
generatedSerializerId.constructClassLikeType(
|
||||||
symbol = FirRegularClassSymbol(owner.classId.createNestedClassId(name))
|
arrayOf(
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
owner.constructType(
|
||||||
Visibilities.Public,
|
typeParameters.map { it.toConeType() }.toTypedArray(),
|
||||||
Modality.FINAL,
|
isNullable = false
|
||||||
EffectiveVisibility.Public
|
)
|
||||||
)
|
),
|
||||||
// TODO: add deprecate hidden
|
isNullable = false
|
||||||
// annotations = listOf(Annotations.create(listOf(KSerializerDescriptorResolver.createDeprecatedHiddenAnnotation(thisDescriptor.module))))
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// TODO: add deprecate hidden
|
||||||
|
// serializerFirClass.replaceAnnotations(listOf(Annotations.create(listOf(KSerializerDescriptorResolver.createDeprecatedHiddenAnnotation(thisDescriptor.module)))))
|
||||||
|
|
||||||
|
|
||||||
typeParameters.addAll(owner.typeParameterSymbols.map { param ->
|
|
||||||
newSimpleTypeParameter(session, symbol, param.name)
|
|
||||||
})
|
|
||||||
|
|
||||||
val parametersAsArguments = typeParameters.map { it.toConeType() }.toTypedArray<ConeTypeProjection>()
|
|
||||||
superTypeRefs += generatedSerializerId.constructClassLikeType(
|
|
||||||
arrayOf(
|
|
||||||
owner.constructType(
|
|
||||||
parametersAsArguments,
|
|
||||||
isNullable = false
|
|
||||||
)
|
|
||||||
), isNullable = false
|
|
||||||
).toFirResolvedTypeRef()
|
|
||||||
}.also { it.initLocalAttributeIfNeeded(owner) }
|
|
||||||
return serializerFirClass.symbol
|
return serializerFirClass.symbol
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun generateCompanionDeclaration(owner: FirRegularClassSymbol): FirRegularClassSymbol? {
|
private fun generateCompanionDeclaration(owner: FirRegularClassSymbol): FirRegularClassSymbol? {
|
||||||
if (owner.companionObjectSymbol != null) return null
|
if (owner.companionObjectSymbol != null) return null
|
||||||
val regularClass = buildRegularClass {
|
val companion = createCompanionObject(owner, SerializationPluginKey) {
|
||||||
moduleData = session.moduleData
|
|
||||||
origin = SerializationPluginKey.origin
|
|
||||||
classKind = ClassKind.OBJECT
|
|
||||||
scopeProvider = session.kotlinScopeProvider
|
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
|
||||||
Visibilities.Public,
|
|
||||||
Modality.FINAL,
|
|
||||||
EffectiveVisibility.Public
|
|
||||||
).apply {
|
|
||||||
isCompanion = true
|
|
||||||
}
|
|
||||||
name = SpecialNames.DEFAULT_NAME_FOR_COMPANION_OBJECT
|
|
||||||
symbol = FirRegularClassSymbol(owner.classId.createNestedClassId(name))
|
|
||||||
superTypeRefs += session.builtinTypes.anyType
|
|
||||||
if (with(session) { owner.companionNeedsSerializerFactory }) {
|
if (with(session) { owner.companionNeedsSerializerFactory }) {
|
||||||
val serializerFactoryClassId = ClassId(SerializationPackages.internalPackageFqName, SERIALIZER_FACTORY_INTERFACE_NAME)
|
val serializerFactoryClassId = ClassId(SerializationPackages.internalPackageFqName, SERIALIZER_FACTORY_INTERFACE_NAME)
|
||||||
superTypeRefs += serializerFactoryClassId.constructClassLikeType(emptyArray(), false).toFirResolvedTypeRef()
|
superType(serializerFactoryClassId.constructClassLikeType(emptyArray(), false))
|
||||||
}
|
}
|
||||||
}.also { it.initLocalAttributeIfNeeded(owner) }
|
|
||||||
return regularClass.symbol
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun FirRegularClass.initLocalAttributeIfNeeded(owner: FirRegularClassSymbol) {
|
|
||||||
if (owner.isLocal) {
|
|
||||||
this.containingClassForLocalAttr = owner.toLookupTag()
|
|
||||||
}
|
}
|
||||||
|
return companion.symbol
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun FirDeclarationPredicateRegistrar.registerPredicates() {
|
override fun FirDeclarationPredicateRegistrar.registerPredicates() {
|
||||||
|
|||||||
+15
-5
@@ -3,7 +3,9 @@ FILE: abstractAndSealed.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<I>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<I>|
|
||||||
|
|
||||||
private constructor(): R|I.Companion|
|
private constructor(): R|I.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,7 +26,9 @@ FILE: abstractAndSealed.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<X>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<X>|
|
||||||
|
|
||||||
private constructor(): R|X.Companion|
|
private constructor(): R|X.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,7 +49,9 @@ FILE: abstractAndSealed.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Y>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Y>|
|
||||||
|
|
||||||
private constructor(): R|Y.Companion|
|
private constructor(): R|Y.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,7 +64,9 @@ FILE: abstractAndSealed.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Bottom>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Bottom>|
|
||||||
|
|
||||||
private constructor(): R|Bottom.Companion|
|
private constructor(): R|Bottom.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,7 +80,9 @@ FILE: abstractAndSealed.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Bottom.$serializer|
|
private constructor(): R|Bottom.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-2
@@ -10,7 +10,9 @@ FILE: classWithCompanionObject.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<SomeClass>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<SomeClass>|
|
||||||
|
|
||||||
private constructor(): R|SomeClass.Companion|
|
private constructor(): R|SomeClass.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,7 +26,9 @@ FILE: classWithCompanionObject.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|SomeClass.$serializer|
|
private constructor(): R|SomeClass.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-3
@@ -16,7 +16,9 @@ FILE: classWithGenericParameters.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun <T, V> serializer(typeSerial0: R|kotlinx/serialization/KSerializer<T>|, typeSerial1: R|kotlinx/serialization/KSerializer<V>|): R|kotlinx/serialization/KSerializer<GenericBox<T, V>>|
|
public final fun <T, V> serializer(typeSerial0: R|kotlinx/serialization/KSerializer<T>|, typeSerial1: R|kotlinx/serialization/KSerializer<V>|): R|kotlinx/serialization/KSerializer<GenericBox<T, V>>|
|
||||||
|
|
||||||
private constructor(): R|GenericBox.Companion|
|
private constructor(): R|GenericBox.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,9 +34,11 @@ FILE: classWithGenericParameters.kt
|
|||||||
|
|
||||||
public final fun typeParametersSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun typeParametersSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|GenericBox.$serializer<T, V>|
|
private constructor<T, V>(): R|GenericBox.$serializer<T, V>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
private constructor(typeSerial0: R|kotlinx/serialization/KSerializer<T>|, typeSerial1: R|kotlinx/serialization/KSerializer<V>|): R|GenericBox.$serializer<T, V>|
|
private constructor<T, V>(typeSerial0: R|kotlinx/serialization/KSerializer<T>|, typeSerial1: R|kotlinx/serialization/KSerializer<V>|): R|GenericBox.$serializer<T, V>|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-2
@@ -27,7 +27,9 @@ FILE: defaultProperties.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<SomeClass>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<SomeClass>|
|
||||||
|
|
||||||
private constructor(): R|SomeClass.Companion|
|
private constructor(): R|SomeClass.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,7 +43,9 @@ FILE: defaultProperties.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|SomeClass.$serializer|
|
private constructor(): R|SomeClass.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,9 @@ FILE: enums.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<WithNames>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<WithNames>|
|
||||||
|
|
||||||
private constructor(): R|WithNames.Companion|
|
private constructor(): R|WithNames.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,7 +63,9 @@ FILE: enums.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|WithNames.$serializer|
|
private constructor(): R|WithNames.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,7 +84,9 @@ FILE: enums.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Holder>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Holder>|
|
||||||
|
|
||||||
private constructor(): R|Holder.Companion|
|
private constructor(): R|Holder.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +100,9 @@ FILE: enums.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Holder.$serializer|
|
private constructor(): R|Holder.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ FILE: inlineClasses.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Foo>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Foo>|
|
||||||
|
|
||||||
private constructor(): R|Foo.Companion|
|
private constructor(): R|Foo.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,7 +26,9 @@ FILE: inlineClasses.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Foo.$serializer|
|
private constructor(): R|Foo.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,7 +44,9 @@ FILE: inlineClasses.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Holder>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Holder>|
|
||||||
|
|
||||||
private constructor(): R|Holder.Companion|
|
private constructor(): R|Holder.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,7 +60,9 @@ FILE: inlineClasses.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Holder.$serializer|
|
private constructor(): R|Holder.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+63
-21
@@ -31,7 +31,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Project1>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Project1>|
|
||||||
|
|
||||||
private constructor(): R|Project1.Companion|
|
private constructor(): R|Project1.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,7 +47,9 @@ FILE: metaSerializable.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Project1.$serializer|
|
private constructor(): R|Project1.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,7 +68,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Project2>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Project2>|
|
||||||
|
|
||||||
private constructor(): R|Project2.Companion|
|
private constructor(): R|Project2.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +84,9 @@ FILE: metaSerializable.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Project2.$serializer|
|
private constructor(): R|Project2.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +102,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Wrapper>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Wrapper>|
|
||||||
|
|
||||||
private constructor(): R|Wrapper.Companion|
|
private constructor(): R|Wrapper.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +118,9 @@ FILE: metaSerializable.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Wrapper.$serializer|
|
private constructor(): R|Wrapper.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,7 +139,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Project3>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Project3>|
|
||||||
|
|
||||||
private constructor(): R|Project3.Companion|
|
private constructor(): R|Project3.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +155,9 @@ FILE: metaSerializable.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Project3.$serializer|
|
private constructor(): R|Project3.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,7 +176,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Project4>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Project4>|
|
||||||
|
|
||||||
private constructor(): R|Project4.Companion|
|
private constructor(): R|Project4.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,7 +199,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestSealed.A>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestSealed.A>|
|
||||||
|
|
||||||
private constructor(): R|TestSealed.A.Companion|
|
private constructor(): R|TestSealed.A.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,7 +215,9 @@ FILE: metaSerializable.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|TestSealed.A.$serializer|
|
private constructor(): R|TestSealed.A.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,7 +234,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestSealed.B>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestSealed.B>|
|
||||||
|
|
||||||
private constructor(): R|TestSealed.B.Companion|
|
private constructor(): R|TestSealed.B.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -226,7 +250,9 @@ FILE: metaSerializable.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|TestSealed.B.$serializer|
|
private constructor(): R|TestSealed.B.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -235,7 +261,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestSealed>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestSealed>|
|
||||||
|
|
||||||
private constructor(): R|TestSealed.Companion|
|
private constructor(): R|TestSealed.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -256,7 +284,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestAbstract.A>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestAbstract.A>|
|
||||||
|
|
||||||
private constructor(): R|TestAbstract.A.Companion|
|
private constructor(): R|TestAbstract.A.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,7 +300,9 @@ FILE: metaSerializable.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|TestAbstract.A.$serializer|
|
private constructor(): R|TestAbstract.A.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -287,7 +319,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestAbstract.B>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestAbstract.B>|
|
||||||
|
|
||||||
private constructor(): R|TestAbstract.B.Companion|
|
private constructor(): R|TestAbstract.B.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,7 +335,9 @@ FILE: metaSerializable.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|TestAbstract.B.$serializer|
|
private constructor(): R|TestAbstract.B.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,7 +346,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestAbstract>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestAbstract>|
|
||||||
|
|
||||||
private constructor(): R|TestAbstract.Companion|
|
private constructor(): R|TestAbstract.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -334,7 +372,9 @@ FILE: metaSerializable.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestEnum>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<TestEnum>|
|
||||||
|
|
||||||
private constructor(): R|TestEnum.Companion|
|
private constructor(): R|TestEnum.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -348,7 +388,9 @@ FILE: metaSerializable.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|TestEnum.$serializer|
|
private constructor(): R|TestEnum.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-2
@@ -19,7 +19,9 @@ FILE: multipleProperties.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<SomeClass>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<SomeClass>|
|
||||||
|
|
||||||
private constructor(): R|SomeClass.Companion|
|
private constructor(): R|SomeClass.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,7 +35,9 @@ FILE: multipleProperties.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|SomeClass.$serializer|
|
private constructor(): R|SomeClass.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+12
-4
@@ -30,7 +30,9 @@ FILE: privatePropertiesSerialization.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Parent>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Parent>|
|
||||||
|
|
||||||
private constructor(): R|Parent.Companion|
|
private constructor(): R|Parent.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +46,9 @@ FILE: privatePropertiesSerialization.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Parent.$serializer|
|
private constructor(): R|Parent.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -57,7 +61,9 @@ FILE: privatePropertiesSerialization.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Derived>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Derived>|
|
||||||
|
|
||||||
private constructor(): R|Derived.Companion|
|
private constructor(): R|Derived.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,7 +77,9 @@ FILE: privatePropertiesSerialization.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Derived.$serializer|
|
private constructor(): R|Derived.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,9 @@ FILE: serializableWith.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<IntHolder>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<IntHolder>|
|
||||||
|
|
||||||
private constructor(): R|IntHolder.Companion|
|
private constructor(): R|IntHolder.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-2
@@ -53,7 +53,9 @@ FILE: serializableWithCompanion.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|com/example/WithCompanion.$serializer|
|
private constructor(): R|com/example/WithCompanion.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,7 +95,9 @@ FILE: serializableWithCompanion.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|com/example/WithNamedCompanion.$serializer|
|
private constructor(): R|com/example/WithNamedCompanion.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-2
@@ -15,7 +15,9 @@ FILE: serializerInLocalClass.kt
|
|||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
public final fun serializer(): R|kotlinx/serialization/KSerializer<Carrier>|
|
public final fun serializer(): R|kotlinx/serialization/KSerializer<Carrier>|
|
||||||
|
|
||||||
private constructor(): R|Carrier.Companion|
|
private constructor(): R|Carrier.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -29,7 +31,9 @@ FILE: serializerInLocalClass.kt
|
|||||||
|
|
||||||
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
public final fun childSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
||||||
|
|
||||||
private constructor(): R|Carrier.$serializer|
|
private constructor(): R|Carrier.$serializer| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user