Fix ScriptDefinition subtyping after earlier refactorings

#KT-41905 fixed
(may also fix other yet undetected or not analyzed problems with script
definitions)
This commit is contained in:
Ilya Chernikov
2020-09-30 17:56:58 +02:00
parent adcfca3f98
commit d88e87aaac
3 changed files with 3 additions and 3 deletions
@@ -48,7 +48,7 @@ class KotlinScriptResolveScopeProvider : ResolveScopeProvider() {
// This is a workaround for completion in REPL to provide module dependencies
if (scriptDefinition.baseClassType.fromClass == Any::class) return null
if (scriptDefinition is ScriptDefinition.FromConfigurations ||
if (scriptDefinition is ScriptDefinition.FromConfigurationsBase ||
scriptDefinition.asLegacyOrNull<KotlinScriptDefinitionFromAnnotatedTemplate>() != null
) {
return GlobalSearchScope.fileScope(project, file).union(
@@ -59,7 +59,7 @@ class KotlinScriptDefinitionsModel private constructor(definitions: MutableList<
override fun valueOf(item: ModelDescriptor): String {
val definition = item.definition
return definition.asLegacyOrNull<KotlinScriptDefinitionFromAnnotatedTemplate>()?.scriptFilePattern?.pattern
?: (definition as? ScriptDefinition.FromConfigurations)?.filePathPattern
?: (definition as? ScriptDefinition.FromConfigurationsBase)?.filePathPattern
?: "." + definition.fileExtension
}
}
@@ -175,7 +175,7 @@ abstract class ScriptDefinition : UserDataHolderBase() {
get() = compilationConfiguration[ScriptCompilationConfiguration.annotationsForSamWithReceivers].orEmpty().map { it.typeName }
override fun equals(other: Any?): Boolean = this === other ||
(other as? FromConfigurations)?.let {
(other as? FromConfigurationsBase)?.let {
compilationConfiguration == it.compilationConfiguration && evaluationConfiguration == it.evaluationConfiguration
} == true