diff options
author | Matthew Gharrity <gharrma@google.com> | 2020-12-09 16:21:16 -0500 |
---|---|---|
committer | Matthew Gharrity <gharrma@google.com> | 2020-12-10 01:00:33 +0000 |
commit | 041d700ad63d0f48f838163a0ac99fd1912aabec (patch) | |
tree | cd8b7daa59a0b7acd5d48cec157bec76e71d3c1d /lint/src | |
parent | 86ca1637b253599199c6206c61388ae707a3311a (diff) | |
download | idea-041d700ad63d0f48f838163a0ac99fd1912aabec.tar.gz |
Lint: prefer Documents over PsiFiles
...because Documents are cheaper.
Bug: not filed
Test: existing
Change-Id: Icc290f956fc83d3a3419aa1345055e75f3251bc9
Diffstat (limited to 'lint/src')
-rw-r--r-- | lint/src/com/android/tools/idea/lint/common/LintIdeClient.java | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/lint/src/com/android/tools/idea/lint/common/LintIdeClient.java b/lint/src/com/android/tools/idea/lint/common/LintIdeClient.java index aa22e2047b5..2164f9ff6e0 100644 --- a/lint/src/com/android/tools/idea/lint/common/LintIdeClient.java +++ b/lint/src/com/android/tools/idea/lint/common/LintIdeClient.java @@ -53,6 +53,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.editor.event.DocumentListener; +import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleUtilCore; import com.intellij.openapi.progress.ProcessCanceledException; @@ -69,10 +70,8 @@ import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.JavaDirectoryService; import com.intellij.psi.PsiDirectory; -import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; -import com.intellij.psi.PsiManager; import com.intellij.psi.PsiPackage; import com.intellij.util.PathUtil; import com.intellij.util.lang.UrlClassLoader; @@ -557,13 +556,13 @@ public class LintIdeClient extends LintClient implements Disposable { } return runReadAction(() -> { - PsiFile psiFile = PsiManager.getInstance(myProject).findFile(vFile); - if (psiFile == null) { - LOG.info("Cannot find file " + file.getPath() + " in the PSI"); + Document document = FileDocumentManager.getInstance().getDocument(vFile); + if (document == null) { + LOG.info("Cannot create document for file " + file.getPath()); return null; } else { - return psiFile.getText(); + return document.getText(); } }); } @@ -609,25 +608,20 @@ public class LintIdeClient extends LintClient implements Disposable { } return runReadAction(() -> { - final Module module = lintResult.getModule(); - final Project project = module.getProject(); - final PsiFile psiFile = PsiManager.getInstance(project).findFile(vFile); - - if (psiFile == null) { + final Document document = FileDocumentManager.getInstance().getDocument(vFile); + if (document == null) { return null; } - final Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); - if (document != null) { - final DocumentListener listener = new DocumentListener() { - @Override - public void documentChanged(@NotNull DocumentEvent event) { - lintResult.markDirty(); - } - }; - document.addDocumentListener(listener, this); - } - return psiFile.getText(); + final DocumentListener listener = new DocumentListener() { + @Override + public void documentChanged(@NotNull DocumentEvent event) { + lintResult.markDirty(); + } + }; + document.addDocumentListener(listener, this); + + return document.getText(); }); } |