[java-highlighting] Rename JavaIncompatibleTypeError -> JavaIncompatibleTypeErrorContext; @Nls anno

Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: efb8002f4ca31ee37fb96111cc5d5fc64f411588
This commit is contained in:
Tagir Valeev
2025-01-17 16:02:19 +00:00
committed by intellij-monorepo-bot
parent f25b7ee020
commit bff363ddcb
5 changed files with 10 additions and 10 deletions
@@ -2,7 +2,7 @@
package com.intellij.java.codeserver.highlighting;
import com.intellij.java.codeserver.highlighting.errors.JavaErrorKinds;
import com.intellij.java.codeserver.highlighting.errors.JavaIncompatibleTypeError;
import com.intellij.java.codeserver.highlighting.errors.JavaIncompatibleTypeErrorContext;
import com.intellij.psi.*;
import com.intellij.psi.impl.IncompleteModelUtil;
import com.intellij.psi.util.InheritanceUtil;
@@ -113,6 +113,6 @@ final class ExpressionChecker {
IncompleteModelUtil.isPotentiallyConvertible(lType, expression)) {
return;
}
myVisitor.report(JavaErrorKinds.TYPE_INCOMPATIBLE.create(elementToHighlight, new JavaIncompatibleTypeError(lType, rType)));
myVisitor.report(JavaErrorKinds.TYPE_INCOMPATIBLE.create(elementToHighlight, new JavaIncompatibleTypeErrorContext(lType, rType)));
}
}
@@ -2,7 +2,7 @@
package com.intellij.java.codeserver.highlighting;
import com.intellij.java.codeserver.highlighting.errors.JavaErrorKinds;
import com.intellij.java.codeserver.highlighting.errors.JavaIncompatibleTypeError;
import com.intellij.java.codeserver.highlighting.errors.JavaIncompatibleTypeErrorContext;
import com.intellij.openapi.project.Project;
import com.intellij.pom.java.JavaFeature;
import com.intellij.psi.*;
@@ -49,7 +49,7 @@ final class MethodChecker {
PsiClassType throwable = factory.createTypeByFQClassName(CommonClassNames.JAVA_LANG_THROWABLE, context.getResolveScope());
if (!TypeConversionUtil.isAssignable(throwable, type)) {
if (IncompleteModelUtil.isIncompleteModel(context) && IncompleteModelUtil.isPotentiallyConvertible(throwable, type, context)) return;
myVisitor.report(JavaErrorKinds.TYPE_INCOMPATIBLE.create(context, new JavaIncompatibleTypeError(throwable, type)));
myVisitor.report(JavaErrorKinds.TYPE_INCOMPATIBLE.create(context, new JavaIncompatibleTypeErrorContext(throwable, type)));
}
}
@@ -434,8 +434,8 @@ public final class JavaErrorKinds {
.<Collection<PsiClassType>>parameterized()
.withRawDescription((psi, unhandled) -> message("exception.unhandled", formatTypes(unhandled), unhandled.size()));
public static final Parameterized<PsiElement, JavaIncompatibleTypeError> TYPE_INCOMPATIBLE =
parameterized(PsiElement.class, JavaIncompatibleTypeError.class, "type.incompatible")
public static final Parameterized<PsiElement, JavaIncompatibleTypeErrorContext> TYPE_INCOMPATIBLE =
parameterized(PsiElement.class, JavaIncompatibleTypeErrorContext.class, "type.incompatible")
.withDescription((psi, context) -> context.createDescription())
.withTooltip((psi, context) -> context.createTooltip());
@@ -13,10 +13,10 @@ import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public record JavaIncompatibleTypeError(@NotNull PsiType lType, @Nullable PsiType rType) {
public record JavaIncompatibleTypeErrorContext(@NotNull PsiType lType, @Nullable PsiType rType) {
private static final @NlsSafe String ANONYMOUS = "anonymous ";
private @NotNull String getReasonForIncompatibleTypes() {
private @Nls @NotNull String getReasonForIncompatibleTypes() {
if (rType instanceof PsiMethodReferenceType referenceType) {
JavaResolveResult[] results = referenceType.getExpression().multiResolve(false);
if (results.length > 1) {
@@ -13,7 +13,7 @@ import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.java.analysis.JavaAnalysisBundle;
import com.intellij.java.codeserver.highlighting.errors.JavaCompilationError;
import com.intellij.java.codeserver.highlighting.errors.JavaErrorKind;
import com.intellij.java.codeserver.highlighting.errors.JavaIncompatibleTypeError;
import com.intellij.java.codeserver.highlighting.errors.JavaIncompatibleTypeErrorContext;
import com.intellij.lang.jvm.JvmModifier;
import com.intellij.lang.jvm.JvmModifiersOwner;
import com.intellij.lang.jvm.actions.JvmElementActionFactories;
@@ -169,7 +169,7 @@ final class JavaErrorFixProvider {
private void createTypeFixes() {
multi(TYPE_INCOMPATIBLE, error -> {
JavaIncompatibleTypeError context = error.context();
JavaIncompatibleTypeErrorContext context = error.context();
PsiElement anchor = error.psi();
PsiElement parent = anchor.getParent();
if (anchor instanceof PsiJavaCodeReferenceElement && parent instanceof PsiReferenceList &&