Fix NPE in SLRUMap in ScriptDefinitionsManager
EA-138364 - NPE: LinkedHashMap$Entry.access$
This commit is contained in:
+3
-3
@@ -78,12 +78,12 @@ class ScriptDefinitionsManager(private val project: Project) : LazyScriptDefinit
|
|||||||
if (nonScriptFileName(fileName)) return null
|
if (nonScriptFileName(fileName)) return null
|
||||||
if (!isReady()) return null
|
if (!isReady()) return null
|
||||||
|
|
||||||
val cached = synchronized(scriptDefinitionsCacheLock) { scriptDefinitionsCache.get(fileName) }
|
val cached = scriptDefinitionsCacheLock.write { scriptDefinitionsCache.get(fileName) }
|
||||||
if (cached != null) return cached
|
if (cached != null) return cached
|
||||||
|
|
||||||
val definition = super.findScriptDefinition(fileName) ?: return null
|
val definition = super.findScriptDefinition(fileName) ?: return null
|
||||||
|
|
||||||
synchronized(scriptDefinitionsCacheLock) {
|
scriptDefinitionsCacheLock.write {
|
||||||
scriptDefinitionsCache.put(fileName, definition)
|
scriptDefinitionsCache.put(fileName, definition)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ class ScriptDefinitionsManager(private val project: Project) : LazyScriptDefinit
|
|||||||
}
|
}
|
||||||
|
|
||||||
clearCache()
|
clearCache()
|
||||||
scriptDefinitionsCache.clear()
|
scriptDefinitionsCacheLock.write { scriptDefinitionsCache.clear() }
|
||||||
|
|
||||||
// TODO: clear by script type/definition
|
// TODO: clear by script type/definition
|
||||||
ServiceManager.getService(project, ScriptDependenciesCache::class.java).clear()
|
ServiceManager.getService(project, ScriptDependenciesCache::class.java).clear()
|
||||||
|
|||||||
Reference in New Issue
Block a user