From 568041835fc33b1deaa6b00c57a7f8060981903b Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Mon, 12 Sep 2022 02:06:06 +0800 Subject: [PATCH] Added existMembers function in ReflectionTool --- .../hook/core/reflex/tools/ReflectionTool.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/reflex/tools/ReflectionTool.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/reflex/tools/ReflectionTool.kt index 5dec5479..bdb7083f 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/reflex/tools/ReflectionTool.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/reflex/tools/ReflectionTool.kt @@ -440,6 +440,21 @@ internal object ReflectionTool { } } + /** + * 获取当前 [Class] 中存在的 [Member] 数组 + * @return [Array]<[Member]> + */ + private val Class<*>.existMembers + get() = runCatching { + arrayListOf().apply { + addAll(declaredFields.toList()) + addAll(declaredMethods.toList()) + addAll(declaredConstructors.toList()) + }.toTypedArray() + }.onFailure { + yLoggerW(msg = "Failed to get the declared Members in [$this] because got an exception\n$it") + }.getOrNull() + /** * 获取当前 [Class] 中存在的 [Field] 数组 * @return [Array]<[Field]>