call createCustomHandler outside EDT because it parses lazy elements sometimes

This commit is contained in:
Alexey Kudravtsev
2018-01-10 15:22:48 +03:00
parent e8d89ab4c6
commit 39c409f84c
@@ -58,18 +58,17 @@ public class IdentifierHighlighterPass extends TextEditorHighlightingPass {
private final Collection<TextRange> myReadAccessRanges = Collections.synchronizedList(new ArrayList<TextRange>());
private final Collection<TextRange> myWriteAccessRanges = Collections.synchronizedList(new ArrayList<TextRange>());
private final int myCaretOffset;
private final HighlightUsagesHandlerBase<PsiElement> myHighlightUsagesHandler;
IdentifierHighlighterPass(@NotNull Project project, @NotNull PsiFile file, @NotNull Editor editor) {
super(project, editor.getDocument(), false);
myFile = file;
myEditor = editor;
myCaretOffset = myEditor.getCaretModel().getOffset();
myHighlightUsagesHandler = HighlightUsagesHandler.createCustomHandler(myEditor, myFile);
}
@Override
public void doCollectInformation(@NotNull final ProgressIndicator progress) {
HighlightUsagesHandlerBase<PsiElement> myHighlightUsagesHandler = HighlightUsagesHandler.createCustomHandler(myEditor, myFile);
if (myHighlightUsagesHandler != null) {
List<PsiElement> targets = myHighlightUsagesHandler.getTargets();
myHighlightUsagesHandler.computeUsages(targets);