mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EA-96870 - IAE: HighlightInfo$B.$$$reportNull$$$
This commit is contained in:
+12
-10
@@ -1069,17 +1069,17 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
|
||||
if (parent instanceof PsiJavaCodeReferenceElement || ref.isQualified()) {
|
||||
if (!myHolder.hasErrorResults() && resolved instanceof PsiTypeParameter) {
|
||||
boolean cannotSelectFromTypeParameter = !myJavaSdkVersion.isAtLeast(JavaSdkVersion.JDK_1_7);
|
||||
if (!cannotSelectFromTypeParameter) {
|
||||
boolean canSelectFromTypeParameter = myJavaSdkVersion.isAtLeast(JavaSdkVersion.JDK_1_7);
|
||||
if (canSelectFromTypeParameter) {
|
||||
final PsiClass containingClass = PsiTreeUtil.getParentOfType(ref, PsiClass.class);
|
||||
if (containingClass != null) {
|
||||
if (PsiTreeUtil.isAncestor(containingClass.getExtendsList(), ref, false) ||
|
||||
PsiTreeUtil.isAncestor(containingClass.getImplementsList(), ref, false)) {
|
||||
cannotSelectFromTypeParameter = true;
|
||||
canSelectFromTypeParameter = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (cannotSelectFromTypeParameter) {
|
||||
if (!canSelectFromTypeParameter) {
|
||||
myHolder.add(HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).descriptionAndTooltip("Cannot select from a type parameter").range(ref).create());
|
||||
}
|
||||
}
|
||||
@@ -1443,12 +1443,14 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
|
||||
if (description != null) {
|
||||
final PsiElement referenceNameElement = ObjectUtils.notNull(expression.getReferenceNameElement(), expression);
|
||||
final HighlightInfo highlightInfo =
|
||||
HighlightInfo.newHighlightInfo(results.length == 0 ? HighlightInfoType.WRONG_REF : HighlightInfoType.ERROR)
|
||||
.descriptionAndTooltip(description).range(referenceNameElement).create();
|
||||
myHolder.add(highlightInfo);
|
||||
final TextRange fixRange = HighlightMethodUtil.getFixRange(referenceNameElement);
|
||||
QuickFixAction.registerQuickFixAction(highlightInfo, fixRange, QuickFixFactory.getInstance().createCreateMethodFromUsageFix(expression));
|
||||
if (referenceNameElement != null) {
|
||||
final HighlightInfo highlightInfo =
|
||||
HighlightInfo.newHighlightInfo(results.length == 0 ? HighlightInfoType.WRONG_REF : HighlightInfoType.ERROR)
|
||||
.descriptionAndTooltip(description).range(referenceNameElement).create();
|
||||
myHolder.add(highlightInfo);
|
||||
final TextRange fixRange = HighlightMethodUtil.getFixRange(referenceNameElement);
|
||||
QuickFixAction.registerQuickFixAction(highlightInfo, fixRange, QuickFixFactory.getInstance().createCreateMethodFromUsageFix(expression));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user