Modify change member call param name to "args" in ConstructorFinder, MethodFinder, ReflectionFactory

This commit is contained in:
2023-01-20 20:43:20 +08:00
parent ce35291435
commit c4acd31c8d
9 changed files with 203 additions and 75 deletions

View File

@@ -762,13 +762,17 @@ inner class Instance internal constructor(private val constructor: Constructor<*
#### call <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun call(vararg param: Any?): Any?
fun call(vararg args: Any?): Any?
```
**Change Records**
`v1.0.2` `added`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Constructor` 创建目标实例,不指定目标实例类型。
@@ -776,13 +780,17 @@ fun call(vararg param: Any?): Any?
#### newInstance <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun <T> newInstance(vararg param: Any?): T?
fun <T> newInstance(vararg args: Any?): T?
```
**Change Records**
`v1.0.2` `added`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Constructor` 创建目标实例 ,指定 `T` 目标实例类型。

View File

@@ -914,13 +914,17 @@ fun original(): Instance
#### call <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun call(vararg param: Any?): Any?
fun call(vararg args: Any?): Any?
```
**Change Records**
`v1.0.2` `added`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,不指定返回值类型。
@@ -928,13 +932,17 @@ fun call(vararg param: Any?): Any?
#### invoke <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun <T> invoke(vararg param: Any?): T?
fun <T> invoke(vararg args: Any?): T?
```
**Change Records**
`v1.0.2` `added`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 `T` 返回值类型。
@@ -942,13 +950,17 @@ fun <T> invoke(vararg param: Any?): T?
#### byte <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun byte(vararg param: Any?): Byte?
fun byte(vararg args: Any?): Byte?
```
**Change Records**
`v1.0.68` `added`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 Byte 返回值类型。
@@ -956,7 +968,7 @@ fun byte(vararg param: Any?): Byte?
#### int <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun int(vararg param: Any?): Int
fun int(vararg args: Any?): Int
```
**Change Records**
@@ -967,6 +979,10 @@ fun int(vararg param: Any?): Int
修改 ~~`callInt`~~ 为 `int`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 Int 返回值类型。
@@ -974,7 +990,7 @@ fun int(vararg param: Any?): Int
#### long <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun long(vararg param: Any?): Long
fun long(vararg args: Any?): Long
```
**Change Records**
@@ -985,6 +1001,10 @@ fun long(vararg param: Any?): Long
修改 ~~`callLong`~~ 为 `long`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 Long 返回值类型。
@@ -992,7 +1012,7 @@ fun long(vararg param: Any?): Long
#### short <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun short(vararg param: Any?): Short
fun short(vararg args: Any?): Short
```
**Change Records**
@@ -1003,6 +1023,10 @@ fun short(vararg param: Any?): Short
修改 ~~`callShort`~~ 为 `short`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 Short 返回值类型。
@@ -1010,7 +1034,7 @@ fun short(vararg param: Any?): Short
#### double <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun double(vararg param: Any?): Double
fun double(vararg args: Any?): Double
```
**Change Records**
@@ -1021,6 +1045,10 @@ fun double(vararg param: Any?): Double
修改 ~~`callDouble`~~ 为 `double`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 Double 返回值类型。
@@ -1028,7 +1056,7 @@ fun double(vararg param: Any?): Double
#### float <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun float(vararg param: Any?): Float
fun float(vararg args: Any?): Float
```
**Change Records**
@@ -1039,6 +1067,10 @@ fun float(vararg param: Any?): Float
修改 ~~`callFloat`~~ 为 `float`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 Float 返回值类型。
@@ -1046,7 +1078,7 @@ fun float(vararg param: Any?): Float
#### string <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun string(vararg param: Any?): String
fun string(vararg args: Any?): String
```
**Change Records**
@@ -1057,6 +1089,10 @@ fun string(vararg param: Any?): String
修改 ~~`callString`~~ 为 `string`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 String 返回值类型。
@@ -1064,13 +1100,17 @@ fun string(vararg param: Any?): String
#### char <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun char(vararg param: Any?): Char
fun char(vararg args: Any?): Char
```
**Change Records**
`v1.0.68` `added`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 Char 返回值类型。
@@ -1078,7 +1118,7 @@ fun char(vararg param: Any?): Char
#### boolean <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun boolean(vararg param: Any?): Boolean
fun boolean(vararg args: Any?): Boolean
```
**Change Records**
@@ -1089,6 +1129,10 @@ fun boolean(vararg param: Any?): Boolean
修改 ~~`callBoolean`~~ 为 `boolean`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 Boolean 返回值类型。
@@ -1096,13 +1140,17 @@ fun boolean(vararg param: Any?): Boolean
### array <span class="symbol">- method</span>
```kotlin:no-line-numbers
inline fun <reified T> array(vararg param: Any?): Array<T>
inline fun <reified T> array(vararg args: Any?): Array<T>
```
**Change Records**
`v1.0.68` `added`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 Array 返回值类型。
@@ -1110,13 +1158,17 @@ inline fun <reified T> array(vararg param: Any?): Array<T>
### list <span class="symbol">- method</span>
```kotlin:no-line-numbers
inline fun <reified T> list(vararg param: Any?): List<T>
inline fun <reified T> list(vararg args: Any?): List<T>
```
**Change Records**
`v1.0.68` `added`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 执行 `Method`,指定 List 返回值类型。

View File

@@ -909,11 +909,11 @@ inline fun <reified T : Any> T.current(ignored: Boolean, initiate: CurrentClass.
## Class.buildOf <span class="symbol">- ext-method</span>
```kotlin:no-line-numbers
inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions): Any?
inline fun Class<*>.buildOf(vararg args: Any?, initiate: ConstructorConditions): Any?
```
```kotlin:no-line-numbers
inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions): T?
inline fun <T> Class<*>.buildOf(vararg args: Any?, initiate: ConstructorConditions): T?
```
**Change Records**
@@ -928,6 +928,10 @@ inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditi
加入无泛型方法 `buildOf`
`v1.1.6` `modified`
修改参数命名 `param` 为 `args`
**Function Illustrate**
> 通过构造方法创建新实例,指定类型 `T` 或任意类型 `Any`。

View File

@@ -754,13 +754,17 @@ inner class Instance internal constructor(private val constructor: Constructor<*
#### call <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun call(vararg param: Any?): Any?
fun call(vararg args: Any?): Any?
```
**变更记录**
`v1.0.2` `新增`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Constructor` 创建目标实例,不指定目标实例类型。
@@ -768,13 +772,17 @@ fun call(vararg param: Any?): Any?
#### newInstance <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun <T> newInstance(vararg param: Any?): T?
fun <T> newInstance(vararg args: Any?): T?
```
**变更记录**
`v1.0.2` `新增`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Constructor` 创建目标实例 ,指定 `T` 目标实例类型。

View File

@@ -906,13 +906,17 @@ fun original(): Instance
#### call <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun call(vararg param: Any?): Any?
fun call(vararg args: Any?): Any?
```
**变更记录**
`v1.0.2` `新增`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,不指定返回值类型。
@@ -920,13 +924,17 @@ fun call(vararg param: Any?): Any?
#### invoke <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun <T> invoke(vararg param: Any?): T?
fun <T> invoke(vararg args: Any?): T?
```
**变更记录**
`v1.0.2` `新增`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 `T` 返回值类型。
@@ -934,13 +942,17 @@ fun <T> invoke(vararg param: Any?): T?
#### byte <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun byte(vararg param: Any?): Byte?
fun byte(vararg args: Any?): Byte?
```
**变更记录**
`v1.0.68` `新增`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 Byte 返回值类型。
@@ -948,7 +960,7 @@ fun byte(vararg param: Any?): Byte?
#### int <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun int(vararg param: Any?): Int
fun int(vararg args: Any?): Int
```
**变更记录**
@@ -959,6 +971,10 @@ fun int(vararg param: Any?): Int
修改 ~~`callInt`~~ 为 `int`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 Int 返回值类型。
@@ -966,7 +982,7 @@ fun int(vararg param: Any?): Int
#### long <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun long(vararg param: Any?): Long
fun long(vararg args: Any?): Long
```
**变更记录**
@@ -977,6 +993,10 @@ fun long(vararg param: Any?): Long
修改 ~~`callLong`~~ 为 `long`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 Long 返回值类型。
@@ -984,7 +1004,7 @@ fun long(vararg param: Any?): Long
#### short <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun short(vararg param: Any?): Short
fun short(vararg args: Any?): Short
```
**变更记录**
@@ -995,6 +1015,10 @@ fun short(vararg param: Any?): Short
修改 ~~`callShort`~~ 为 `short`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 Short 返回值类型。
@@ -1002,7 +1026,7 @@ fun short(vararg param: Any?): Short
#### double <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun double(vararg param: Any?): Double
fun double(vararg args: Any?): Double
```
**变更记录**
@@ -1013,6 +1037,10 @@ fun double(vararg param: Any?): Double
修改 ~~`callDouble`~~ 为 `double`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 Double 返回值类型。
@@ -1020,7 +1048,7 @@ fun double(vararg param: Any?): Double
#### float <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun float(vararg param: Any?): Float
fun float(vararg args: Any?): Float
```
**变更记录**
@@ -1031,6 +1059,10 @@ fun float(vararg param: Any?): Float
修改 ~~`callFloat`~~ 为 `float`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 Float 返回值类型。
@@ -1038,7 +1070,7 @@ fun float(vararg param: Any?): Float
#### string <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun string(vararg param: Any?): String
fun string(vararg args: Any?): String
```
**变更记录**
@@ -1049,6 +1081,10 @@ fun string(vararg param: Any?): String
修改 ~~`callString`~~ 为 `string`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 String 返回值类型。
@@ -1056,13 +1092,17 @@ fun string(vararg param: Any?): String
#### char <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun char(vararg param: Any?): Char
fun char(vararg args: Any?): Char
```
**变更记录**
`v1.0.68` `新增`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 Char 返回值类型。
@@ -1070,7 +1110,7 @@ fun char(vararg param: Any?): Char
#### boolean <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun boolean(vararg param: Any?): Boolean
fun boolean(vararg args: Any?): Boolean
```
**变更记录**
@@ -1081,6 +1121,10 @@ fun boolean(vararg param: Any?): Boolean
修改 ~~`callBoolean`~~ 为 `boolean`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 Boolean 返回值类型。
@@ -1088,13 +1132,17 @@ fun boolean(vararg param: Any?): Boolean
### array <span class="symbol">- method</span>
```kotlin:no-line-numbers
inline fun <reified T> array(vararg param: Any?): Array<T>
inline fun <reified T> array(vararg args: Any?): Array<T>
```
**变更记录**
`v1.0.68` `新增`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 Array 返回值类型。
@@ -1102,13 +1150,17 @@ inline fun <reified T> array(vararg param: Any?): Array<T>
### list <span class="symbol">- method</span>
```kotlin:no-line-numbers
inline fun <reified T> list(vararg param: Any?): List<T>
inline fun <reified T> list(vararg args: Any?): List<T>
```
**变更记录**
`v1.0.68` `新增`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 执行 `Method`,指定 List 返回值类型。

View File

@@ -901,11 +901,11 @@ inline fun <reified T : Any> T.current(ignored: Boolean, initiate: CurrentClass.
## Class.buildOf <span class="symbol">- ext-method</span>
```kotlin:no-line-numbers
inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions): Any?
inline fun Class<*>.buildOf(vararg args: Any?, initiate: ConstructorConditions): Any?
```
```kotlin:no-line-numbers
inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions): T?
inline fun <T> Class<*>.buildOf(vararg args: Any?, initiate: ConstructorConditions): T?
```
**变更记录**
@@ -920,6 +920,10 @@ inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditi
加入无泛型方法 `buildOf`
`v1.1.6` `修改`
修改参数命名 `param` 为 `args`
**功能描述**
> 通过构造方法创建新实例,指定类型 `T` 或任意类型 `Any`。

View File

@@ -587,24 +587,24 @@ class ConstructorFinder @PublishedApi internal constructor(
/**
* 执行 [Constructor] 创建目标实例
* @param param [Constructor] 参数
* @param args [Constructor] 参数
* @return [Any] or null
*/
private fun baseCall(vararg param: Any?) = constructor?.newInstance(*param)
private fun baseCall(vararg args: Any?) = constructor?.newInstance(*args)
/**
* 执行 [Constructor] 创建目标实例 - 不指定目标实例类型
* @param param [Constructor] 参数
* @param args [Constructor] 参数
* @return [Any] or null
*/
fun call(vararg param: Any?) = baseCall(*param)
fun call(vararg args: Any?) = baseCall(*args)
/**
* 执行 [Constructor] 创建目标实例 - 指定 [T] 目标实例类型
* @param param [Constructor] 参数
* @param args [Constructor] 参数
* @return [T] or null
*/
fun <T> newInstance(vararg param: Any?) = baseCall(*param) as? T?
fun <T> newInstance(vararg args: Any?) = baseCall(*args) as? T?
override fun toString() = "[${constructor?.name ?: "<empty>"}]"
}

View File

@@ -698,104 +698,104 @@ class MethodFinder @PublishedApi internal constructor(
/**
* 执行 [Method]
* @param param 方法参数
* @param args 方法参数
* @return [Any] or null
*/
private fun baseCall(vararg param: Any?) =
private fun baseCall(vararg args: Any?) =
if (isCallOriginal && YukiHookHelper.isMemberHooked(method))
YukiHookHelper.invokeOriginalMember(method, instance, param)
else method?.invoke(instance, *param)
YukiHookHelper.invokeOriginalMember(method, instance, args)
else method?.invoke(instance, *args)
/**
* 执行 [Method] - 不指定返回值类型
* @param param 方法参数
* @param args 方法参数
* @return [Any] or null
*/
fun call(vararg param: Any?) = baseCall(*param)
fun call(vararg args: Any?) = baseCall(*args)
/**
* 执行 [Method] - 指定 [T] 返回值类型
* @param param 方法参数
* @param args 方法参数
* @return [T] or null
*/
fun <T> invoke(vararg param: Any?) = baseCall(*param) as? T?
fun <T> invoke(vararg args: Any?) = baseCall(*args) as? T?
/**
* 执行 [Method] - 指定 [Byte] 返回值类型
*
* - ❗请确认目标变量的类型 - 发生错误会返回 null
* @param param 方法参数
* @param args 方法参数
* @return [Byte] or null
*/
fun byte(vararg param: Any?) = invoke<Byte?>(*param)
fun byte(vararg args: Any?) = invoke<Byte?>(*args)
/**
* 执行 [Method] - 指定 [Int] 返回值类型
*
* - ❗请确认目标 [Method] 的返回值 - 发生错误会返回默认值
* @param param 方法参数
* @param args 方法参数
* @return [Int] 取不到返回 0
*/
fun int(vararg param: Any?) = invoke(*param) ?: 0
fun int(vararg args: Any?) = invoke(*args) ?: 0
/**
* 执行 [Method] - 指定 [Long] 返回值类型
*
* - ❗请确认目标 [Method] 的返回值 - 发生错误会返回默认值
* @param param 方法参数
* @param args 方法参数
* @return [Long] 取不到返回 0L
*/
fun long(vararg param: Any?) = invoke(*param) ?: 0L
fun long(vararg args: Any?) = invoke(*args) ?: 0L
/**
* 执行 [Method] - 指定 [Short] 返回值类型
*
* - ❗请确认目标 [Method] 的返回值 - 发生错误会返回默认值
* @param param 方法参数
* @param args 方法参数
* @return [Short] 取不到返回 0
*/
fun short(vararg param: Any?) = invoke<Short?>(*param) ?: 0
fun short(vararg args: Any?) = invoke<Short?>(*args) ?: 0
/**
* 执行 [Method] - 指定 [Double] 返回值类型
*
* - ❗请确认目标 [Method] 的返回值 - 发生错误会返回默认值
* @param param 方法参数
* @param args 方法参数
* @return [Double] 取不到返回 0.0
*/
fun double(vararg param: Any?) = invoke(*param) ?: 0.0
fun double(vararg args: Any?) = invoke(*args) ?: 0.0
/**
* 执行 [Method] - 指定 [Float] 返回值类型
*
* - ❗请确认目标 [Method] 的返回值 - 发生错误会返回默认值
* @param param 方法参数
* @param args 方法参数
* @return [Float] 取不到返回 0f
*/
fun float(vararg param: Any?) = invoke(*param) ?: 0f
fun float(vararg args: Any?) = invoke(*args) ?: 0f
/**
* 执行 [Method] - 指定 [String] 返回值类型
* @param param 方法参数
* @param args 方法参数
* @return [String] 取不到返回 ""
*/
fun string(vararg param: Any?) = invoke(*param) ?: ""
fun string(vararg args: Any?) = invoke(*args) ?: ""
/**
* 执行 [Method] - 指定 [Char] 返回值类型
* @param param 方法参数
* @param args 方法参数
* @return [Char] 取不到返回 ' '
*/
fun char(vararg param: Any?) = invoke(*param) ?: ' '
fun char(vararg args: Any?) = invoke(*args) ?: ' '
/**
* 执行 [Method] - 指定 [Boolean] 返回值类型
*
* - ❗请确认目标 [Method] 的返回值 - 发生错误会返回默认值
* @param param 方法参数
* @param args 方法参数
* @return [Boolean] 取不到返回 false
*/
fun boolean(vararg param: Any?) = invoke(*param) ?: false
fun boolean(vararg args: Any?) = invoke(*args) ?: false
/**
* 执行 [Method] - 指定 [Array] 返回值类型 - 每项类型 [T]
@@ -803,7 +803,7 @@ class MethodFinder @PublishedApi internal constructor(
* - ❗请确认目标 [Method] 的返回值 - 发生错误会返回空数组
* @return [Array] 取不到返回空数组
*/
inline fun <reified T> array(vararg param: Any?) = invoke(*param) ?: arrayOf<T>()
inline fun <reified T> array(vararg args: Any?) = invoke(*args) ?: arrayOf<T>()
/**
* 执行 [Method] - 指定 [List] 返回值类型 - 每项类型 [T]
@@ -811,7 +811,7 @@ class MethodFinder @PublishedApi internal constructor(
* - ❗请确认目标 [Method] 的返回值 - 发生错误会返回空数组
* @return [List] 取不到返回空数组
*/
inline fun <reified T> list(vararg param: Any?) = invoke(*param) ?: listOf<T>()
inline fun <reified T> list(vararg args: Any?) = invoke(*args) ?: listOf<T>()
override fun toString() = "[${method?.name ?: "<empty>"}] in [${instance?.javaClass?.name ?: "<empty>"}]"
}

View File

@@ -370,26 +370,26 @@ inline fun <reified T : Any> T.current(ignored: Boolean = false, initiate: Curre
* @return [Any] or null
*/
@Deprecated(message = "请使用新的命名方法", ReplaceWith("buildOf(*param, initiate)"))
fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorConditions = { emptyParam() }) = buildOf(*param, initiate)
fun Class<*>.buildOfAny(vararg args: Any?, initiate: ConstructorConditions = { emptyParam() }) = buildOf(*args, initiate)
/**
* 通过构造方法创建新实例 - 任意类型 [Any]
* @param param 方法参数
* @param args 方法参数
* @param initiate 查找方法体
* @return [Any] or null
*/
inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions = { emptyParam() }) =
constructor(initiate).get().call(*param)
inline fun Class<*>.buildOf(vararg args: Any?, initiate: ConstructorConditions = { emptyParam() }) =
constructor(initiate).get().call(*args)
/**
* 通过构造方法创建新实例 - 指定类型 [T]
* @param param 方法参数
* @param args 方法参数
* @param initiate 查找方法体
* @return [T] or null
*/
@JvmName(name = "buildOf_Generics")
inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions = { emptyParam() }) =
constructor(initiate).get().newInstance<T>(*param)
inline fun <T> Class<*>.buildOf(vararg args: Any?, initiate: ConstructorConditions = { emptyParam() }) =
constructor(initiate).get().newInstance<T>(*args)
/**
* 遍历当前类中的所有方法