mirror of
https://github.com/mamoe/mirai.git
synced 2025-04-25 04:50:26 +08:00
Inline all typeOf0
usages with stable stdlib API typeOf
This commit is contained in:
parent
dcacacefad
commit
693e6af79a
mirai-console/backend/mirai-console/src
command
data
internal/data
@ -15,11 +15,11 @@ import net.mamoe.mirai.console.compiler.common.ResolveContext
|
||||
import net.mamoe.mirai.console.compiler.common.ResolveContext.Kind.COMMAND_NAME
|
||||
import net.mamoe.mirai.console.compiler.common.ResolveContext.Kind.RESTRICTED_CONSOLE_COMMAND_OWNER
|
||||
import net.mamoe.mirai.console.internal.command.findOrCreateCommandPermission
|
||||
import net.mamoe.mirai.console.internal.data.typeOf0
|
||||
import net.mamoe.mirai.console.permission.Permission
|
||||
import net.mamoe.mirai.message.data.Message
|
||||
import net.mamoe.mirai.message.data.MessageChain
|
||||
import net.mamoe.mirai.message.data.buildMessageChain
|
||||
import kotlin.reflect.typeOf
|
||||
|
||||
/**
|
||||
* 无参数解析, 接收原生参数的指令.
|
||||
@ -60,7 +60,7 @@ public abstract class RawCommand(
|
||||
@ExperimentalCommandDescriptors
|
||||
override val overloads: List<@JvmWildcard CommandSignature> = listOf(
|
||||
CommandSignatureImpl(
|
||||
receiverParameter = CommandReceiverParameter(false, typeOf0<CommandSender>()),
|
||||
receiverParameter = CommandReceiverParameter(false, typeOf<CommandSender>()),
|
||||
valueParameters = listOf(
|
||||
AbstractCommandValueParameter.UserDefinedType.createRequired<Array<out Message>>(
|
||||
"args",
|
||||
|
@ -17,7 +17,6 @@ import net.mamoe.mirai.console.command.parse.CommandValueArgument
|
||||
import net.mamoe.mirai.console.command.resolve.ResolvedCommandValueArgument
|
||||
import net.mamoe.mirai.console.internal.data.classifierAsKClass
|
||||
import net.mamoe.mirai.console.internal.data.classifierAsKClassOrNull
|
||||
import net.mamoe.mirai.console.internal.data.typeOf0
|
||||
import net.mamoe.mirai.console.util.ConsoleExperimentalApi
|
||||
import net.mamoe.mirai.message.data.content
|
||||
import kotlin.reflect.KClass
|
||||
@ -145,8 +144,8 @@ public data class CommandReceiverParameter<T : CommandSender>(
|
||||
}
|
||||
|
||||
|
||||
internal val ANY_TYPE = typeOf0<Any>()
|
||||
internal val ARRAY_OUT_ANY_TYPE = typeOf0<Array<out Any?>>()
|
||||
internal val ANY_TYPE = typeOf<Any>()
|
||||
internal val ARRAY_OUT_ANY_TYPE = typeOf<Array<out Any?>>()
|
||||
|
||||
@ExperimentalCommandDescriptors
|
||||
public sealed class AbstractCommandValueParameter<T> : CommandValueParameter<T>, AbstractCommandParameter<T>() {
|
||||
|
@ -15,12 +15,12 @@ import net.mamoe.mirai.console.compiler.common.ResolveContext
|
||||
import net.mamoe.mirai.console.compiler.common.ResolveContext.Kind.COMMAND_NAME
|
||||
import net.mamoe.mirai.console.compiler.common.ResolveContext.Kind.RESTRICTED_CONSOLE_COMMAND_OWNER
|
||||
import net.mamoe.mirai.console.internal.command.findOrCreateCommandPermission
|
||||
import net.mamoe.mirai.console.internal.data.typeOf0
|
||||
import net.mamoe.mirai.console.permission.Permission
|
||||
import net.mamoe.mirai.message.data.Message
|
||||
import net.mamoe.mirai.message.data.MessageChain
|
||||
import net.mamoe.mirai.message.data.buildMessageChain
|
||||
import net.mamoe.mirai.utils.runBIO
|
||||
import kotlin.reflect.typeOf
|
||||
|
||||
/**
|
||||
* 供 Java 用户继承
|
||||
@ -82,7 +82,7 @@ public abstract class JRawCommand
|
||||
@ExperimentalCommandDescriptors
|
||||
override val overloads: List<@JvmWildcard CommandSignature> = listOf(
|
||||
CommandSignatureImpl(
|
||||
receiverParameter = CommandReceiverParameter(false, typeOf0<CommandSender>()),
|
||||
receiverParameter = CommandReceiverParameter(false, typeOf<CommandSender>()),
|
||||
valueParameters = listOf(
|
||||
AbstractCommandValueParameter.UserDefinedType.createRequired<Array<out Message>>(
|
||||
"args",
|
||||
|
@ -24,7 +24,6 @@ import net.mamoe.mirai.console.compiler.common.ResolveContext
|
||||
import net.mamoe.mirai.console.compiler.common.ResolveContext.Kind.RESTRICTED_NO_ARG_CONSTRUCTOR
|
||||
import net.mamoe.mirai.console.data.java.JAutoSavePluginData
|
||||
import net.mamoe.mirai.console.internal.data.createInstanceSmart
|
||||
import net.mamoe.mirai.console.internal.data.typeOf0
|
||||
import net.mamoe.mirai.console.internal.data.valueFromKTypeImpl
|
||||
import net.mamoe.mirai.console.internal.data.valueImpl
|
||||
import net.mamoe.mirai.console.plugin.jvm.AbstractJvmPlugin
|
||||
@ -34,6 +33,7 @@ import net.mamoe.mirai.console.util.ConsoleExperimentalApi
|
||||
import kotlin.internal.LowPriorityInOverloadResolution
|
||||
import kotlin.reflect.KClass
|
||||
import kotlin.reflect.KType
|
||||
import kotlin.reflect.typeOf
|
||||
|
||||
/**
|
||||
* 一个插件内部的, 对用户隐藏的数据对象. 可包含对多个 [Value] 的值变更的跟踪. 典型的实现为 [AbstractPluginData].
|
||||
@ -212,7 +212,7 @@ public inline fun <reified T> PluginData.value(
|
||||
default: T,
|
||||
crossinline apply: T.() -> Unit = {},
|
||||
): SerializerAwareValue<T> =
|
||||
valueFromKType(typeOf0<T>(), default).also { it.value.apply() }
|
||||
valueFromKType(typeOf<T>(), default).also { it.value.apply() }
|
||||
|
||||
/**
|
||||
* 通过具体化类型创建一个 [SerializerAwareValue].
|
||||
@ -222,7 +222,7 @@ public inline fun <reified T> PluginData.value(
|
||||
@LowPriorityInOverloadResolution
|
||||
public inline fun <@ResolveContext(RESTRICTED_NO_ARG_CONSTRUCTOR) reified T>
|
||||
PluginData.value(apply: T.() -> Unit = {}): SerializerAwareValue<T> =
|
||||
valueImpl<T>(typeOf0<T>(), T::class).also { it.value.apply() }
|
||||
valueImpl<T>(typeOf<T>(), T::class).also { it.value.apply() }
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
@PublishedApi
|
||||
|
@ -28,10 +28,6 @@ private val primitiveCollectionsImplemented by lazy {
|
||||
false
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
internal inline fun <reified T> typeOf0(): KType = kotlin.reflect.typeOf<T>()
|
||||
|
||||
@Suppress("UnsafeCall", "SMARTCAST_IMPOSSIBLE", "UNCHECKED_CAST")
|
||||
internal fun PluginData.valueFromKTypeImpl(type: KType): SerializerAwareValue<*> {
|
||||
val classifier = type.classifier
|
||||
|
Loading…
Reference in New Issue
Block a user