From 77ac12ea7996564ba1a5fd3e30f147c6fdadd391 Mon Sep 17 00:00:00 2001 From: Eugene Vigdorchik Date: Tue, 8 Feb 2005 12:49:39 +0300 Subject: [PATCH] (no message) --- .../src/com/intellij/psi/util/PsiUtil.java | 7 ----- .../daemon/impl/analysis/HighlightUtil.java | 27 +++++++++++-------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/openapi/src/com/intellij/psi/util/PsiUtil.java b/openapi/src/com/intellij/psi/util/PsiUtil.java index 1e9c8792ffbc..2c33b842257a 100644 --- a/openapi/src/com/intellij/psi/util/PsiUtil.java +++ b/openapi/src/com/intellij/psi/util/PsiUtil.java @@ -893,13 +893,6 @@ public final class PsiUtil { return false; } - public static PsiType getRawType(PsiType type) { - if (type instanceof PsiClassType) { - return ((PsiClassType)type).rawType(); - } - return type; - } - public static boolean isUnderPsiRoot(PsiFile root, PsiElement element) { PsiElement[] psiRoots = root.getPsiRoots(); for (int i = 0; i < psiRoots.length; i++) { diff --git a/source/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/source/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index f49ae370e256..cddc63bcbc64 100644 --- a/source/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/source/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -1586,16 +1586,21 @@ public class HighlightUtil { final PsiElement rResolved = rRef.resolve(); if (!manager.areElementsEquivalent(lResolved, rResolved)) return false; - final PsiExpression lQuialifier = lRef.getQualifierExpression(); - final PsiExpression rQuialifier = rRef.getQualifierExpression(); - if (lQuialifier instanceof PsiReferenceExpression && rQuialifier instanceof PsiReferenceExpression) { - return sameInstanceReferences((PsiReferenceExpression)lQuialifier, (PsiReferenceExpression)rQuialifier, manager); + final PsiExpression lQualifier = lRef.getQualifierExpression(); + final PsiExpression rQualifier = rRef.getQualifierExpression(); + if (lQualifier instanceof PsiReferenceExpression && rQualifier instanceof PsiReferenceExpression) { + return sameInstanceReferences((PsiReferenceExpression)lQualifier, (PsiReferenceExpression)rQualifier, manager); + } + if (Comparing.equal(lQualifier, rQualifier)) return true; + final boolean lThis = lQualifier == null || lQualifier instanceof PsiThisExpression; + final boolean rThis = rQualifier == null || rQualifier instanceof PsiThisExpression; + if (lThis && rThis) { + PsiJavaCodeReferenceElement lThisQualifier = ((PsiThisExpression)lQualifier).getQualifier(); + PsiJavaCodeReferenceElement rThisQualifier = ((PsiThisExpression)rQualifier).getQualifier(); + if (lThisQualifier == null && rThisQualifier == null) return true; + if (lThisQualifier == null || rThisQualifier == null) return false; + return Comparing.equal(lThisQualifier.resolve(), rThisQualifier.resolve()); } - if (Comparing.equal(lQuialifier, rQuialifier)) return true; - final boolean lThis = lQuialifier == null || lQuialifier instanceof PsiThisExpression; - final boolean rThis = rQuialifier == null || rQuialifier instanceof PsiThisExpression; - if (lThis && rThis) return true; - if (lThis != rThis) return false; return false; } @@ -1854,11 +1859,11 @@ public class HighlightUtil { PsiType rRawType = rType instanceof PsiClassType ? ((PsiClassType)rType).rawType() : rType; boolean assignable = lRawType == null || rRawType == null ? true : TypeConversionUtil.isAssignable(lRawType, rRawType); toolTip += "Required:" + - "" + redIfNotMatch(PsiUtil.getRawType(lType), assignable) + "" + + "" + redIfNotMatch(TypeConversionUtil.erasure(lType), assignable) + "" + requredRow; toolTip += ""; toolTip += "Found:" + - "" + redIfNotMatch(PsiUtil.getRawType(rType), assignable) + "" + "" + redIfNotMatch(TypeConversionUtil.erasure(rType), assignable) + "" + foundRow; toolTip += "";