do not run local inspection pass over cls (EA-25638 - assert: PsiWalkingState.elementStarted)

This commit is contained in:
anna
2011-03-21 19:52:26 +01:00
parent 3226563b78
commit 6e64727a41
2 changed files with 12 additions and 5 deletions
@@ -18,6 +18,7 @@ package com.intellij.codeInsight.highlighting;
import com.intellij.codeInsight.TargetElementUtilBase;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiAnnotation;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
@@ -33,7 +34,10 @@ public class HighlightSuppressedWarningsFactory implements HighlightUsagesHandle
final PsiElement target = file.findElementAt(offset);
final PsiAnnotation annotation = PsiTreeUtil.getParentOfType(target, PsiAnnotation.class);
if (annotation != null && Comparing.strEqual(SuppressWarnings.class.getName(), annotation.getQualifiedName())) {
return new HighlightSuppressedWarningsHandler(editor, file, annotation, PsiTreeUtil.getParentOfType(target, PsiLiteralExpression.class));
final VirtualFile virtualFile = file.getVirtualFile();
if (virtualFile != null && !virtualFile.getFileType().isBinary()) {
return new HighlightSuppressedWarningsHandler(editor, file, annotation, PsiTreeUtil.getParentOfType(target, PsiLiteralExpression.class));
}
}
return null;
}
@@ -159,11 +159,14 @@ public class DaemonCodeAnalyzerImpl extends DaemonCodeAnalyzer implements JDOMEx
List<HighlightInfo> result = new ArrayList<HighlightInfo>();
result.addAll(action1.getHighlights());
LocalInspectionsPass action3 = new LocalInspectionsPass(psiFile, document, 0,
psiFile.getTextLength(), LocalInspectionsPass.EMPTY_PRIORITY_RANGE, true);
action3.doCollectInformation(progress);
final VirtualFile virtualFile = psiFile.getVirtualFile();
if (virtualFile != null && !virtualFile.getFileType().isBinary()) {
LocalInspectionsPass action3 = new LocalInspectionsPass(psiFile, document, 0,
psiFile.getTextLength(), LocalInspectionsPass.EMPTY_PRIORITY_RANGE, true);
action3.doCollectInformation(progress);
result.addAll(action3.getInfos());
result.addAll(action3.getInfos());
}
return result;
}