From bff53aabcd04a5d16a403416773beea2ee97dc6f Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Sun, 11 Sep 2022 22:45:49 +0800 Subject: [PATCH] Modify change FieldCondition, MethodCondition, ConstructorCondition to FieldConditions, MethodConditions, ConstructorConditions in ReflectionFactory --- docs/api/public/ConstructorFinder.md | 2 +- docs/api/public/CurrentClass.md | 8 +++---- docs/api/public/FieldFinder.md | 2 +- docs/api/public/MethodFinder.md | 2 +- docs/api/public/ReflectionFactory.md | 14 +++++------ docs/api/public/YukiMemberHookCreator.md | 10 ++++---- .../yukihookapi/hook/bean/CurrentClass.kt | 12 +++++----- .../hook/core/YukiMemberHookCreator.kt | 10 ++++---- .../core/finder/members/ConstructorFinder.kt | 4 ++-- .../hook/core/finder/members/FieldFinder.kt | 4 ++-- .../hook/core/finder/members/MethodFinder.kt | 4 ++-- .../hook/factory/ReflectionFactory.kt | 24 +++++++++---------- 12 files changed, 48 insertions(+), 48 deletions(-) diff --git a/docs/api/public/ConstructorFinder.md b/docs/api/public/ConstructorFinder.md index 6b32b4d6..143e3270 100644 --- a/docs/api/public/ConstructorFinder.md +++ b/docs/api/public/ConstructorFinder.md @@ -169,7 +169,7 @@ inner class RemedyPlan internal constructor() #### constructor *- method* ```kotlin -inline fun constructor(initiate: ConstructorCondition) +inline fun constructor(initiate: ConstructorConditions) ``` **变更记录** diff --git a/docs/api/public/CurrentClass.md b/docs/api/public/CurrentClass.md index c3df5a6f..38e49168 100644 --- a/docs/api/public/CurrentClass.md +++ b/docs/api/public/CurrentClass.md @@ -61,7 +61,7 @@ fun superClass(): SuperClass ### field *- method* ```kotlin -inline fun field(initiate: FieldCondition): FieldFinder.Result.Instance +inline fun field(initiate: FieldConditions): FieldFinder.Result.Instance ``` **变更记录** @@ -75,7 +75,7 @@ inline fun field(initiate: FieldCondition): FieldFinder.Result.Instance ### method *- method* ```kotlin -inline fun method(initiate: MethodCondition): MethodFinder.Result.Instance +inline fun method(initiate: MethodConditions): MethodFinder.Result.Instance ``` **变更记录** @@ -131,7 +131,7 @@ val simpleName: String #### field *- method* ```kotlin -inline fun field(initiate: FieldCondition): FieldFinder.Result.Instance +inline fun field(initiate: FieldConditions): FieldFinder.Result.Instance ``` **变更记录** @@ -145,7 +145,7 @@ inline fun field(initiate: FieldCondition): FieldFinder.Result.Instance #### method *- method* ```kotlin -inline fun method(initiate: MethodCondition): MethodFinder.Result.Instance +inline fun method(initiate: MethodConditions): MethodFinder.Result.Instance ``` **变更记录** diff --git a/docs/api/public/FieldFinder.md b/docs/api/public/FieldFinder.md index 25c3204e..8a6a7cd1 100644 --- a/docs/api/public/FieldFinder.md +++ b/docs/api/public/FieldFinder.md @@ -189,7 +189,7 @@ inner class RemedyPlan internal constructor() #### field *- method* ```kotlin -inline fun field(initiate: FieldCondition): Result +inline fun field(initiate: FieldConditions): Result ``` **变更记录** diff --git a/docs/api/public/MethodFinder.md b/docs/api/public/MethodFinder.md index 70c0b15c..b9baecd1 100644 --- a/docs/api/public/MethodFinder.md +++ b/docs/api/public/MethodFinder.md @@ -271,7 +271,7 @@ inner class RemedyPlan internal constructor() #### method *- method* ```kotlin -inline fun method(initiate: MethodCondition): Result +inline fun method(initiate: MethodConditions): Result ``` **变更记录** diff --git a/docs/api/public/ReflectionFactory.md b/docs/api/public/ReflectionFactory.md index f5f98f8e..892eca56 100644 --- a/docs/api/public/ReflectionFactory.md +++ b/docs/api/public/ReflectionFactory.md @@ -258,7 +258,7 @@ inline fun Class<*>.hasField(initiate: FieldCondition): Boolean ### Class.hasMethod *- ext-method* ```kotlin -inline fun Class<*>.hasMethod(initiate: MethodCondition): Boolean +inline fun Class<*>.hasMethod(initiate: MethodConditions): Boolean ``` **变更记录** @@ -284,7 +284,7 @@ inline fun Class<*>.hasMethod(initiate: MethodCondition): Boolean ### Class.hasConstructor *- ext-method* ```kotlin -inline fun Class<*>.hasConstructor(initiate: ConstructorCondition): Boolean +inline fun Class<*>.hasConstructor(initiate: ConstructorConditions): Boolean ``` **变更记录** @@ -370,7 +370,7 @@ inline fun Class<*>.hasModifiers(initiate: ModifierRules.() -> Unit): Boolean ### Class.field *- ext-method* ```kotlin -inline fun Class<*>.field(initiate: FieldCondition): FieldFinder.Result +inline fun Class<*>.field(initiate: FieldConditions): FieldFinder.Result ``` **变更记录** @@ -388,7 +388,7 @@ inline fun Class<*>.field(initiate: FieldCondition): FieldFinder.Result ### Class.method *- ext-method* ```kotlin -inline fun Class<*>.method(initiate: MethodCondition): MethodFinder.Result +inline fun Class<*>.method(initiate: MethodConditions): MethodFinder.Result ``` **变更记录** @@ -416,7 +416,7 @@ inline fun Class<*>.method(initiate: MethodCondition): MethodFinder.Result ### Class.constructor *- ext-method* ```kotlin -inline fun Class<*>.constructor(initiate: ConstructorCondition): ConstructorFinder.Result +inline fun Class<*>.constructor(initiate: ConstructorConditions): ConstructorFinder.Result ``` **变更记录** @@ -504,11 +504,11 @@ inline fun T.current(ignored: Boolean, initiate: CurrentClass. ### Class.buildOf *- ext-method* ```kotlin -inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition): Any? +inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions): Any? ``` ```kotlin -inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition): T? +inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions): T? ``` **变更记录** diff --git a/docs/api/public/YukiMemberHookCreator.md b/docs/api/public/YukiMemberHookCreator.md index 21439a56..95ebe44b 100644 --- a/docs/api/public/YukiMemberHookCreator.md +++ b/docs/api/public/YukiMemberHookCreator.md @@ -279,7 +279,7 @@ fun allMembers(type: MembersType) #### method *- method* ```kotlin -inline fun method(initiate: MethodCondition): MethodFinder.Result +inline fun method(initiate: MethodConditions): MethodFinder.Result ``` **变更记录** @@ -334,7 +334,7 @@ injectMember { #### constructor *- method* ```kotlin -inline fun constructor(initiate: ConstructorCondition): ConstructorFinder.Result +inline fun constructor(initiate: ConstructorConditions): ConstructorFinder.Result ``` **变更记录** @@ -382,7 +382,7 @@ injectMember { #### HookParam.field *- i-ext-method* ```kotlin -inline fun HookParam.field(initiate: FieldCondition): FieldFinder.Result +inline fun HookParam.field(initiate: FieldConditions): FieldFinder.Result ``` **变更记录** @@ -423,7 +423,7 @@ injectMember { #### HookParam.method *- i-ext-method* ```kotlin -inline fun HookParam.method(initiate: MethodCondition): MethodFinder.Result +inline fun HookParam.method(initiate: MethodConditions): MethodFinder.Result ``` **变更记录** @@ -441,7 +441,7 @@ inline fun HookParam.method(initiate: MethodCondition): MethodFinder.Result #### HookParam.constructor *- i-ext-method* ```kotlin -inline fun HookParam.constructor(initiate: ConstructorCondition): ConstructorFinder.Result +inline fun HookParam.constructor(initiate: ConstructorConditions): ConstructorFinder.Result ``` **变更记录** diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/bean/CurrentClass.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/bean/CurrentClass.kt index 83822705..fa1dd9b5 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/bean/CurrentClass.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/bean/CurrentClass.kt @@ -31,8 +31,8 @@ package com.highcapable.yukihookapi.hook.bean import com.highcapable.yukihookapi.hook.core.finder.members.FieldFinder import com.highcapable.yukihookapi.hook.core.finder.members.MethodFinder -import com.highcapable.yukihookapi.hook.factory.FieldCondition -import com.highcapable.yukihookapi.hook.factory.MethodCondition +import com.highcapable.yukihookapi.hook.factory.FieldConditions +import com.highcapable.yukihookapi.hook.factory.MethodConditions import com.highcapable.yukihookapi.hook.factory.field import com.highcapable.yukihookapi.hook.factory.method @@ -70,14 +70,14 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val * @param initiate 查找方法体 * @return [FieldFinder.Result.Instance] */ - inline fun field(initiate: FieldCondition) = classSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) + inline fun field(initiate: FieldConditions) = classSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) /** * 调用当前实例中的方法 * @param initiate 查找方法体 * @return [MethodFinder.Result.Instance] */ - inline fun method(initiate: MethodCondition) = classSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) + inline fun method(initiate: MethodConditions) = classSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) /** * 当前类的父类实例的类操作对象 @@ -111,14 +111,14 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val * @param initiate 查找方法体 * @return [FieldFinder.Result.Instance] */ - inline fun field(initiate: FieldCondition) = superClassSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) + inline fun field(initiate: FieldConditions) = superClassSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) /** * 调用父类实例中的方法 * @param initiate 查找方法体 * @return [MethodFinder.Result.Instance] */ - inline fun method(initiate: MethodCondition) = superClassSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) + inline fun method(initiate: MethodConditions) = superClassSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) override fun toString() = "CurrentClass super [${superClassSet}]" } diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.kt index 63cbe682..31853d67 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.kt @@ -325,7 +325,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara * @param initiate 方法体 * @return [MethodFinder.Process] */ - inline fun method(initiate: MethodCondition) = runCatching { + inline fun method(initiate: MethodConditions) = runCatching { isHookMemberSetup = true MethodFinder(hookInstance = this, hookClass.instance).apply(initiate).apply { finder = this }.process() }.getOrElse { @@ -340,7 +340,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara * @param initiate 方法体 * @return [ConstructorFinder.Process] */ - inline fun constructor(initiate: ConstructorCondition = { emptyParam() }) = runCatching { + inline fun constructor(initiate: ConstructorConditions = { emptyParam() }) = runCatching { isHookMemberSetup = true ConstructorFinder(hookInstance = this, hookClass.instance).apply(initiate).apply { finder = this }.process() }.getOrElse { @@ -353,7 +353,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara * @param initiate 方法体 * @return [FieldFinder.Result] */ - inline fun HookParam.field(initiate: FieldCondition) = + inline fun HookParam.field(initiate: FieldConditions) = if (hookClass.instance == null) FieldFinder(hookInstance = this@MemberHookCreator).failure(hookClass.throwable) else FieldFinder(hookInstance = this@MemberHookCreator, hookClass.instance).apply(initiate).build() @@ -362,7 +362,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara * @param initiate 方法体 * @return [MethodFinder.Result] */ - inline fun HookParam.method(initiate: MethodCondition) = + inline fun HookParam.method(initiate: MethodConditions) = if (hookClass.instance == null) MethodFinder(hookInstance = this@MemberHookCreator).failure(hookClass.throwable) else MethodFinder(hookInstance = this@MemberHookCreator, hookClass.instance).apply(initiate).build() @@ -371,7 +371,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara * @param initiate 方法体 * @return [ConstructorFinder.Result] */ - inline fun HookParam.constructor(initiate: ConstructorCondition = { emptyParam() }) = + inline fun HookParam.constructor(initiate: ConstructorConditions = { emptyParam() }) = if (hookClass.instance == null) ConstructorFinder(hookInstance = this@MemberHookCreator).failure(hookClass.throwable) else ConstructorFinder(hookInstance = this@MemberHookCreator, hookClass.instance).apply(initiate).build() diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder.kt index 92550d5e..b0d68326 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder.kt @@ -37,7 +37,7 @@ import com.highcapable.yukihookapi.hook.core.finder.base.MemberBaseFinder import com.highcapable.yukihookapi.hook.core.finder.members.data.ConstructorRulesData import com.highcapable.yukihookapi.hook.core.finder.type.ModifierRules import com.highcapable.yukihookapi.hook.core.reflex.tools.ReflectionTool -import com.highcapable.yukihookapi.hook.factory.ConstructorCondition +import com.highcapable.yukihookapi.hook.factory.ConstructorConditions import com.highcapable.yukihookapi.hook.factory.checkingInternal import com.highcapable.yukihookapi.hook.factory.hasExtends import com.highcapable.yukihookapi.hook.log.yLoggerW @@ -249,7 +249,7 @@ class ConstructorFinder @PublishedApi internal constructor( * 若最后依然失败 - 将停止查找并输出错误日志 * @param initiate 方法体 */ - inline fun constructor(initiate: ConstructorCondition) = + inline fun constructor(initiate: ConstructorConditions) = Result().apply { remedyPlans.add(Pair(ConstructorFinder(hookInstance, classSet).apply(initiate), this)) } /** 开始重查找 */ diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.kt index e58b64c4..8f5fb5b2 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.kt @@ -39,7 +39,7 @@ import com.highcapable.yukihookapi.hook.core.finder.members.data.FieldRulesData import com.highcapable.yukihookapi.hook.core.finder.type.ModifierRules import com.highcapable.yukihookapi.hook.core.finder.type.NameConditions import com.highcapable.yukihookapi.hook.core.reflex.tools.ReflectionTool -import com.highcapable.yukihookapi.hook.factory.FieldCondition +import com.highcapable.yukihookapi.hook.factory.FieldConditions import com.highcapable.yukihookapi.hook.factory.checkingInternal import com.highcapable.yukihookapi.hook.factory.current import com.highcapable.yukihookapi.hook.factory.hasExtends @@ -228,7 +228,7 @@ class FieldFinder @PublishedApi internal constructor( * @param initiate 方法体 * @return [Result] 结果 */ - inline fun field(initiate: FieldCondition) = + inline fun field(initiate: FieldConditions) = Result().apply { remedyPlans.add(Pair(FieldFinder(hookInstance, classSet).apply(initiate), this)) } /** 开始重查找 */ diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder.kt index 577ab3fa..bbb4739c 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder.kt @@ -38,7 +38,7 @@ import com.highcapable.yukihookapi.hook.core.finder.members.data.MethodRulesData import com.highcapable.yukihookapi.hook.core.finder.type.ModifierRules import com.highcapable.yukihookapi.hook.core.finder.type.NameConditions import com.highcapable.yukihookapi.hook.core.reflex.tools.ReflectionTool -import com.highcapable.yukihookapi.hook.factory.MethodCondition +import com.highcapable.yukihookapi.hook.factory.MethodConditions import com.highcapable.yukihookapi.hook.factory.checkingInternal import com.highcapable.yukihookapi.hook.factory.hasExtends import com.highcapable.yukihookapi.hook.log.yLoggerW @@ -322,7 +322,7 @@ class MethodFinder @PublishedApi internal constructor( * @param initiate 方法体 * @return [Result] 结果 */ - inline fun method(initiate: MethodCondition) = + inline fun method(initiate: MethodConditions) = Result().apply { remedyPlans.add(Pair(MethodFinder(hookInstance, classSet).apply(initiate), this)) } /** 开始重查找 */ diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/factory/ReflectionFactory.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/factory/ReflectionFactory.kt index 7022ea04..44cfe461 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/factory/ReflectionFactory.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/factory/ReflectionFactory.kt @@ -43,13 +43,13 @@ import java.lang.reflect.Member import java.lang.reflect.Method /** 定义 [FieldFinder] 方法体类型 */ -internal typealias FieldCondition = FieldFinder.() -> Unit +internal typealias FieldConditions = FieldFinder.() -> Unit /** 定义 [MethodFinder] 方法体类型 */ -internal typealias MethodCondition = MethodFinder.() -> Unit +internal typealias MethodConditions = MethodFinder.() -> Unit /** 定义 [ConstructorFinder] 方法体类型 */ -internal typealias ConstructorCondition = ConstructorFinder.() -> Unit +internal typealias ConstructorConditions = ConstructorFinder.() -> Unit /** * 定义一个 [Class] 中的 [Member] 类型 @@ -111,21 +111,21 @@ fun String.hasClass(loader: ClassLoader? = null) = ReflectionTool.hasClassByName * @param initiate 方法体 * @return [Boolean] 是否存在 */ -inline fun Class<*>.hasField(initiate: FieldCondition) = field(initiate).ignored().isNoSuch.not() +inline fun Class<*>.hasField(initiate: FieldConditions) = field(initiate).ignored().isNoSuch.not() /** * 查找方法是否存在 * @param initiate 方法体 * @return [Boolean] 是否存在 */ -inline fun Class<*>.hasMethod(initiate: MethodCondition) = method(initiate).ignored().isNoSuch.not() +inline fun Class<*>.hasMethod(initiate: MethodConditions) = method(initiate).ignored().isNoSuch.not() /** * 查找构造方法是否存在 * @param initiate 方法体 * @return [Boolean] 是否存在 */ -inline fun Class<*>.hasConstructor(initiate: ConstructorCondition = { emptyParam() }) = constructor(initiate).ignored().isNoSuch.not() +inline fun Class<*>.hasConstructor(initiate: ConstructorConditions = { emptyParam() }) = constructor(initiate).ignored().isNoSuch.not() /** * 查询 [Member] 中匹配的描述符 @@ -146,21 +146,21 @@ inline fun Class<*>.hasModifiers(initiate: ModifierRules.() -> Unit) = ModifierR * @param initiate 查找方法体 * @return [FieldFinder.Result] */ -inline fun Class<*>.field(initiate: FieldCondition) = FieldFinder(classSet = this).apply(initiate).build() +inline fun Class<*>.field(initiate: FieldConditions) = FieldFinder(classSet = this).apply(initiate).build() /** * 查找并得到方法 * @param initiate 查找方法体 * @return [MethodFinder.Result] */ -inline fun Class<*>.method(initiate: MethodCondition) = MethodFinder(classSet = this).apply(initiate).build() +inline fun Class<*>.method(initiate: MethodConditions) = MethodFinder(classSet = this).apply(initiate).build() /** * 查找并得到构造方法 * @param initiate 查找方法体 * @return [ConstructorFinder.Result] */ -inline fun Class<*>.constructor(initiate: ConstructorCondition = { emptyParam() }) = ConstructorFinder(classSet = this).apply(initiate).build() +inline fun Class<*>.constructor(initiate: ConstructorConditions = { emptyParam() }) = ConstructorFinder(classSet = this).apply(initiate).build() /** * 获得当前实例的类操作对象 @@ -192,7 +192,7 @@ inline fun T.current(ignored: Boolean = false, initiate: Curre * @return [Any] or null */ @Deprecated(message = "请使用新的命名方法", replaceWith = ReplaceWith(expression = "buildOf(*param, initiate)")) -fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = buildOf(*param, initiate) +fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorConditions = { emptyParam() }) = buildOf(*param, initiate) /** * 通过构造方法创建新实例 - 任意类型 [Any] @@ -200,7 +200,7 @@ fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorCondition = { e * @param initiate 查找方法体 * @return [Any] or null */ -inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = +inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions = { emptyParam() }) = constructor(initiate).get().call(*param) /** @@ -210,7 +210,7 @@ inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition = * @return [T] or null */ @JvmName(name = "buildOf_Generics") -inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = +inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions = { emptyParam() }) = constructor(initiate).get().newInstance(*param) /**