Do not fail on lambdas without metadata in toString()
This commit is contained in:
@@ -39,10 +39,10 @@ import kotlin.reflect.jvm.internal.getOrCreateModule
|
|||||||
*/
|
*/
|
||||||
fun <R> Function<R>.reflect(): KFunction<R>? {
|
fun <R> Function<R>.reflect(): KFunction<R>? {
|
||||||
val annotation = javaClass.getAnnotation(Metadata::class.java) ?: return null
|
val annotation = javaClass.getAnnotation(Metadata::class.java) ?: return null
|
||||||
val input = BitEncoding.decodeBytes(annotation.d1).inputStream()
|
val data = annotation.d1.takeUnless(Array<String>::isEmpty) ?: return null
|
||||||
val nameResolver = JvmNameResolver(
|
val input = BitEncoding.decodeBytes(data).inputStream()
|
||||||
JvmProtoBuf.StringTableTypes.parseDelimitedFrom(input, JvmProtoBufUtil.EXTENSION_REGISTRY), annotation.d2
|
val stringTableTypes = JvmProtoBuf.StringTableTypes.parseDelimitedFrom(input, JvmProtoBufUtil.EXTENSION_REGISTRY)
|
||||||
)
|
val nameResolver = JvmNameResolver(stringTableTypes, annotation.d2)
|
||||||
val proto = ProtoBuf.Function.parseFrom(input, JvmProtoBufUtil.EXTENSION_REGISTRY)
|
val proto = ProtoBuf.Function.parseFrom(input, JvmProtoBufUtil.EXTENSION_REGISTRY)
|
||||||
val moduleData = javaClass.getOrCreateModule()
|
val moduleData = javaClass.getOrCreateModule()
|
||||||
val context = DeserializationContext(
|
val context = DeserializationContext(
|
||||||
|
|||||||
Reference in New Issue
Block a user