From f4166b61e27d55805f525c7cc121018c8f871dfc Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Thu, 11 Aug 2022 02:30:40 +0800 Subject: [PATCH] Modify change CurrentClass constructor param names --- docs/api/public/CurrentClass.md | 6 +++++- .../yukihookapi/hook/bean/CurrentClass.kt | 14 +++++++------- .../yukihookapi/hook/factory/ReflectionFactory.kt | 4 ++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/docs/api/public/CurrentClass.md b/docs/api/public/CurrentClass.md index 2e1b14a3..da74f5e7 100644 --- a/docs/api/public/CurrentClass.md +++ b/docs/api/public/CurrentClass.md @@ -1,13 +1,17 @@ ## CurrentClass [class] ```kotlin -class CurrentClass internal constructor(internal val instance: Class<*>, internal val self: Any) +class CurrentClass internal constructor(internal val classSet: Class<*>, internal val instance: Any) ``` **变更记录** `v1.0.70` `新增` +`v1.0.93` `修改` + +调整了构造方法的参数名称 + **功能描述** > 当前实例的类操作对象。 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 a0ac0c14..3bea799c 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 @@ -34,10 +34,10 @@ import com.highcapable.yukihookapi.hook.factory.method /** * 当前实例的类操作对象 - * @param instance 当前实例的 [Class] - * @param self 当前实例本身 + * @param classSet 当前实例的 [Class] + * @param instance 当前实例本身 */ -class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val instance: Class<*>, @PublishedApi internal val self: Any) { +class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val classSet: Class<*>, @PublishedApi internal val instance: Any) { /** * 调用父类实例 @@ -50,14 +50,14 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val * @param initiate 查找方法体 * @return [FieldFinder.Result.Instance] */ - inline fun field(initiate: FieldFinder.() -> Unit) = instance.field(initiate).get(self) + inline fun field(initiate: FieldFinder.() -> Unit) = classSet.field(initiate).get(instance) /** * 调用当前实例中的方法 * @param initiate 查找方法体 * @return [MethodFinder.Result.Instance] */ - inline fun method(initiate: MethodFinder.() -> Unit) = instance.method(initiate).get(self) + inline fun method(initiate: MethodFinder.() -> Unit) = classSet.method(initiate).get(instance) /** * 当前类的父类实例的类操作对象 @@ -71,13 +71,13 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val * @param initiate 查找方法体 * @return [FieldFinder.Result.Instance] */ - inline fun field(initiate: FieldFinder.() -> Unit) = instance.superclass.field(initiate).get(self) + inline fun field(initiate: FieldFinder.() -> Unit) = classSet.superclass.field(initiate).get(instance) /** * 调用父类实例中的方法 * @param initiate 查找方法体 * @return [MethodFinder.Result.Instance] */ - inline fun method(initiate: MethodFinder.() -> Unit) = instance.superclass.method(initiate).get(self) + inline fun method(initiate: MethodFinder.() -> Unit) = classSet.superclass.method(initiate).get(instance) } } \ No newline at end of file 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 0e9c242b..79f800de 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 @@ -148,7 +148,7 @@ inline fun Class<*>.constructor(initiate: ConstructorFinder.() -> Unit = { empty */ inline fun T.current(initiate: CurrentClass.() -> Unit): T { if (javaClass.name == CurrentClass::class.java.name) error("Cannot create itself within CurrentClass itself") - CurrentClass(javaClass, self = this).apply(initiate) + CurrentClass(javaClass, instance = this).apply(initiate) return this } @@ -158,7 +158,7 @@ inline fun T.current(initiate: CurrentClass.() -> Unit): T { */ inline fun T.current(): CurrentClass { if (javaClass.name == CurrentClass::class.java.name) error("Cannot create itself within CurrentClass itself") - return CurrentClass(javaClass, self = this) + return CurrentClass(javaClass, instance = this) } /**