mirror of
https://github.com/mamoe/mirai.git
synced 2025-04-25 04:50:26 +08:00
Fix build
This commit is contained in:
parent
62a21c3afe
commit
186fa5d88d
mirai-core/src
androidMain/kotlin/net/mamoe/mirai/utils/cryptor
jvmMain/kotlin/net/mamoe/mirai/utils/cryptor
@ -1,10 +1,15 @@
|
||||
package net.mamoe.mirai.utils.cryptor
|
||||
|
||||
import java.lang.reflect.Field
|
||||
import kotlin.reflect.full.allSuperclasses
|
||||
|
||||
|
||||
actual fun Any.contentToStringReflectively(prefix: String): String {
|
||||
val newPrefix = prefix + ProtoMap.indent
|
||||
return (this::class.simpleName ?: "<UnnamedClass>") + "#" + this::class.hashCode() + " {\n" +
|
||||
this::class.java.fields.toMutableSet().apply { addAll(this::class.java.declaredFields) }.asSequence().filterNot { it.name.contains("$") || it.name == "Companion" || it.isSynthetic }
|
||||
this.allFieldsFromSuperClassesMatching { it.name.startsWith("net.mamoe.mirai") }
|
||||
.distinctBy { it.name }
|
||||
.filterNot { it.name.contains("$") || it.name == "Companion" || it.isSynthetic || it.name == "serialVersionUID" }
|
||||
.joinToStringPrefixed(
|
||||
prefix = newPrefix
|
||||
) {
|
||||
@ -15,4 +20,12 @@ actual fun Any.contentToStringReflectively(prefix: String): String {
|
||||
else value.contentToString(newPrefix)
|
||||
}.getOrElse { "<!>" }
|
||||
} + "\n$prefix}"
|
||||
}
|
||||
|
||||
internal fun Any.allFieldsFromSuperClassesMatching(classFilter: (Class<out Any>) -> Boolean): Sequence<Field> {
|
||||
return (this::class.java.takeIf(classFilter)?.declaredFields?.asSequence() ?: sequenceOf<Field>()) + this::class.allSuperclasses
|
||||
.asSequence()
|
||||
.map { it.java }
|
||||
.filter(classFilter)
|
||||
.flatMap { it.declaredFields.asSequence() }
|
||||
}
|
@ -7,7 +7,7 @@ import kotlin.reflect.full.allSuperclasses
|
||||
actual fun Any.contentToStringReflectively(prefix: String): String {
|
||||
val newPrefix = prefix + ProtoMap.indent
|
||||
return (this::class.simpleName ?: "<UnnamedClass>") + "#" + this::class.hashCode() + " {\n" +
|
||||
this.allFieldsFromSuperClassesMatching { it.packageName.startsWith("net.mamoe.mirai") }
|
||||
this.allFieldsFromSuperClassesMatching { it.name.startsWith("net.mamoe.mirai") }
|
||||
.distinctBy { it.name }
|
||||
.filterNot { it.name.contains("$") || it.name == "Companion" || it.isSynthetic || it.name == "serialVersionUID" }
|
||||
.joinToStringPrefixed(
|
||||
|
Loading…
Reference in New Issue
Block a user