Suppress manual cast warnings in task builders
This commit is contained in:
parent
94000689da
commit
706521a6b6
@ -172,7 +172,7 @@ public fun Source.discardLine(
|
|||||||
/**
|
/**
|
||||||
* A [Source] based on [ByteArray]
|
* A [Source] based on [ByteArray]
|
||||||
*/
|
*/
|
||||||
public class ByteArraySource(
|
internal class ByteArraySource(
|
||||||
private val byteArray: ByteArray,
|
private val byteArray: ByteArray,
|
||||||
private val offset: Int = 0,
|
private val offset: Int = 0,
|
||||||
private val size: Int = byteArray.size - offset,
|
private val size: Int = byteArray.size - offset,
|
||||||
|
@ -50,7 +50,7 @@ public fun Meta(value: Boolean): SealedMeta = Meta(value.asValue())
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A lightweight mutable meta used to create [SealedMeta] instances without bothering with
|
* A lightweight mutable meta without an observability
|
||||||
*/
|
*/
|
||||||
@PublishedApi
|
@PublishedApi
|
||||||
internal class MetaBuilder(
|
internal class MetaBuilder(
|
||||||
|
@ -35,7 +35,10 @@ public suspend inline fun <T : Any, reified P : WorkspacePlugin> TaskResultBuild
|
|||||||
): DataSet<T> {
|
): DataSet<T> {
|
||||||
require(workspace.context.plugins.contains(plugin)) { "Plugin $plugin is not loaded into $workspace" }
|
require(workspace.context.plugins.contains(plugin)) { "Plugin $plugin is not loaded into $workspace" }
|
||||||
val taskReference: TaskReference<T> = plugin.selectorBuilder()
|
val taskReference: TaskReference<T> = plugin.selectorBuilder()
|
||||||
return workspace.produce(plugin.name + taskReference.taskName, dependencyMeta) as TaskResult<T>
|
val res = workspace.produce(plugin.name + taskReference.taskName, dependencyMeta)
|
||||||
|
//TODO add explicit check after https://youtrack.jetbrains.com/issue/KT-32956
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
return res as TaskResult<T>
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -45,7 +48,7 @@ public suspend inline fun <T : Any, reified P : WorkspacePlugin> TaskResultBuild
|
|||||||
* @param dependencyMeta meta used for selector. The same meta is used for caching. By default, uses [defaultDependencyMeta].
|
* @param dependencyMeta meta used for selector. The same meta is used for caching. By default, uses [defaultDependencyMeta].
|
||||||
* @param selectorBuilder a builder of task from the plugin.
|
* @param selectorBuilder a builder of task from the plugin.
|
||||||
*/
|
*/
|
||||||
public suspend inline fun <T : Any, reified P : WorkspacePlugin> TaskResultBuilder<*>.from(
|
public suspend inline fun <reified T : Any, reified P : WorkspacePlugin> TaskResultBuilder<*>.from(
|
||||||
pluginFactory: PluginFactory<P>,
|
pluginFactory: PluginFactory<P>,
|
||||||
dependencyMeta: Meta = defaultDependencyMeta,
|
dependencyMeta: Meta = defaultDependencyMeta,
|
||||||
selectorBuilder: P.() -> TaskReference<T>,
|
selectorBuilder: P.() -> TaskReference<T>,
|
||||||
@ -53,7 +56,10 @@ public suspend inline fun <T : Any, reified P : WorkspacePlugin> TaskResultBuild
|
|||||||
val plugin = workspace.context.plugins[pluginFactory]
|
val plugin = workspace.context.plugins[pluginFactory]
|
||||||
?: error("Plugin ${pluginFactory.tag} not loaded into workspace context")
|
?: error("Plugin ${pluginFactory.tag} not loaded into workspace context")
|
||||||
val taskReference: TaskReference<T> = plugin.selectorBuilder()
|
val taskReference: TaskReference<T> = plugin.selectorBuilder()
|
||||||
return workspace.produce(plugin.name + taskReference.taskName, dependencyMeta) as TaskResult<T>
|
val res = workspace.produce(plugin.name + taskReference.taskName, dependencyMeta)
|
||||||
|
//TODO explicit check after https://youtrack.jetbrains.com/issue/KT-32956
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
return res as TaskResult<T>
|
||||||
}
|
}
|
||||||
|
|
||||||
public val TaskResultBuilder<*>.allData: DataSelector<*>
|
public val TaskResultBuilder<*>.allData: DataSelector<*>
|
||||||
|
Loading…
Reference in New Issue
Block a user