private void unregisterPointer(Module module) { final ModulePointerImpl pointer = myPointers.remove(module); if (pointer != null) { pointer.moduleRemoved(module); myUnresolved.put(pointer.getModuleName(), pointer); } }
private void moduleAppears(Module module) { ModulePointerImpl pointer = myUnresolved.remove(module.getName()); if (pointer != null && pointer.getModule() == null) { pointer.moduleAdded(module); registerPointer(module, pointer); } }
@NotNull @Override public ModulePointer create(@NotNull Module module) { ModulePointerImpl pointer = myPointers.get(module); if (pointer == null) { pointer = myUnresolved.get(module.getName()); if (pointer == null) { pointer = new ModulePointerImpl(module); } else { pointer.moduleAdded(module); } registerPointer(module, pointer); } return pointer; }