GitOrigin-RevId: 499188ef4f633f20b0955e5738eb46c70fd8b153
This commit is contained in:
Alexey Kudravtsev
2021-07-16 15:11:11 +02:00
committed by intellij-monorepo-bot
parent 8be8b06b13
commit ae79850536
3 changed files with 14 additions and 9 deletions

View File

@@ -5,32 +5,35 @@
package com.intellij.lang;
import com.intellij.psi.PsiFile;
import com.intellij.util.containers.ConcurrentList;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
public class CompositeLanguage extends Language {
private final List<LanguageFilter> myFilters = ContainerUtil.createLockFreeCopyOnWriteList();
private final ConcurrentList<LanguageFilter> myFilters = ContainerUtil.createConcurrentList();
protected CompositeLanguage(final String id) {
protected CompositeLanguage(@NotNull String id) {
super(id);
}
protected CompositeLanguage(final String ID, final String... mimeTypes) {
protected CompositeLanguage(@NotNull String ID, @NotNull String @NotNull ... mimeTypes) {
super(ID, mimeTypes);
}
protected CompositeLanguage(Language baseLanguage, final String ID, final String... mimeTypes) {
protected CompositeLanguage(@NotNull Language baseLanguage, @NotNull String ID, @NotNull String @NotNull ... mimeTypes) {
super(baseLanguage, ID, mimeTypes);
}
public void registerLanguageExtension(LanguageFilter filter) {
if (!myFilters.contains(filter)) myFilters.add(filter);
public void registerLanguageExtension(@NotNull LanguageFilter filter) {
myFilters.addIfAbsent(filter);
}
public boolean unregisterLanguageExtension(LanguageFilter filter) {
@ApiStatus.Internal
public boolean unregisterLanguageExtension(@NotNull LanguageFilter filter) {
return myFilters.remove(filter);
}

View File

@@ -4,6 +4,7 @@ package com.intellij.lang.html;
import com.intellij.lang.Language;
import com.intellij.lang.xml.XMLLanguage;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class HTMLLanguage extends XMLLanguage {
@@ -13,7 +14,7 @@ public class HTMLLanguage extends XMLLanguage {
super(XMLLanguage.INSTANCE, "HTML", "text/html", "text/htmlh");
}
protected HTMLLanguage(Language baseLanguage, @NonNls String name, @NonNls String... mime) {
protected HTMLLanguage(@NotNull Language baseLanguage, @NonNls @NotNull String name, @NonNls @NotNull String @NotNull ... mime) {
super(baseLanguage, name, mime);
}
}

View File

@@ -4,6 +4,7 @@ package com.intellij.lang.xml;
import com.intellij.lang.CompositeLanguage;
import com.intellij.lang.Language;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class XMLLanguage extends CompositeLanguage {
@@ -13,7 +14,7 @@ public class XMLLanguage extends CompositeLanguage {
super("XML", "application/xml", "text/xml");
}
protected XMLLanguage(Language baseLanguage, @NonNls String name, @NonNls String... mime) {
protected XMLLanguage(@NotNull Language baseLanguage, @NonNls @NotNull String name, @NonNls @NotNull String @NotNull ... mime) {
super(baseLanguage, name, mime);
}
}