From 444de911878e8ee814cb3b6830841feb86cb6a03 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Mon, 9 Jan 2012 00:26:28 +0100 Subject: [PATCH] give up --- .../com/intellij/lang/LanguageExtension.java | 21 +++++++++---------- .../daemon/LineMarkerProviders.java | 20 ++++++++++++++++++ 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/platform/core-api/src/com/intellij/lang/LanguageExtension.java b/platform/core-api/src/com/intellij/lang/LanguageExtension.java index 88537e7a1219..495a8301cfff 100644 --- a/platform/core-api/src/com/intellij/lang/LanguageExtension.java +++ b/platform/core-api/src/com/intellij/lang/LanguageExtension.java @@ -25,7 +25,6 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; import java.util.List; public class LanguageExtension extends KeyedExtensionCollector { @@ -74,16 +73,16 @@ public class LanguageExtension extends KeyedExtensionCollector { return allForLanguage(base); } } - if (l != Language.ANY) { - final List all = allForLanguage(Language.ANY); - if (!all.isEmpty()) { - if (list.isEmpty()) { - return all; - } - list = new ArrayList(list); - list.addAll(all); - } - } + //if (l != Language.ANY) { + // final List all = allForLanguage(Language.ANY); + // if (!all.isEmpty()) { + // if (list.isEmpty()) { + // return all; + // } + // list = new ArrayList(list); + // list.addAll(all); + // } + //} return list; } diff --git a/platform/lang-api/src/com/intellij/codeInsight/daemon/LineMarkerProviders.java b/platform/lang-api/src/com/intellij/codeInsight/daemon/LineMarkerProviders.java index 05974940c789..55278d96fe28 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/daemon/LineMarkerProviders.java +++ b/platform/lang-api/src/com/intellij/codeInsight/daemon/LineMarkerProviders.java @@ -16,11 +16,17 @@ package com.intellij.codeInsight.daemon; +import com.intellij.lang.Language; import com.intellij.lang.LanguageExtension; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; /** * @author yole + * @author Konstantin Bulenkov */ public class LineMarkerProviders extends LanguageExtension { public static LineMarkerProviders INSTANCE = new LineMarkerProviders(); @@ -29,4 +35,18 @@ public class LineMarkerProviders extends LanguageExtension { private LineMarkerProviders() { super(EP_NAME); } + + @NotNull + @Override + public List allForLanguage(Language l) { + //TODO[kb] make this for all Language Extensions + List providers = super.allForLanguage(l); + if (l == Language.ANY) return providers; + List any = super.allForLanguage(Language.ANY); + if (providers.isEmpty()) return any; + if (any.isEmpty()) return providers; + ArrayList result = new ArrayList(providers); + result.addAll(any); + return result; + } }