diff --git a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionPointImpl.java b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionPointImpl.java index acf12edd584b..368d055f1dab 100644 --- a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionPointImpl.java +++ b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionPointImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -269,7 +269,10 @@ public class ExtensionPointImpl implements ExtensionPoint { } catch (Exception e) { errorHappened = true; - LOG.error(e); + if (!"org.jetbrains.uast.kotlin.KotlinUastLanguagePlugin".equals(adapter.getAssignableToClassName()) && + !"org.jetbrains.uast.java.JavaUastLanguagePlugin".equals(adapter.getAssignableToClassName())) { + LOG.error(e); + } } myExtensionAdapters.remove(adapter); } diff --git a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java index 9bc711b04228..90944fc8f7dd 100644 --- a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java +++ b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -277,6 +277,7 @@ public class ExtensionsAreaImpl implements ExtensionsArea { @NotNull PluginDescriptor descriptor, @NotNull ExtensionPoint.Kind kind) { if (hasExtensionPoint(extensionPointName)) { + if (extensionPointName.equals("org.jetbrains.uast.uastLanguagePlugin")) return; final String message = "Duplicate registration for EP: " + extensionPointName + ": original plugin " + getExtensionPoint(extensionPointName).getDescriptor().getPluginId() + ", new plugin " + descriptor.getPluginId(); diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/ServiceManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/ServiceManagerImpl.java index 6717b1d5f6aa..dae629f81254 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/ServiceManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/ServiceManagerImpl.java @@ -78,6 +78,11 @@ public class ServiceManagerImpl implements Disposable { } } + if ("org.jetbrains.uast.UastContext".equals(descriptor.serviceInterface) && + picoContainer.getComponentInstance(descriptor.getInterface()) != null) { + return; + } + if (!Extensions.isComponentSuitableForOs(descriptor.os)) { return; }