use of com.intellij.openapi.components.BaseComponent in project intellij-community by JetBrains.
the class ComponentManagerImpl method registerComponentInstance.
private void registerComponentInstance(@NotNull Object instance) {
myInstantiatedComponentCount++;
if (instance instanceof com.intellij.openapi.Disposable) {
Disposer.register(this, (com.intellij.openapi.Disposable) instance);
}
if (!(instance instanceof BaseComponent)) {
return;
}
BaseComponent baseComponent = (BaseComponent) instance;
String componentName = baseComponent.getComponentName();
if (myNameToComponent.containsKey(componentName)) {
BaseComponent loadedComponent = myNameToComponent.get(componentName);
// component may have been already loaded by PicoContainer, so fire error only if components are really different
if (!instance.equals(loadedComponent)) {
LOG.error("Component name collision: " + componentName + " " + (loadedComponent == null ? "null" : loadedComponent.getClass()) + " and " + instance.getClass());
}
} else {
myNameToComponent.put(componentName, baseComponent);
}
myBaseComponents.add(baseComponent);
}
Aggregations