mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 03:21:12 +07:00
assign unsorted to module level to avoid concurrent access during parallel module loading
GitOrigin-RevId: 541b3f796568486415cce03eaf8b09bf85105242
This commit is contained in:
committed by
intellij-monorepo-bot
parent
eeeddb5052
commit
243bd79d6f
@@ -550,11 +550,6 @@ public final class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor {
|
||||
// project container: rest of extensions wil be mostly project level
|
||||
// module container: just use rest, area will not register unrelated extension anyway as no registered point
|
||||
containerDescriptor.extensions = epNameToExtensionElements;
|
||||
if (containerDescriptor == moduleContainerDescriptor) {
|
||||
epNameToExtensionElements = null;
|
||||
area.registerExtensions(containerDescriptor.extensions, rootDescriptor, listenerCallbacks);
|
||||
return;
|
||||
}
|
||||
|
||||
LinkedHashMap<String, List<Element>> other = null;
|
||||
Iterator<Map.Entry<String, List<Element>>> iterator = containerDescriptor.extensions.entrySet().iterator();
|
||||
@@ -569,11 +564,19 @@ public final class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor {
|
||||
}
|
||||
}
|
||||
isExtensionsCleared = true;
|
||||
epNameToExtensionElements = other;
|
||||
|
||||
if (containerDescriptor.extensions.isEmpty()) {
|
||||
containerDescriptor.extensions = Collections.emptyMap();
|
||||
}
|
||||
|
||||
if (containerDescriptor == projectContainerDescriptor) {
|
||||
// assign unsorted to module level to avoid concurrent access during parallel module loading
|
||||
moduleContainerDescriptor.extensions = other;
|
||||
epNameToExtensionElements = null;
|
||||
}
|
||||
else {
|
||||
epNameToExtensionElements = other;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user