Cleanup warnings in scripting code

This commit is contained in:
Ilya Chernikov
2020-04-06 13:12:56 +02:00
parent d863dc04e6
commit 195a90d333
20 changed files with 134 additions and 119 deletions
@@ -31,7 +31,3 @@ fun configureScriptDefinitions(
configuration.addAll(ScriptingConfigurationKeys.SCRIPT_DEFINITIONS, templatesFromClasspath.toList())
}
fun makeHostConfiguration(project: Project, configuration: CompilerConfiguration): ScriptingHostConfiguration =
ScriptingHostConfiguration(defaultJvmScriptingHostConfiguration) {
// TODO: add jdk path and other params if needed
}
@@ -30,6 +30,8 @@ import org.jetbrains.kotlin.scripting.extensions.ScriptExtraImportsProviderExten
import org.jetbrains.kotlin.scripting.extensions.ScriptingResolveExtension
import org.jetbrains.kotlin.scripting.resolve.ScriptReportSink
import java.net.URLClassLoader
import kotlin.script.experimental.host.ScriptingHostConfiguration
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
private fun <T : Any> ProjectExtensionDescriptor<T>.registerExtensionIfRequired(project: MockProject, extension: T) {
try {
@@ -42,7 +44,9 @@ private fun <T : Any> ProjectExtensionDescriptor<T>.registerExtensionIfRequired(
class ScriptingCompilerConfigurationComponentRegistrar : ComponentRegistrar {
override fun registerProjectComponents(project: MockProject, configuration: CompilerConfiguration) {
val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
val hostConfiguration = makeHostConfiguration(project, configuration)
val hostConfiguration = ScriptingHostConfiguration(defaultJvmScriptingHostConfiguration) {
// TODO: add jdk path and other params if needed
}
withClassloadingProblemsReporting(messageCollector) {
CompilerConfigurationExtension.registerExtension(project, ScriptingCompilerConfigurationExtension(project, hostConfiguration))
CollectAdditionalSourcesExtension.registerExtension(project,
@@ -68,6 +68,7 @@ open class GenericReplCompiler(
Pair(compilerState.lastLineState!!.psiFile, compilerState.lastLineState!!.errorHolder)
}
@Suppress("DEPRECATION")
val newDependencies =
ScriptDependenciesProvider.getInstance(checker.environment.project)?.getScriptConfiguration(psiFile)
?.legacyDependencies
@@ -34,7 +34,7 @@ class IdeDiagnosticMessageHolder : DiagnosticMessageHolder {
reportEntry.setAttribute("severity", diagnostic.severity.toString())
reportEntry.setAttribute("rangeStart", errorRange.startOffset.toString())
reportEntry.setAttribute("rangeEnd", errorRange.endOffset.toString())
reportEntry.appendChild(errorReport.createTextNode(StringUtil.escapeXml(message)))
reportEntry.appendChild(errorReport.createTextNode(StringUtil.escapeXmlEntities(message)))
rootElement.appendChild(reportEntry)
}
@@ -33,13 +33,15 @@ class ScriptProviderTest {
val shadedDef = FakeScriptDefinition(".x.kts")
val provider = TestCliScriptDefinitionProvider(standardDef).apply {
setScriptDefinitions(listOf(shadedDef, standardDef))
setScriptDefinitionsSources(listOf(
TestScriptDefinitionSource(
genDefCounter,
".y.kts",
".x.kts"
setScriptDefinitionsSources(
listOf(
TestScriptDefinitionSource(
genDefCounter,
".y.kts",
".x.kts"
)
)
))
)
}
Assert.assertEquals(0, genDefCounter.get())
@@ -74,11 +76,10 @@ class ScriptProviderTest {
}
private open class FakeScriptDefinition(val suffix: String = ".kts") :
ScriptDefinition.FromLegacy(defaultJvmScriptingHostConfiguration, KotlinScriptDefinition(ScriptTemplateWithArgs::class))
{
ScriptDefinition.FromLegacy(defaultJvmScriptingHostConfiguration, KotlinScriptDefinition(ScriptTemplateWithArgs::class)) {
val matchCounter = AtomicInteger()
override fun isScript(script: SourceCode): Boolean {
val path =script.locationId ?: return false
val path = script.locationId ?: return false
return path.endsWith(suffix).also {
if (it) matchCounter.incrementAndGet()
}
@@ -89,13 +90,14 @@ private open class FakeScriptDefinition(val suffix: String = ".kts") :
}
private class TestScriptDefinitionSource(val counter: AtomicInteger, val defGens: Iterable<() -> FakeScriptDefinition>) :
ScriptDefinitionsSource
{
constructor(counter: AtomicInteger, vararg suffixes: String) : this(counter, suffixes.map { {
FakeScriptDefinition(
it
)
} })
ScriptDefinitionsSource {
constructor(counter: AtomicInteger, vararg suffixes: String) : this(counter, suffixes.map {
{
FakeScriptDefinition(
it
)
}
})
override val definitions: Sequence<ScriptDefinition> = sequence {
for (gen in defGens) {
@@ -106,5 +108,6 @@ private class TestScriptDefinitionSource(val counter: AtomicInteger, val defGens
}
private class TestCliScriptDefinitionProvider(private val standardDef: ScriptDefinition) : CliScriptDefinitionProvider() {
@Suppress("DEPRECATION", "OverridingDeprecatedMember")
override fun getDefaultScriptDefinition(): KotlinScriptDefinition = standardDef.legacyDefinition
}
@@ -54,7 +54,6 @@ class ScriptingCompilerPluginTest : TestCase() {
paths
}
val compilerClasspath = listOf(kotlinPaths.compilerPath)
val runtimeClasspath = listOf( kotlinPaths.stdlibPath, kotlinPaths.scriptRuntimePath, kotlinPaths.reflectPath)
val scriptingClasspath = listOf("kotlin-scripting-common.jar").map { File(kotlinPaths.libPath, it) }