mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 01:35:17 +08:00
Added getOrNull function in VariousClass
This commit is contained in:
@@ -30,4 +30,22 @@ fun get(loader: ClassLoader? = null): Class<*>
|
||||
|
||||
> 获取匹配的实体类。
|
||||
|
||||
使用当前 `loader` 装载目标 `Class`。
|
||||
使用当前 `loader` 装载目标 `Class`。
|
||||
|
||||
## getOrNull <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun getOrNull(loader: ClassLoader? = null): Class<*>?
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.0` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 获取匹配的实体类。
|
||||
|
||||
使用当前 `loader` 装载目标 `Class`。
|
||||
|
||||
匹配不到 `Class` 会返回 `null`,不会抛出异常。
|
@@ -56,6 +56,17 @@ class VariousClass(vararg var name: String) {
|
||||
return finalClass ?: error("VariousClass match failed of those $this")
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取匹配的实体类
|
||||
*
|
||||
* - 使用当前 [loader] 装载目标 [Class]
|
||||
*
|
||||
* 匹配不到 [Class] 会返回 null - 不会抛出异常
|
||||
* @param loader 当前 [ClassLoader] - 若留空使用默认 [ClassLoader]
|
||||
* @return [Class] or null
|
||||
*/
|
||||
fun getOrNull(loader: ClassLoader? = null) = runCatching { get(loader) }.getOrNull()
|
||||
|
||||
override fun toString(): String {
|
||||
var result = ""
|
||||
return if (name.isNotEmpty()) {
|
||||
|
@@ -380,7 +380,7 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
|
||||
* @param loader [Class] 所在的 [ClassLoader] - 不填使用 [appClassLoader]
|
||||
* @return [Class] or null
|
||||
*/
|
||||
fun VariousClass.toClassOrNull(loader: ClassLoader? = appClassLoader) = runCatching { toClass(loader) }.getOrNull()
|
||||
fun VariousClass.toClassOrNull(loader: ClassLoader? = appClassLoader) = getOrNull(loader)
|
||||
|
||||
/**
|
||||
* 通过字符串类名查找是否存在
|
||||
|
Reference in New Issue
Block a user