mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-08 15:09:39 +07:00
Web Symbols: require read lock for building Web Symbols context
GitOrigin-RevId: 9f03a2a47b61d9f1c6ea38103110c3cc9c0ebc89
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0f6da09673
commit
92892f34dc
@@ -36,6 +36,7 @@ import com.intellij.psi.PsiManager
|
||||
import com.intellij.psi.util.CachedValue
|
||||
import com.intellij.psi.util.CachedValueProvider
|
||||
import com.intellij.psi.util.CachedValuesManager
|
||||
import com.intellij.util.concurrency.annotations.RequiresReadLock
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
import com.intellij.webSymbols.ContextKind
|
||||
import com.intellij.webSymbols.ContextName
|
||||
@@ -60,6 +61,7 @@ private val CONTEXT_RELOAD_MARKER_KEY = Key<Any>("web.isContext.reloadMarker")
|
||||
private val reloadMonitor = Any()
|
||||
private val LOG = Logger.getInstance(WebSymbolsContext::class.java)
|
||||
|
||||
@RequiresReadLock
|
||||
internal fun findWebSymbolsContext(kind: ContextKind, location: PsiElement): ContextName? {
|
||||
ProgressManager.checkCanceled()
|
||||
if (!location.isValid) {
|
||||
@@ -85,6 +87,7 @@ internal fun findWebSymbolsContext(kind: ContextKind, location: PsiElement): Con
|
||||
psiFile.project)
|
||||
}
|
||||
|
||||
@RequiresReadLock
|
||||
internal fun findWebSymbolsContext(kind: ContextKind, location: VirtualFile, project: Project): ContextName? {
|
||||
if (project.isDisposed) return null
|
||||
val dirContext = location.isDirectory
|
||||
@@ -100,6 +103,7 @@ internal fun findWebSymbolsContext(kind: ContextKind, location: VirtualFile, pro
|
||||
getContextFileConfigInDir(contextInfo, dir))
|
||||
}
|
||||
|
||||
@RequiresReadLock
|
||||
internal fun buildWebSymbolsContext(location: PsiElement): WebSymbolsContext {
|
||||
if (!location.isValid) {
|
||||
return WebSymbolsContext.empty()
|
||||
|
||||
Reference in New Issue
Block a user