Minor, move deserializeToDescriptor to package kotlin.reflect.jvm.internal
To prevent binary-compatibility-validator from reporting it as a public API; that happens because the signature is different after the gradle-shadow-plugin is applied
This commit is contained in:
@@ -36,7 +36,6 @@ import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
|
|||||||
import org.jetbrains.kotlin.utils.compactIfPossible
|
import org.jetbrains.kotlin.utils.compactIfPossible
|
||||||
import kotlin.jvm.internal.TypeIntrinsics
|
import kotlin.jvm.internal.TypeIntrinsics
|
||||||
import kotlin.reflect.*
|
import kotlin.reflect.*
|
||||||
import kotlin.reflect.jvm.deserializeToDescriptor
|
|
||||||
import kotlin.reflect.jvm.internal.KDeclarationContainerImpl.MemberBelonginess.DECLARED
|
import kotlin.reflect.jvm.internal.KDeclarationContainerImpl.MemberBelonginess.DECLARED
|
||||||
import kotlin.reflect.jvm.internal.KDeclarationContainerImpl.MemberBelonginess.INHERITED
|
import kotlin.reflect.jvm.internal.KDeclarationContainerImpl.MemberBelonginess.INHERITED
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
|
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
|
||||||
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
|
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
|
||||||
import kotlin.reflect.KCallable
|
import kotlin.reflect.KCallable
|
||||||
import kotlin.reflect.jvm.deserializeToDescriptor
|
|
||||||
import kotlin.reflect.jvm.internal.KDeclarationContainerImpl.MemberBelonginess.DECLARED
|
import kotlin.reflect.jvm.internal.KDeclarationContainerImpl.MemberBelonginess.DECLARED
|
||||||
|
|
||||||
internal class KPackageImpl(
|
internal class KPackageImpl(
|
||||||
|
|||||||
@@ -16,10 +16,7 @@
|
|||||||
|
|
||||||
package kotlin.reflect.jvm.internal
|
package kotlin.reflect.jvm.internal
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
|
||||||
import org.jetbrains.kotlin.descriptors.Visibility
|
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotated
|
import org.jetbrains.kotlin.descriptors.annotations.Annotated
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.isEffectivelyInlineOnly
|
import org.jetbrains.kotlin.descriptors.annotations.isEffectivelyInlineOnly
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
@@ -34,8 +31,15 @@ import org.jetbrains.kotlin.load.kotlin.reflect.ReflectAnnotationSource
|
|||||||
import org.jetbrains.kotlin.load.kotlin.reflect.ReflectKotlinClass
|
import org.jetbrains.kotlin.load.kotlin.reflect.ReflectKotlinClass
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
|
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
|
||||||
|
import org.jetbrains.kotlin.protobuf.MessageLite
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.classId
|
import org.jetbrains.kotlin.resolve.descriptorUtil.classId
|
||||||
|
import org.jetbrains.kotlin.serialization.ProtoBuf
|
||||||
|
import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext
|
||||||
|
import org.jetbrains.kotlin.serialization.deserialization.MemberDeserializer
|
||||||
|
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
|
||||||
|
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
|
||||||
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.SinceKotlinInfoTable
|
||||||
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
|
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
|
||||||
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
|
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
|
||||||
import kotlin.jvm.internal.FunctionReference
|
import kotlin.jvm.internal.FunctionReference
|
||||||
@@ -152,3 +156,25 @@ internal val CallableMemberDescriptor.isPublicInBytecode: Boolean
|
|||||||
val visibility = visibility
|
val visibility = visibility
|
||||||
return (visibility == Visibilities.PUBLIC || visibility == Visibilities.INTERNAL) && !isEffectivelyInlineOnly()
|
return (visibility == Visibilities.PUBLIC || visibility == Visibilities.INTERNAL) && !isEffectivelyInlineOnly()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal fun <M : MessageLite, D : CallableDescriptor> deserializeToDescriptor(
|
||||||
|
moduleAnchor: Class<*>,
|
||||||
|
proto: M,
|
||||||
|
nameResolver: NameResolver,
|
||||||
|
typeTable: TypeTable,
|
||||||
|
createDescriptor: MemberDeserializer.(M) -> D
|
||||||
|
): D? {
|
||||||
|
val moduleData = moduleAnchor.getOrCreateModule()
|
||||||
|
|
||||||
|
val typeParameters = when (proto) {
|
||||||
|
is ProtoBuf.Function -> proto.typeParameterList
|
||||||
|
is ProtoBuf.Property -> proto.typeParameterList
|
||||||
|
else -> error("Unsupported message: $proto")
|
||||||
|
}
|
||||||
|
|
||||||
|
val context = DeserializationContext(
|
||||||
|
moduleData.deserialization, nameResolver, moduleData.module, typeTable, SinceKotlinInfoTable.EMPTY,
|
||||||
|
containerSource = null, parentTypeDeserializer = null, typeParameters = typeParameters
|
||||||
|
)
|
||||||
|
return MemberDeserializer(context).createDescriptor(proto)
|
||||||
|
}
|
||||||
|
|||||||
@@ -18,22 +18,17 @@
|
|||||||
|
|
||||||
package kotlin.reflect.jvm
|
package kotlin.reflect.jvm
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
|
||||||
import org.jetbrains.kotlin.load.kotlin.JvmNameResolver
|
import org.jetbrains.kotlin.load.kotlin.JvmNameResolver
|
||||||
import org.jetbrains.kotlin.protobuf.MessageLite
|
|
||||||
import org.jetbrains.kotlin.serialization.ProtoBuf
|
import org.jetbrains.kotlin.serialization.ProtoBuf
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext
|
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.MemberDeserializer
|
import org.jetbrains.kotlin.serialization.deserialization.MemberDeserializer
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
|
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
|
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.SinceKotlinInfoTable
|
|
||||||
import org.jetbrains.kotlin.serialization.jvm.BitEncoding
|
import org.jetbrains.kotlin.serialization.jvm.BitEncoding
|
||||||
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
|
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
|
||||||
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
|
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
|
||||||
import kotlin.reflect.KFunction
|
import kotlin.reflect.KFunction
|
||||||
import kotlin.reflect.jvm.internal.EmptyContainerForLocal
|
import kotlin.reflect.jvm.internal.EmptyContainerForLocal
|
||||||
import kotlin.reflect.jvm.internal.KFunctionImpl
|
import kotlin.reflect.jvm.internal.KFunctionImpl
|
||||||
import kotlin.reflect.jvm.internal.getOrCreateModule
|
import kotlin.reflect.jvm.internal.deserializeToDescriptor
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is an experimental API. Given a class for a compiled Kotlin lambda or a function expression,
|
* This is an experimental API. Given a class for a compiled Kotlin lambda or a function expression,
|
||||||
@@ -54,25 +49,3 @@ fun <R> Function<R>.reflect(): KFunction<R>? {
|
|||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
return KFunctionImpl(EmptyContainerForLocal, descriptor) as KFunction<R>
|
return KFunctionImpl(EmptyContainerForLocal, descriptor) as KFunction<R>
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun <M : MessageLite, D : CallableDescriptor> deserializeToDescriptor(
|
|
||||||
moduleAnchor: Class<*>,
|
|
||||||
proto: M,
|
|
||||||
nameResolver: NameResolver,
|
|
||||||
typeTable: TypeTable,
|
|
||||||
createDescriptor: MemberDeserializer.(M) -> D
|
|
||||||
): D? {
|
|
||||||
val moduleData = moduleAnchor.getOrCreateModule()
|
|
||||||
|
|
||||||
val typeParameters = when (proto) {
|
|
||||||
is ProtoBuf.Function -> proto.typeParameterList
|
|
||||||
is ProtoBuf.Property -> proto.typeParameterList
|
|
||||||
else -> error("Unsupported message: $proto")
|
|
||||||
}
|
|
||||||
|
|
||||||
val context = DeserializationContext(
|
|
||||||
moduleData.deserialization, nameResolver, moduleData.module, typeTable, SinceKotlinInfoTable.EMPTY,
|
|
||||||
containerSource = null, parentTypeDeserializer = null, typeParameters = typeParameters
|
|
||||||
)
|
|
||||||
return MemberDeserializer(context).createDescriptor(proto)
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user