mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-06 10:45:47 +08:00
Added getOrNull function in VariousClass
This commit is contained in:
@@ -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