mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
KTNB: fix NPE
^KTNB-76 fixed GitOrigin-RevId: 14acc214666225e66b95174fc6a8b69839c088cd
This commit is contained in:
committed by
intellij-monorepo-bot
parent
03ce9e3099
commit
92a1c3cc46
+6
-3
@@ -25,20 +25,23 @@ val scriptsAsEntities: Boolean
|
||||
fun getScriptDependenciesClassFilesScope(project: Project, ktFile: KtFile): GlobalSearchScope {
|
||||
require(ktFile.isScript()) { "argument must be a script: ${ktFile.virtualFilePath}" }
|
||||
|
||||
val vFile = ktFile.virtualFile ?: ktFile.viewProvider.virtualFile
|
||||
|
||||
return if (scriptsAsEntities) {
|
||||
val vFilePath = (ktFile.virtualFilePath as String?) ?: vFile.path
|
||||
val entityStorage = WorkspaceModel.getInstance(project).entityStorage.current
|
||||
val scriptEntity = entityStorage.resolve(ScriptId(ktFile.virtualFilePath))
|
||||
val scriptEntity = entityStorage.resolve(ScriptId(vFilePath))
|
||||
|
||||
if (scriptEntity == null) {
|
||||
// WorkspaceModel doesn't know about the file yet. But once the latest sync is over it will.
|
||||
// We cannot synchronously call its syncScriptEntities() because it requires platform write-lock acquisition and this function
|
||||
// is called under platform read-lock.
|
||||
ScriptConfigurationManager.getInstance(project).getScriptDependenciesClassFilesScope(ktFile.virtualFile)
|
||||
ScriptConfigurationManager.getInstance(project).getScriptDependenciesClassFilesScope(vFile)
|
||||
} else {
|
||||
NonClasspathDirectoriesScope.compose(scriptEntity.listDependencies(KotlinScriptLibraryRootTypeId.COMPILED))
|
||||
}
|
||||
} else {
|
||||
ScriptConfigurationManager.getInstance(project).getScriptDependenciesClassFilesScope(ktFile.virtualFile)
|
||||
ScriptConfigurationManager.getInstance(project).getScriptDependenciesClassFilesScope(vFile)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user