Skip to content

Commit 31d9da3

Browse files
committed
Update resolver interface - make it return Future and add message reporter function +
plus minor fixes
1 parent 5117ecb commit 31d9da3

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

compiler/frontend/src/org/jetbrains/kotlin/script/scriptTemplate.kt

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.jetbrains.kotlin.script
1818

19+
import com.intellij.openapi.diagnostic.Logger
1920
import com.intellij.openapi.project.Project
2021
import com.intellij.openapi.vfs.StandardFileSystems
2122
import com.intellij.openapi.vfs.VirtualFile
@@ -34,7 +35,7 @@ import java.util.concurrent.Future
3435
import java.util.concurrent.TimeUnit
3536
import kotlin.reflect.*
3637

37-
const val DEFAULT_SCRIPT_FILE_PATTERN = "*.\\.kts"
38+
const val DEFAULT_SCRIPT_FILE_PATTERN = ".*\\.kts"
3839

3940
@Target(AnnotationTarget.CLASS)
4041
@Retention(AnnotationRetention.RUNTIME)
@@ -102,6 +103,8 @@ data class KotlinScriptDefinitionFromTemplate(val template: KClass<out Any>,
102103
val environment: Map<String, Any?>? = null
103104
) : KotlinScriptDefinition {
104105

106+
private val log = Logger.getInstance(KotlinScriptDefinitionFromTemplate::class.java)
107+
105108
// TODO: remove this and simplify definitionAnnotation as soon as deprecated annotations will be removed
106109
internal class ScriptTemplateDefinitionData(val resolverClass: KClass<out ScriptDependenciesResolverEx>,
107110
val resolver: ScriptDependenciesResolverEx?,
@@ -183,7 +186,15 @@ data class KotlinScriptDefinitionFromTemplate(val template: KClass<out Any>,
183186
}
184187
.map { it.getProxy(classLoader) }
185188
}
186-
val reportFn = { reportSeverity: ScriptDependenciesResolverEx.ReportSeverity, s: String, position: ScriptContents.Position? -> }
189+
val reportFn = { reportSeverity: ScriptDependenciesResolverEx.ReportSeverity, s: String, position: ScriptContents.Position? ->
190+
val msg = (position?.run { "[at $line:$col]" } ?: "") + s
191+
when (reportSeverity) {
192+
ScriptDependenciesResolverEx.ReportSeverity.ERROR -> log.error(msg)
193+
ScriptDependenciesResolverEx.ReportSeverity.WARNING -> log.warn(msg)
194+
ScriptDependenciesResolverEx.ReportSeverity.INFO -> log.info(msg)
195+
ScriptDependenciesResolverEx.ReportSeverity.DEBUG -> log.debug(msg)
196+
}
197+
}
187198

188199
val fileDeps = definitionData.resolver?.resolve(script, environment, reportFn, previousDependencies)
189200
return fileDeps?.get()

0 commit comments

Comments
 (0)