summaryrefslogtreecommitdiff
path: root/lint/src
diff options
context:
space:
mode:
authorMatthew Gharrity <gharrma@google.com>2020-12-09 16:21:16 -0500
committerMatthew Gharrity <gharrma@google.com>2020-12-10 01:00:33 +0000
commit041d700ad63d0f48f838163a0ac99fd1912aabec (patch)
treecd8b7daa59a0b7acd5d48cec157bec76e71d3c1d /lint/src
parent86ca1637b253599199c6206c61388ae707a3311a (diff)
downloadidea-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.java38
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();
});
}