Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@
import consulo.annotation.access.RequiredReadAction;
import consulo.document.util.TextRange;
import consulo.java.language.impl.localize.JavaErrorLocalize;
import consulo.java.language.localize.JavaCompilationErrorLocalize;
import consulo.language.editor.rawHighlight.HighlightInfo;
import consulo.language.editor.rawHighlight.HighlightInfoType;
import consulo.language.psi.*;
import consulo.language.psi.scope.GlobalSearchScope;
import consulo.language.psi.util.PsiMatcherImpl;
import consulo.language.psi.util.PsiTreeUtil;
import consulo.language.util.ModuleUtilCore;
import consulo.localize.LocalizeValue;
import consulo.module.Module;
import consulo.project.Project;
Expand Down Expand Up @@ -93,8 +93,8 @@ public static HighlightInfo.Builder checkClassWithAbstractMethods(PsiClass aClas
String methodName = JavaHighlightUtil.formatMethod(abstractMethod);
String c = HighlightUtil.formatClass(superClass, false);
LocalizeValue description = aClass instanceof PsiEnumConstantInitializer || implementsFixElement instanceof PsiEnumConstant
? JavaErrorLocalize.enumConstantShouldImplementMethod(baseClassName, methodName, c)
: JavaErrorLocalize.classMustBeAbstract(baseClassName, methodName, c);
? JavaCompilationErrorLocalize.classMustImplementMethod(baseClassName, methodName, c)
: JavaCompilationErrorLocalize.classMustImplementMethodOrAbstract(baseClassName, methodName, c);

HighlightInfo.Builder hlBuilder = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(range)
Expand Down Expand Up @@ -138,7 +138,7 @@ public static HighlightInfo.Builder checkInstantiationOfAbstractClass(PsiClass a
&& !(highlightElement instanceof PsiNewExpression newExpr && newExpr.getType() instanceof PsiArrayType)) {
HighlightInfo.Builder hlBuilder = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(highlightElement)
.descriptionAndTooltip(JavaErrorLocalize.abstractCannotBeInstantiated(aClass.getName()));
.descriptionAndTooltip(JavaCompilationErrorLocalize.instantiationAbstract(aClass.getName()));
PsiMethod anyAbstractMethod = ClassUtil.getAnyAbstractMethod(aClass);
QuickFixFactory factory = QuickFixFactory.getInstance();
if (!aClass.isInterface() && anyAbstractMethod == null) {
Expand Down Expand Up @@ -179,7 +179,7 @@ public static HighlightInfo checkDuplicateTopLevelClass(PsiClass aClass) {
numOfClassesToFind = 1;
}
PsiManager manager = aClass.getManager();
Module module = ModuleUtilCore.findModuleForPsiElement(aClass);
Module module = aClass.getModule();
if (module == null) {
return null;
}
Expand All @@ -206,7 +206,7 @@ public static HighlightInfo checkDuplicateTopLevelClass(PsiClass aClass) {

return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(HighlightNamesUtil.getClassDeclarationTextRange(aClass))
.descriptionAndTooltip(JavaErrorLocalize.duplicateClassInOtherFile(dupFileName))
.descriptionAndTooltip(JavaCompilationErrorLocalize.classDuplicateInOtherFile(dupFileName))
.create();
}

Expand Down Expand Up @@ -260,7 +260,7 @@ public static HighlightInfo.Builder checkDuplicateNestedClass(PsiClass aClass) {
TextRange textRange = HighlightNamesUtil.getClassDeclarationTextRange(aClass);
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(textRange)
.descriptionAndTooltip(JavaErrorLocalize.duplicateClass(name));
.descriptionAndTooltip(JavaCompilationErrorLocalize.classDuplicate(name));
}
return null;
}
Expand Down Expand Up @@ -307,7 +307,7 @@ public static HighlightInfo.Builder checkClassAndPackageConflict(@Nonnull PsiCla
if (CommonClassNames.DEFAULT_PACKAGE.equals(name)) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(HighlightNamesUtil.getClassDeclarationTextRange(aClass))
.descriptionAndTooltip(JavaErrorLocalize.classClashesWithPackage(name));
.descriptionAndTooltip(JavaCompilationErrorLocalize.classClashesWithPackage(name));
}

PsiElement file = aClass.getParent();
Expand All @@ -318,7 +318,7 @@ public static HighlightInfo.Builder checkClassAndPackageConflict(@Nonnull PsiCla
if (subDirectory != null && simpleName.equals(subDirectory.getName())) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(HighlightNamesUtil.getClassDeclarationTextRange(aClass))
.descriptionAndTooltip(JavaErrorLocalize.classClashesWithPackage(name));
.descriptionAndTooltip(JavaCompilationErrorLocalize.classClashesWithPackage(name));
}
}

Expand Down Expand Up @@ -517,7 +517,7 @@ public static HighlightInfo.Builder checkExtendsClassAndImplementsInterface(
if (extendFrom.isInterface() != mustBeInterface) {
LocalizeValue message = mustBeInterface
? JavaErrorLocalize.interfaceExpected()
: JavaErrorLocalize.noInterfaceExpected();
: JavaCompilationErrorLocalize.classExtendsInterface();
PsiClassType type = JavaPsiFacade.getInstance(aClass.getProject()).getElementFactory().createType(ref);
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(ref)
Expand Down Expand Up @@ -651,7 +651,7 @@ public static HighlightInfo.Builder checkCyclicInheritance(PsiClass aClass) {
if (circularClass != null) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(HighlightNamesUtil.getClassDeclarationTextRange(aClass))
.descriptionAndTooltip(JavaErrorLocalize.cyclicInheritance(HighlightUtil.formatClass(circularClass)));
.descriptionAndTooltip(JavaCompilationErrorLocalize.classCyclicInheritance(HighlightUtil.formatClass(circularClass)));
}
return null;
}
Expand Down Expand Up @@ -713,7 +713,7 @@ public static HighlightInfo.Builder checkExtendsDuplicate(
if (dupCount > 1) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(element)
.descriptionAndTooltip(JavaErrorLocalize.duplicateClass(HighlightUtil.formatClass(aClass)));
.descriptionAndTooltip(JavaCompilationErrorLocalize.classDuplicate(HighlightUtil.formatClass(aClass)));
}
return null;
}
Expand Down Expand Up @@ -743,7 +743,7 @@ public static HighlightInfo checkClassAlreadyImported(PsiClass aClass, PsiElemen
&& Objects.equals(aClass.getName(), importClass.getName())) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(elementToHighlight)
.descriptionAndTooltip(JavaErrorLocalize.classAlreadyImported(HighlightUtil.formatClass(aClass, false)))
.descriptionAndTooltip(JavaCompilationErrorLocalize.classAlreadyImported(HighlightUtil.formatClass(aClass, false)))
.create();
}
}
Expand All @@ -758,21 +758,29 @@ public static HighlightInfo.Builder checkClassExtendsOnlyOneClass(PsiReferenceLi
&& referencedTypes.length > 1 && aClass.getExtendsList() == list) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(list)
.descriptionAndTooltip(JavaErrorLocalize.classCannotExtendMultipleClasses());
.descriptionAndTooltip(JavaCompilationErrorLocalize.classCannotExtendMultipleClasses());
}

return null;
}

@Nullable
@RequiredReadAction
public static HighlightInfo.Builder checkThingNotAllowedInInterface(PsiElement element, PsiClass aClass) {
public static HighlightInfo.Builder checkThingNotAllowedInInterface(PsiMember member) {
PsiClass aClass = member.getContainingClass();
if (aClass == null || !aClass.isInterface()) {
return null;
}
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(element)
.descriptionAndTooltip(JavaErrorLocalize.notAllowedInInterface());
if (member instanceof PsiMethod method && method.isConstructor()) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(member)
.descriptionAndTooltip(JavaCompilationErrorLocalize.interfaceConstructor());
} else if (member instanceof PsiClassInitializer initializer) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(member)
.descriptionAndTooltip(JavaCompilationErrorLocalize.interfaceClassInitializer());
}
return null;
}

@Nullable
Expand All @@ -786,14 +794,14 @@ public static HighlightInfo.Builder checkQualifiedNew(PsiNewExpression expressio
if (type instanceof PsiArrayType) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(expression)
.descriptionAndTooltip(JavaErrorLocalize.invalidQualifiedNew())
.descriptionAndTooltip(JavaCompilationErrorLocalize.newExpressionQualifiedMalformed())
.registerFix(factory.createRemoveNewQualifierFix(expression, null));
}
if (aClass != null) {
if (aClass.isStatic()) {
HighlightInfo.Builder hlBuilder = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(expression)
.descriptionAndTooltip(JavaErrorLocalize.qualifiedNewOfStaticClass());
.descriptionAndTooltip(JavaCompilationErrorLocalize.newExpressionQualifiedStaticClass());
if (!aClass.isEnum()) {
hlBuilder.registerFix(factory.createModifierFixBuilder(aClass).remove(PsiModifier.STATIC).create());
}
Expand Down Expand Up @@ -844,7 +852,7 @@ public static HighlightInfo.Builder checkClassExtendsForeignInnerClass(PsiJavaCo
if (!(resolved instanceof PsiClass)) {
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(extendRef)
.descriptionAndTooltip(JavaErrorLocalize.classNameExpected());
.descriptionAndTooltip(JavaCompilationErrorLocalize.classReferenceListNameExpected());
}
SimpleReference<HighlightInfo.Builder> infos = SimpleReference.create();
extendRef.accept(new JavaRecursiveElementWalkingVisitor() {
Expand Down Expand Up @@ -886,7 +894,9 @@ public void visitReferenceElement(@Nonnull PsiJavaCodeReferenceElement reference
infos.set(
HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(extendRef)
.descriptionAndTooltip(JavaErrorLocalize.noEnclosingInstanceInScope(HighlightUtil.formatClass(baseClass)))
.descriptionAndTooltip(JavaCompilationErrorLocalize.classReferenceListNoEnclosingInstance(
HighlightUtil.formatClass(baseClass)
))
);
}
}
Expand Down Expand Up @@ -1062,7 +1072,7 @@ public static HighlightInfo reportIllegalEnclosingUsage(
QuickFixFactory factory = QuickFixFactory.getInstance();
HighlightInfo.Builder highlightInfo = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(elementToHighlight)
.descriptionAndTooltip(JavaErrorLocalize.cannotBeReferencedFromStaticContext(element))
.descriptionAndTooltip(JavaCompilationErrorLocalize.classCannotBeReferencedFromStaticContext(element))
// make context not static or referenced class static
.registerFix(factory.createModifierFixBuilder(staticParent).remove(PsiModifier.STATIC).create());
if (aClass != null
Expand Down
Loading
Loading