Support @AcceptedAnnotations for different kinds of resolvers
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
@file: [Anno custom.scriptDefinition.Anno2 <error>NonExistentAnno</error>]
|
||||
|
||||
val c = 3
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package custom.scriptDefinition
|
||||
|
||||
import java.io.File
|
||||
import kotlin.script.dependencies.*
|
||||
import kotlin.script.templates.ScriptTemplateDefinition
|
||||
|
||||
class TestDependenciesResolver : DependenciesResolver {
|
||||
@kotlin.script.templates.AcceptedAnnotations(Anno::class)
|
||||
override fun resolve(
|
||||
scriptContents: ScriptContents,
|
||||
environment: Environment
|
||||
): DependenciesResolver.ResolveResult {
|
||||
val annoFQN = Anno::class.qualifiedName!!
|
||||
assert(scriptContents.annotations.single().annotationClass.qualifiedName == annoFQN)
|
||||
return ScriptDependencies(
|
||||
classpath = listOf(environment["template-classes"] as File),
|
||||
imports = listOf(annoFQN)
|
||||
).asSuccess()
|
||||
}
|
||||
}
|
||||
|
||||
@Target(AnnotationTarget.FILE)
|
||||
annotation class Anno
|
||||
|
||||
@Target(AnnotationTarget.FILE)
|
||||
annotation class Anno2
|
||||
|
||||
@ScriptTemplateDefinition(TestDependenciesResolver::class, scriptFilePattern = "script.kts")
|
||||
class Template
|
||||
Reference in New Issue
Block a user