Cleanup (minor refactoring)

This commit is contained in:
Roman Shevchenko
2016-12-02 20:23:06 +01:00
parent 47a2ee977e
commit 56d5aed0e2
2 changed files with 22 additions and 30 deletions
@@ -39,23 +39,23 @@ public class JavadocManagerImpl implements JavadocManager {
public JavadocManagerImpl(Project project) {
myInfos = new ArrayList<JavadocTagInfo>();
myInfos.add(new SimpleDocTagInfo("author", PsiClass.class, PsiPackage.class, LanguageLevel.JDK_1_3));
myInfos.add(new SimpleDocTagInfo("deprecated", PsiElement.class, false, LanguageLevel.JDK_1_3));
myInfos.add(new SimpleDocTagInfo("serialData", PsiMethod.class, false, LanguageLevel.JDK_1_3));
myInfos.add(new SimpleDocTagInfo("serialField", PsiField.class, false, LanguageLevel.JDK_1_3));
myInfos.add(new SimpleDocTagInfo("since", PsiElement.class, PsiPackage.class, LanguageLevel.JDK_1_3));
myInfos.add(new SimpleDocTagInfo("version", PsiClass.class, PsiPackage.class, LanguageLevel.JDK_1_3));
myInfos.add(new SimpleDocTagInfo("apiNote", PsiElement.class, false, LanguageLevel.JDK_1_8));
myInfos.add(new SimpleDocTagInfo("implNote", PsiElement.class, false, LanguageLevel.JDK_1_8));
myInfos.add(new SimpleDocTagInfo("implSpec", PsiElement.class, false, LanguageLevel.JDK_1_8));
myInfos.add(new SimpleDocTagInfo("author", LanguageLevel.JDK_1_3, false, PsiClass.class, PsiPackage.class));
myInfos.add(new SimpleDocTagInfo("deprecated", LanguageLevel.JDK_1_3, false, PsiElement.class));
myInfos.add(new SimpleDocTagInfo("serialData", LanguageLevel.JDK_1_3, false, PsiMethod.class));
myInfos.add(new SimpleDocTagInfo("serialField", LanguageLevel.JDK_1_3, false, PsiField.class));
myInfos.add(new SimpleDocTagInfo("since", LanguageLevel.JDK_1_3, false, PsiElement.class, PsiPackage.class));
myInfos.add(new SimpleDocTagInfo("version", LanguageLevel.JDK_1_3, false, PsiClass.class, PsiPackage.class));
myInfos.add(new SimpleDocTagInfo("apiNote", LanguageLevel.JDK_1_8, false, PsiElement.class));
myInfos.add(new SimpleDocTagInfo("implNote", LanguageLevel.JDK_1_8, false, PsiElement.class));
myInfos.add(new SimpleDocTagInfo("implSpec", LanguageLevel.JDK_1_8, false, PsiElement.class));
myInfos.add(new SimpleDocTagInfo("docRoot", PsiElement.class, true, LanguageLevel.JDK_1_3));
myInfos.add(new SimpleDocTagInfo("inheritDoc", PsiElement.class, true, LanguageLevel.JDK_1_4));
myInfos.add(new SimpleDocTagInfo("literal", PsiElement.class, true, LanguageLevel.JDK_1_5));
myInfos.add(new SimpleDocTagInfo("code", PsiElement.class, true, LanguageLevel.JDK_1_5));
myInfos.add(new SimpleDocTagInfo("docRoot", LanguageLevel.JDK_1_3, true, PsiElement.class));
myInfos.add(new SimpleDocTagInfo("inheritDoc", LanguageLevel.JDK_1_4, true, PsiElement.class));
myInfos.add(new SimpleDocTagInfo("literal", LanguageLevel.JDK_1_5, true, PsiElement.class));
myInfos.add(new SimpleDocTagInfo("code", LanguageLevel.JDK_1_5, true, PsiElement.class));
//Not a standard tag, but added by IDEA for inspection suppression
myInfos.add(new SimpleDocTagInfo(SuppressionUtilCore.SUPPRESS_INSPECTIONS_TAG_NAME, PsiElement.class, false, LanguageLevel.JDK_1_3));
myInfos.add(new SimpleDocTagInfo(SuppressionUtilCore.SUPPRESS_INSPECTIONS_TAG_NAME, LanguageLevel.JDK_1_3, false, PsiElement.class));
myInfos.add(new ParamDocTagInfo());
myInfos.add(new ReturnDocTagInfo());
@@ -21,34 +21,24 @@ import com.intellij.psi.PsiReference;
import com.intellij.psi.javadoc.JavadocTagInfo;
import com.intellij.psi.javadoc.PsiDocTagValue;
import com.intellij.psi.util.PsiUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
/**
* @author mike
*/
class SimpleDocTagInfo implements JavadocTagInfo {
private final String myName;
private final Class myContext;
private final Class myAdditionalContext;
private final Class[] myContexts;
private final boolean myInline;
private final LanguageLevel myLanguageLevel;
public SimpleDocTagInfo(@NonNls String name, Class context, boolean isInline, LanguageLevel level) {
SimpleDocTagInfo(@NotNull String name, @NotNull LanguageLevel level, boolean isInline, @NotNull Class... contexts) {
myName = name;
myContext = context;
myAdditionalContext = null;
myContexts = contexts;
myInline = isInline;
myLanguageLevel = level;
}
public SimpleDocTagInfo(@NonNls String name, Class context, Class additionalContext, LanguageLevel level) {
myName = name;
myContext = context;
myAdditionalContext = additionalContext;
myInline = false;
myLanguageLevel = level;
}
@Override
public String getName() {
return myName;
@@ -64,8 +54,10 @@ class SimpleDocTagInfo implements JavadocTagInfo {
if (element != null && PsiUtil.getLanguageLevel(element).compareTo(myLanguageLevel) < 0) {
return false;
}
return myContext.isInstance(element) || (myAdditionalContext != null && myAdditionalContext.isInstance(element));
for (Class context : myContexts) {
if (context.isInstance(element)) return true;
}
return false;
}
@Override