diff --git a/docs/api/public/ReflectionFactory.md b/docs/api/public/ReflectionFactory.md index 75f37331..76cf99ae 100644 --- a/docs/api/public/ReflectionFactory.md +++ b/docs/api/public/ReflectionFactory.md @@ -463,11 +463,7 @@ inline fun T.current(ignored: Boolean, initiate: CurrentClass. > 获得当前实例的类操作对象。 -### Class.buildOfAny *- ext-method* - -```kotlin -inline fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorCondition): Any? -``` +### ~~Class.buildOfAny *- ext-method*~~ **变更记录** @@ -477,12 +473,16 @@ inline fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorConditio 将方法体进行 inline -**功能描述** +`v1.0.93` `作废` -> 通过构造方法创建新实例,任意类型 `Any`。 +请转移到 `buildOf` 方法 ### Class.buildOf *- ext-method* +```kotlin +inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition): Any? +``` + ```kotlin inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition): T? ``` @@ -495,9 +495,13 @@ inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditi 将方法体进行 inline +`v1.0.93` `修改` + +加入无泛型方法 `buildOf` + **功能描述** -> 通过构造方法创建新实例,指定类型 `T`。 +> 通过构造方法创建新实例,指定类型 `T` 或任意类型 `Any`。 ### Class.allMethods *- ext-method* 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 1c8cb719..383aa977 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 @@ -186,13 +186,24 @@ inline fun T.current(ignored: Boolean = false, initiate: Curre return this } +/** + * 通过构造方法创建新实例 - 任意类型 [Any] + * + * - ❗此方法已弃用 - 在之后的版本中将直接被删除 + * + * - ❗请现在转移到 [buildOf] + * @return [Any] or null + */ +@Deprecated(message = "请使用新的命名方法", replaceWith = ReplaceWith(expression = "buildOf(*param, initiate)")) +fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = buildOf(*param, initiate) + /** * 通过构造方法创建新实例 - 任意类型 [Any] * @param param 方法参数 * @param initiate 查找方法体 * @return [Any] or null */ -inline fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = +inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = constructor(initiate).get().call(*param) /** @@ -201,6 +212,7 @@ inline fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorConditio * @param initiate 查找方法体 * @return [T] or null */ +@JvmName(name = "buildOf_Generics") inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = constructor(initiate).get().newInstance(*param)