diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt index 15e4347c84a..b80dc7ddf75 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt @@ -1,5 +1,5 @@ /* - * Copyright 2000-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -30,7 +30,10 @@ import org.jetbrains.kotlin.idea.decompiler.builtIns.KotlinBuiltInFileType import org.jetbrains.kotlin.idea.decompiler.js.KotlinJavaScriptMetaFileType import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.scripting.definitions.findScriptDefinition -import kotlin.script.experimental.location.ScriptExpectedLocation +import kotlin.script.experimental.api.ScriptAcceptedLocation +import kotlin.script.experimental.api.ScriptCompilationConfiguration +import kotlin.script.experimental.api.acceptedLocations +import kotlin.script.experimental.api.ide abstract class KotlinBinaryExtension(val fileType: FileType) { companion object { @@ -70,23 +73,22 @@ object ProjectRootsUtil { fileIndex: ProjectFileIndex = ProjectFileIndex.SERVICE.getInstance(project) ): Boolean { val scriptDefinition = file.findScriptDefinition(project) - if (scriptDefinition != null) { - // TODO: rewrite to ScriptAcceptedLocation and without legacyDefinition - val scriptScope = scriptDefinition.legacyDefinition.scriptExpectedLocations - val includeAll = scriptScope.contains(ScriptExpectedLocation.Everywhere) - || scriptScope.contains(ScriptExpectedLocation.Project) + val scriptScope = scriptDefinition?.compilationConfiguration?.get(ScriptCompilationConfiguration.ide.acceptedLocations) + if (scriptScope != null) { + val includeAll = scriptScope.contains(ScriptAcceptedLocation.Everywhere) + || scriptScope.contains(ScriptAcceptedLocation.Project) || ScratchUtil.isScratch(file) return isInContentWithoutScriptDefinitionCheck( project, file, includeProjectSource && ( includeAll - || scriptScope.contains(ScriptExpectedLocation.SourcesOnly) - || scriptScope.contains(ScriptExpectedLocation.TestsOnly) + || scriptScope.contains(ScriptAcceptedLocation.Sources) + || scriptScope.contains(ScriptAcceptedLocation.Tests) ), - includeLibrarySource && (includeAll || scriptScope.contains(ScriptExpectedLocation.Libraries)), - includeLibraryClasses && (includeAll || scriptScope.contains(ScriptExpectedLocation.Libraries)), - includeScriptDependencies && (includeAll || scriptScope.contains(ScriptExpectedLocation.Libraries)), + includeLibrarySource && (includeAll || scriptScope.contains(ScriptAcceptedLocation.Libraries)), + includeLibraryClasses && (includeAll || scriptScope.contains(ScriptAcceptedLocation.Libraries)), + includeScriptDependencies && (includeAll || scriptScope.contains(ScriptAcceptedLocation.Libraries)), includeScriptsOutsideSourceRoots && includeAll, fileIndex ) @@ -116,8 +118,10 @@ object ProjectRootsUtil { if (ProjectRootManager.getInstance(project).fileIndex.isInContent(file) || ScratchUtil.isScratch(file)) { return true } - // TODO: rewrite to ScriptAcceptedLocation and without legacyDefinition - return file.findScriptDefinition(project)?.legacyDefinition?.scriptExpectedLocations?.contains(ScriptExpectedLocation.Everywhere) == true + return file.findScriptDefinition(project) + ?.compilationConfiguration + ?.get(ScriptCompilationConfiguration.ide.acceptedLocations) + ?.contains(ScriptAcceptedLocation.Everywhere) == true } if (!includeLibraryClasses && !includeLibrarySource) return false