mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
a bit of Extensions thread-safety
This commit is contained in:
@@ -24,14 +24,16 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class Extensions {
|
||||
public static final ExtensionPointName<AreaListener> AREA_LISTENER_EXTENSION_POINT = new ExtensionPointName<AreaListener>("com.intellij.arealistener");
|
||||
private static LogProvider ourLogger = new SimpleLogProvider();
|
||||
private static Map<AreaInstance,ExtensionsAreaImpl> ourAreaInstance2area = new THashMap<AreaInstance, ExtensionsAreaImpl>();
|
||||
private static Map<String,AreaClassConfiguration> ourAreaClass2Configuration = new THashMap<String, AreaClassConfiguration>();
|
||||
private static final Map<AreaInstance, ExtensionsAreaImpl> ourAreaInstance2area =
|
||||
Collections.synchronizedMap(new THashMap<AreaInstance, ExtensionsAreaImpl>());
|
||||
private static final Map<String, AreaClassConfiguration> ourAreaClass2Configuration =
|
||||
Collections.synchronizedMap(new THashMap<String, AreaClassConfiguration>());
|
||||
|
||||
@NotNull private static ExtensionsAreaImpl ourRootArea = createRootArea();
|
||||
|
||||
@@ -45,14 +47,6 @@ public class Extensions {
|
||||
return rootArea;
|
||||
}
|
||||
|
||||
public static void setSynchronized() {
|
||||
assert ourAreaInstance2area.isEmpty();
|
||||
assert ourAreaClass2Configuration.isEmpty();
|
||||
|
||||
ourAreaInstance2area = new ConcurrentHashMap<AreaInstance, ExtensionsAreaImpl>();
|
||||
ourAreaClass2Configuration = new ConcurrentHashMap<String, AreaClassConfiguration>();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static ExtensionsArea getRootArea() {
|
||||
return ourRootArea;
|
||||
|
||||
Reference in New Issue
Block a user