Modify merge buildOfAny method to buildOf method in ReflectionFactory

This commit is contained in:
2022-09-03 02:35:13 +08:00
parent 1f191f7cf3
commit 1b35a2e417
2 changed files with 25 additions and 9 deletions

View File

@@ -463,11 +463,7 @@ inline fun <reified T : Any> 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*~~ <!-- {docsify-ignore} -->
**变更记录**
@@ -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 <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition): T?
```
@@ -495,9 +495,13 @@ inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditi
将方法体进行 inline
`v1.0.93` `修改`
加入无泛型方法 `buildOf`
**功能描述**
> 通过构造方法创建新实例,指定类型 `T`。
> 通过构造方法创建新实例,指定类型 `T` 或任意类型 `Any`
### Class.allMethods *- ext-method*

View File

@@ -186,13 +186,24 @@ inline fun <reified T : Any> 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 <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) =
constructor(initiate).get().newInstance<T>(*param)