void (@NotNull PluginDescriptor pluginDescriptor) { IElementType.unregisterElementTypes(this, pluginDescriptor); Application application = ApplicationManager.getApplication(); ReferenceProvidersRegistry referenceProvidersRegistry = application == null ? null : application.getServiceIfCreated(ReferenceProvidersRegistry.class); if (referenceProvidersRegistry != null) { referenceProvidersRegistry.unloadProvidersFor(this); } synchronized (staticLock) { registeredLanguages = registeredLanguages.remove(getClass()); registeredIds = registeredIds.remove(getID()); for (String mimeType : getMimeTypes()) { registeredMimeTypes.remove(mimeType); } } Language baseLanguage = getBaseLanguage(); if (baseLanguage != null) { baseLanguage.unregisterDialect(this); } }