diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md index d516082a..d744cba5 100644 --- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md +++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md @@ -93,13 +93,17 @@ inline fun method(initiate: MethodConditions): MethodFinder.Result.Instance ## SuperClass - class ```kotlin:no-line-numbers -inner class SuperClass internal constructor() +inner class SuperClass internal constructor(internal val superClassSet: Class<*>) ``` **变更记录** `v1.0.80` `新增` +`v1.1.0` `修改` + +新增 `superClassSet` 参数 + **功能描述** > 当前类的父类实例的类操作对象。 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 160bfc57..7b557dd9 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 @@ -63,7 +63,7 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val * 调用父类实例 * @return [SuperClass] */ - fun superClass() = SuperClass() + fun superClass() = SuperClass(classSet.superclass) /** * 调用当前实例中的变量 @@ -83,28 +83,21 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val * 当前类的父类实例的类操作对象 * * - ❗请使用 [superClass] 方法来获取 [SuperClass] + * @param superClassSet 父类 [Class] 对象 */ - inner class SuperClass internal constructor() { - - /** - * 获取 [classSet] 的 [Class.getSuperclass] 对象 - * @return [Class] - */ - @PublishedApi - internal val superClassSet - get() = classSet.superclass + inner class SuperClass internal constructor(@PublishedApi internal val superClassSet: Class<*>) { /** * 获得当前 [classSet] 中父类的 [Class.getName] * @return [String] */ - val name get() = superClassSet.name ?: instance.javaClass.superclass.name ?: "" + val name get() = superClassSet.name ?: "" /** * 获得当前 [classSet] 中父类的 [Class.getSimpleName] * @return [String] */ - val simpleName get() = superClassSet.simpleName ?: instance.javaClass.superclass.simpleName ?: "" + val simpleName get() = superClassSet.simpleName ?: "" /** * 调用父类实例中的变量 @@ -118,7 +111,8 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val * @param initiate 查找方法体 * @return [MethodFinder.Result.Instance] */ - inline fun method(initiate: MethodConditions) = 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}]" }