Fix NPE in SLRUMap in ScriptDefinitionsManager

EA-138364 - NPE: LinkedHashMap$Entry.access$
This commit is contained in:
Natalia Selezneva
2019-04-15 10:05:33 +03:00
parent 2a2fe6b428
commit e158875a14
@@ -78,12 +78,12 @@ class ScriptDefinitionsManager(private val project: Project) : LazyScriptDefinit
if (nonScriptFileName(fileName)) 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
val definition = super.findScriptDefinition(fileName) ?: return null
synchronized(scriptDefinitionsCacheLock) {
scriptDefinitionsCacheLock.write {
scriptDefinitionsCache.put(fileName, definition)
}
@@ -184,7 +184,7 @@ class ScriptDefinitionsManager(private val project: Project) : LazyScriptDefinit
}
clearCache()
scriptDefinitionsCache.clear()
scriptDefinitionsCacheLock.write { scriptDefinitionsCache.clear() }
// TODO: clear by script type/definition
ServiceManager.getService(project, ScriptDependenciesCache::class.java).clear()