From e9df178205d4cf11860e1fc882df104bd681c99d Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 27 Oct 2005 17:02:10 +0400 Subject: [PATCH] performance optimization --- .../daemon/impl/analysis/HighlightUtil.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/codeInsight/impl/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/codeInsight/impl/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index 525796f0d453..67f1897651b8 100644 --- a/codeInsight/impl/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/codeInsight/impl/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -123,8 +123,9 @@ public class HighlightUtil { ourInterfaceIncompatibleModifiers.put(PsiModifier.STATIC, Collections.EMPTY_SET); ourMethodIncompatibleModifiers = new THashMap>(10); modifiers = new THashSet(6); - modifiers.addAll(Arrays.asList(new String[]{PsiModifier.NATIVE, PsiModifier.STATIC, PsiModifier.FINAL, PsiModifier.PRIVATE, PsiModifier.STRICTFP, - PsiModifier.SYNCHRONIZED})); + modifiers.addAll(Arrays.asList(PsiModifier.NATIVE, PsiModifier.STATIC, PsiModifier.FINAL, + PsiModifier.PRIVATE, PsiModifier.STRICTFP, + PsiModifier.SYNCHRONIZED)); ourMethodIncompatibleModifiers.put(PsiModifier.ABSTRACT, modifiers); modifiers = new THashSet(2); modifiers.add(PsiModifier.ABSTRACT); @@ -594,6 +595,15 @@ public class HighlightUtil { isIncorrect = true; } } + else if (variable instanceof PsiField) { + PsiField field = ((PsiField)variable); + PsiClass aClass = field.getContainingClass(); + if (aClass == null) return null; + PsiField fieldByName = aClass.findFieldByName(name, false); + if (fieldByName != null && fieldByName != field) { + isIncorrect = true; + } + } else { PsiElement scope = variable.getParent(); PsiElement[] children = scope.getChildren(); @@ -1510,7 +1520,6 @@ public class HighlightUtil { static boolean isSuperOrThisMethodCall(PsiElement element) { if (!(element instanceof PsiMethodCallExpression)) return false; PsiReferenceExpression methodExpression = ((PsiMethodCallExpression)element).getMethodExpression(); - if (methodExpression == null) return false; String name = methodExpression.getReferenceName(); return PsiKeyword.SUPER.equals(name) || PsiKeyword.THIS.equals(name); } @@ -2203,7 +2212,7 @@ public class HighlightUtil { public static boolean isSerializationImplicitlyUsedField(PsiField field) { final String name = field.getName(); - if (!name.equals(SERIAL_VERSION_UID_FIELD_NAME) && !name.equals(SERIAL_PERSISTENT_FIELDS_FIELD_NAME)) return false; + if (!SERIAL_VERSION_UID_FIELD_NAME.equals(name) && !SERIAL_PERSISTENT_FIELDS_FIELD_NAME.equals(name)) return false; if (!field.hasModifierProperty(PsiModifier.STATIC)) return false; PsiClass aClass = field.getContainingClass(); return aClass == null || isSerializable(aClass);