From 500bd6b1909dcb66e27d1241df6992e2a417de7d Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Mon, 27 Jun 2022 21:35:14 +0530 Subject: [PATCH] Implemented partial reparse in JavaCompilerService --- .../assets/data/common/tooling-api-all.jar | Bin 12897414 -> 12897416 bytes .../androidide/views/editor/IDEEditor.java | 15 +- .../androidide/tooling/impl/util/StopWatch.kt | 2 +- .../test/test-home/.androidide/init/model.jar | Bin 55233 -> 55233 bytes .../com/itsaky/androidide/utils/StopWatch.kt | 25 ++- .../com/itsaky/lsp/models/TextDocument.kt | 8 +- .../itsaky/lsp/java/JavaLanguageServer.java | 3 + .../lsp/java/compiler/CompileBatch.java | 41 ++--- .../java/compiler/JavaCompilerService.java | 64 ++++++-- .../lsp/java/compiler/ReusableCompiler.java | 3 +- .../lsp/java/compiler/SourceFileObject.java | 4 +- .../lsp/java/partial/CompilationInfo.kt | 6 +- .../java/partial/DiagnosticListenerImpl.java | 10 +- .../lsp/java/partial/PartialReparser.kt | 4 +- .../lsp/java/partial/PartialReparserImpl.kt | 75 +++++---- .../java/providers/CompletionProvider.java | 121 +++++++++----- .../com/itsaky/lsp/java/utils/ASTFixer.java | 150 ++++++++++++++++++ .../lsp/java/visitors/FindCompletionsAt.java | 9 +- .../lsp/java/visitors/MethodRangeScanner.kt | 36 +++-- .../lsp/java/visitors/PrintingVisitor.kt | 45 ++++++ .../TranslateMethodPositionsVisitor.java | 109 +++++++++++++ .../visitors/TranslatePositionsVisitor.java | 94 +---------- .../java/partial/PartialReparserImplTest.kt | 61 +++++-- .../providers/JavaSelectionProviderTest.kt | 5 +- .../PartialErrReparserTest_template.java | 9 ++ .../com/itsaky/lsp/api/CursorDependentTest.kt | 3 +- sdk-info/src/main/res/raw/attrs_xml.txt | 8 +- 27 files changed, 667 insertions(+), 243 deletions(-) create mode 100644 lsp/java/src/main/java/com/itsaky/lsp/java/utils/ASTFixer.java create mode 100644 lsp/java/src/main/java/com/itsaky/lsp/java/visitors/PrintingVisitor.kt create mode 100644 lsp/java/src/main/java/com/itsaky/lsp/java/visitors/TranslateMethodPositionsVisitor.java create mode 100644 lsp/java/src/test/resources/partial/PartialErrReparserTest_template.java diff --git a/app/src/main/assets/data/common/tooling-api-all.jar b/app/src/main/assets/data/common/tooling-api-all.jar index e4daefa2c35cca92d51af40b812c74ae389ce2fd..7f85d340711dd136f24d47ee7e00b2dc0a20a858 100644 GIT binary patch delta 209201 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 z z`sjX4#iTHkJL!$61|@hfOR)(0Md~kahi5qbtQ8e;p^sbZ@3c)l7P|8m+A7(1IFx;|W8}*k{iR<#sii;3M2E%u=;5Y=pQMxZx-g5KPyOB67~lrY5BUn)3(Dphz& zMvpm4JtL#pCxHT*B{YEQPQnRlp|+D)Y{vQv_g1y(m(1im-{e6J-~A}TZnS|@H?DP3=!#D>f9>d7om3afxP?4A^H`oA zp1o_4@%4Ars<~$n+Nu@JkFVbNx0(q=Qs36~FHnnS}O9d|T`X9J8)8haD delta 210952 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

Cut)6G(ImI^#Gsu+#qnT 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

I6sFGrj1{NtT&(lvA4AG zt5eZzO-0*uPbb|a_jo+?2$r;O15!DGGnGtvB9a${Z)Uj>@Xu!)u82}rrPPfI@uG)a zSB^LfA767y{F`1zv}YrdZtzBnxKnOdI1!??Uw^BUG~PiH6GA*&>g=*l+>0!>@!LLe zid+_DLVGts;?qjRp3FDngT4P(%Y&-01zY^nHY1ylerjP8a{JW_)99NKKgx&(A4H+7 zx1hm3ZOQ`>FGdX%cADuThV*O;I=(z}HSE$GQ^Z@)+;rZGq<`6QI4mc|nu2TeHmBD` zu;GJS@g4l_B~b?2_cqVphU9%*I2y7I%Mauxi9V)EyalcB#kPM@MW?qx#yC&Tu+y_Q zwiT7IzF<4xfnFS5?bRDI-mTyfRa{2{H^!&8^p1o9KAda0Pj7p=upNmX3E+s;4n;e` z1MfjFMW|#-2YOZn^PwG(J*72=;f`3cLRP02493Pgkvp$(tOGqS0o-XPU>q+MVbOUh z>d@Po=Ivxk?!sZ~UeV^1U>t8muT+TgFN=Z|Q~m)Mtx*vw$+TW-vlx-k;yFmOp`g=f|o5N{kIZ&_| zC5FLM^0lxbDf3}4%lAMhO_y`nJwa(hulB%tWCa|NcT)yY)?Oh0+n|oRJjRFQ8;}#x zp8nknu_Lx>X(;OASiELh44wAf2U;JvM(kVG@2bRo9D4y5F?h;u4#O!A5)PDU1E!RB zI2tYRGq|f_aU%DFyXFZs!+F@!oc;JPA5Ke!$^s5somTnuj0$0B$Bxi}LVTa1*ApL3S7 zqlzl|7tuv^dXBV2OZZR>5f-mGJ@|EREUYpE=~e>R<~@hAd%=;PT>_1c`@#@snqVGd zLStsSVqd}Ye-8?`lz!p z_z=>|vSKu6+I&dS6tfr=htM5eao`flTcci;Dp2So_dZgSM4e?xV59=iJtPLFk`>74 zfx0|eNV*aiA}FDQeGNGhwgFArAckxY;7E~vtSwFG4W+g|1^LgE$cl4Q2~FO#j}fgn z1J9@62R>#=U>|A2uqlwU-U{sFMtLfzqb!6YIf2kJAotUnA-{yC-DGm%Yw=#;e+NLg%0ATYvE9#Y(5WIv{<=OW~;+cCJT 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 $s2trGPVJ4fI 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ÐL=dBu`xC< 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 G)Bgc=k4gIg diff --git a/app/src/main/java/com/itsaky/androidide/views/editor/IDEEditor.java b/app/src/main/java/com/itsaky/androidide/views/editor/IDEEditor.java index 0d422c0f7..c29d69704 100644 --- a/app/src/main/java/com/itsaky/androidide/views/editor/IDEEditor.java +++ b/app/src/main/java/com/itsaky/androidide/views/editor/IDEEditor.java @@ -35,6 +35,7 @@ import com.itsaky.androidide.managers.PreferenceManager; import com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE; import com.itsaky.androidide.utils.ILogger; import com.itsaky.lsp.api.ILanguageServer; +import com.itsaky.lsp.models.ChangeType; import com.itsaky.lsp.models.Command; import com.itsaky.lsp.models.DefinitionResult; import com.itsaky.lsp.models.DiagnosticItem; @@ -195,8 +196,20 @@ public class IDEEditor extends CodeEditor { final var documentHandler = mLanguageServer.getDocumentHandler(); final var file = getFile().toPath(); if (documentHandler.accepts(file)) { + var type = ChangeType.INSERT; + if (event.getAction() == ContentChangeEvent.ACTION_DELETE) { + type = ChangeType.DELETE; + } else if (event.getAction() == ContentChangeEvent.ACTION_SET_NEW_TEXT) { + type = ChangeType.NEW_TEXT; + } + + var changeDelta = type == ChangeType.NEW_TEXT ? 0 : event.getChangedText().length(); + if (type == ChangeType.DELETE) { + changeDelta = -changeDelta; + } + documentHandler.onContentChange( - new DocumentChangeEvent(file, getText(), mFileVersion + 1)); + new DocumentChangeEvent(file, getText(), mFileVersion + 1, type, changeDelta)); } checkForSignatureHelp(event); diff --git a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/StopWatch.kt b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/StopWatch.kt index f10f6055c..08f53cdbc 100644 --- a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/StopWatch.kt +++ b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/StopWatch.kt @@ -45,7 +45,7 @@ class StopWatch( } fun lapFromLast(message: String) { - log.debug("$message in ${System.currentTimeMillis() - start}ms") + log.debug("$message in ${System.currentTimeMillis() - lastLap}ms") lastLap = System.currentTimeMillis() } } diff --git a/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar b/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar index bf2c069cdae11a41253e4a4ce1876c448d73c918..58f7b72220432c2c5e4d25210e07ce0f50da7947 100644 GIT binary patch delta 31 ncmX@Op84QrET7SiisBhlphJC diff --git a/common/src/main/java/com/itsaky/androidide/utils/StopWatch.kt b/common/src/main/java/com/itsaky/androidide/utils/StopWatch.kt index 8a051eff3..7a6502c16 100644 --- a/common/src/main/java/com/itsaky/androidide/utils/StopWatch.kt +++ b/common/src/main/java/com/itsaky/androidide/utils/StopWatch.kt @@ -17,6 +17,8 @@ package com.itsaky.androidide.utils +import com.itsaky.androidide.utils.ILogger + /** * A stop watch helps to log duration between the time when the instance of the stopwatch instance * was created and the time when [StopWatch.log] or [StopWatch.lap] method is called. @@ -24,17 +26,26 @@ package com.itsaky.androidide.utils * @param label The label for the log message. * @author Akash Yadav */ -class StopWatch(val label: String, val start: Long) { - - private val log = ILogger.newInstance(javaClass.simpleName) - +class StopWatch( + val label: String, + val start: Long = System.currentTimeMillis(), + var lastLap: Long = start +) { constructor(label: String) : this(label, System.currentTimeMillis()) - + + private val log = ILogger.newInstance(javaClass.simpleName) + fun log() { log.debug("$label completed in ${System.currentTimeMillis() - start}ms") } - + fun lap(message: String) { log.debug("$message in ${System.currentTimeMillis() - start}ms") + lastLap = System.currentTimeMillis() } -} + + fun lapFromLast(message: String) { + log.debug("$message in ${System.currentTimeMillis() - lastLap}ms") + lastLap = System.currentTimeMillis() + } +} \ No newline at end of file diff --git a/lsp/api/src/main/java/com/itsaky/lsp/models/TextDocument.kt b/lsp/api/src/main/java/com/itsaky/lsp/models/TextDocument.kt index c3cecfc23..7de52ebc1 100644 --- a/lsp/api/src/main/java/com/itsaky/lsp/models/TextDocument.kt +++ b/lsp/api/src/main/java/com/itsaky/lsp/models/TextDocument.kt @@ -32,7 +32,7 @@ data class DocumentOpenEvent(var openedFile: Path, var text: String, var version data class DocumentCloseEvent(var closedFile: Path) : DocumentEvent(closedFile) -data class DocumentChangeEvent(var changedFile: Path, var newText: CharSequence, var version: Int) : +data class DocumentChangeEvent(var changedFile: Path, var newText: CharSequence, var version: Int, var changeType: ChangeType, var changeDelta: Int) : DocumentEvent(changedFile) data class DocumentSaveEvent(var savedFile: Path) : DocumentEvent(savedFile) @@ -40,3 +40,9 @@ data class DocumentSaveEvent(var savedFile: Path) : DocumentEvent(savedFile) data class ShowDocumentParams(var file: Path, var selection: Range) data class ShowDocumentResult(var success: Boolean) + +enum class ChangeType { + INSERT, + DELETE, + NEW_TEXT +} diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java b/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java index a336c9f48..570e49d15 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java @@ -307,6 +307,9 @@ public class JavaLanguageServer implements ILanguageServer, IDocumentHandler { // If a file's content is changed, it is definitely visible to user. onFileSelected(event.getChangedFile()); FileStore.change(event); + if (compiler != null) { + compiler.onContentChanged(event); + } } @Override diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/CompileBatch.java b/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/CompileBatch.java index a7c5eb261..802ee9b93 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/CompileBatch.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/CompileBatch.java @@ -29,7 +29,7 @@ import com.itsaky.lsp.java.partial.DiagnosticListenerImpl; import com.itsaky.lsp.java.visitors.MethodRangeScanner; import com.itsaky.lsp.models.Range; import com.sun.source.tree.CompilationUnitTree; -import com.sun.source.tree.MethodTree; +import com.sun.source.util.TreePath; import com.sun.tools.javac.api.JavacTaskImpl; import java.io.File; @@ -63,7 +63,7 @@ public class CompileBatch implements AutoCloseable { /** Indicates the task that requested the compilation is finished with it. */ boolean closed; - final Map>> methodPositions = new HashMap<>(); + final Map>> methodPositions = new HashMap<>(); CompileBatch(JavaCompilerService parent, Collection files) { this.parent = parent; @@ -72,26 +72,13 @@ public class CompileBatch implements AutoCloseable { this.roots = new ArrayList<>(); final StopWatch watch = new StopWatch("Create CompileBatch"); - boolean first = true; - for (CompilationUnitTree t : borrow.task.parse()) { - if (first) { - watch.lap("Parsed"); - first = false; - } + final Iterable trees = borrow.task.parse(); + watch.lap("CompilationUnitTree(s) parsed"); + + for (CompilationUnitTree t : trees) { roots.add(t); - - final StopWatch positionWatch = new StopWatch("Scan method positions"); - final List> positions = new ArrayList<>(); - new MethodRangeScanner(this.task).scan(t, positions); - final String path = new File(t.getSourceFile().toUri()).getAbsolutePath(); - final List> old = this.methodPositions.put(path, positions); - if (old != null) { - throw new IllegalStateException( - "Duplicate CompilationUnitTree for file:" + t.getSourceFile().toUri()); - } - - positionWatch.log(); + updatePositions(t, false); } // The results of borrow.task.analyze() are unreliable when errors are present @@ -100,6 +87,20 @@ public class CompileBatch implements AutoCloseable { watch.log(); } + void updatePositions(CompilationUnitTree tree, boolean allowDuplicate) { + final StopWatch positionWatch = new StopWatch("Scan method positions"); + final List> positions = new ArrayList<>(); + new MethodRangeScanner(this.task).scan(tree, positions); + final String path = new File(tree.getSourceFile().toUri()).getAbsolutePath(); + final List> old = this.methodPositions.put(path, positions); + if (old != null && !allowDuplicate) { + throw new IllegalStateException( + "Duplicate CompilationUnitTree for file:" + tree.getSourceFile().toUri()); + } + + positionWatch.log(); + } + private ReusableCompiler.Borrow batchTask( @NonNull JavaCompilerService parent, @NonNull Collection sources) { diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/JavaCompilerService.java b/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/JavaCompilerService.java index 9f808e335..589f0b9a4 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/JavaCompilerService.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/JavaCompilerService.java @@ -22,6 +22,7 @@ import androidx.annotation.Nullable; import androidx.core.util.Pair; import com.itsaky.androidide.utils.ILogger; +import com.itsaky.androidide.utils.StopWatch; import com.itsaky.lsp.java.FileStore; import com.itsaky.lsp.java.models.CompilationRequest; import com.itsaky.lsp.java.parser.ParseTask; @@ -34,9 +35,13 @@ import com.itsaky.lsp.java.utils.Extractors; import com.itsaky.lsp.java.utils.ScanClassPath; import com.itsaky.lsp.java.utils.StringSearch; import com.itsaky.lsp.java.visitors.FindTypeDeclarations; +import com.itsaky.lsp.models.DocumentChangeEvent; import com.itsaky.lsp.models.Range; import com.sun.source.tree.CompilationUnitTree; import com.sun.source.tree.MethodTree; +import com.sun.source.util.SourcePositions; +import com.sun.source.util.TreePath; +import com.sun.source.util.Trees; import java.io.BufferedReader; import java.io.File; @@ -74,8 +79,9 @@ public class JavaCompilerService implements CompilerProvider { protected final Map cachedModified = new HashMap<>(); protected final SourceFileManager fileManager; private final Cache> cacheFileImports = new Cache<>(); - protected ReusableCompiler compiler = new ReusableCompiler(); + public ReusableCompiler compiler = new ReusableCompiler(); private CompileBatch cachedCompile; + private int changeDelta = 0; public JavaCompilerService(Set classPath, Set docPath) { this.classPath = Collections.unmodifiableSet(classPath); @@ -300,53 +306,82 @@ public class JavaCompilerService implements CompilerProvider { || request.sources.size() != 1; // Cannot perform a reparse if there are multiple files } - private void tryReparse(final CompilationRequest request) { + private void tryReparse(@NonNull final CompilationRequest request) { // Satisfy lint Objects.requireNonNull(request.partialRequest); + final StopWatch watch = new StopWatch("Method reparse"); final File file = new File(request.sources.iterator().next().toUri()); final String path = file.getAbsolutePath(); - final List> positions = this.cachedCompile.methodPositions.get(path); + final List> positions = this.cachedCompile.methodPositions.get(path); if (positions == null) { LOG.warn("Cannot perform reparse. No method positions found."); recompile(request); return; } - final Pair currentMethod = + final Pair currentMethod = binarySearchCurrentMethod(positions, request.partialRequest.cursor); if (currentMethod == null) { LOG.warn("Cannot perform reparse. Unable to find current method"); recompile(request); return; + } else { + watch.lapFromLast("Found method at cursor position"); } - LOG.debug("Trying to reparse method:", currentMethod.second.getName()); + final MethodTree methodTree = (MethodTree) currentMethod.second.getLeaf(); + LOG.debug("Trying to reparse method:", methodTree.getName()); final CompilationInfo info = new CompilationInfo( cachedCompile.task, cachedCompile.diagnosticListener, cachedCompile.roots.get(0)); + watch.setLastLap(System.currentTimeMillis()); + final SourcePositions sourcePositions = Trees.instance(cachedCompile.task).getSourcePositions(); + final int start = (int) sourcePositions.getStartPosition(info.cu, methodTree.getBody()); + final int end = + (int) sourcePositions.getEndPosition(info.cu, methodTree.getBody()) + this.changeDelta; + watch.lapFromLast("Found start and end positions of current method"); final PartialReparser reparser = new PartialReparserImpl(); + + if (end < 0 || end > request.partialRequest.contents.length()) { + LOG.warn( + "Cannot reparse. Invalid change delta. end:", + end, + "changeDelta:", + this.changeDelta, + "content.length:", + request.partialRequest.contents.length()); + recompile(request); + return; + } + + final String newBody = request.partialRequest.contents.substring(start, end); final boolean reparsed = - reparser.reparseMethod(info, currentMethod.second, request.partialRequest.contents); + reparser.reparseMethod( + info, currentMethod.second, newBody, request.partialRequest.contents); if (!reparsed) { LOG.error("Failed to reparse"); recompile(request); return; } - LOG.info("Successfully reparsed method", currentMethod.second.getName()); + watch.log(); + LOG.info("Successfully reparsed method", methodTree.getName()); + updateModificationCache(request); + cachedCompile.updatePositions(info.cu, true); + this.changeDelta = 0; } @Nullable - private Pair binarySearchCurrentMethod( - @NonNull final List> positions, final long cursor) { + private Pair binarySearchCurrentMethod( + @NonNull final List> positions, final long cursor) { int left = 0; int right = positions.size() - 1; while (left <= right) { int mid = (left + right) / 2; - final Pair method = positions.get(mid); + final Pair method = positions.get(mid); final Range range = method.first; final int startIndex = range.getStart().requireIndex(); final int endIndex = range.getEnd().requireIndex(); @@ -365,6 +400,11 @@ public class JavaCompilerService implements CompilerProvider { private synchronized void recompile(CompilationRequest request) { close(); cachedCompile = performCompilation(request.sources); + updateModificationCache(request); + this.changeDelta = 0; + } + + private void updateModificationCache(final CompilationRequest request) { cachedModified.clear(); for (JavaFileObject f : request.sources) { cachedModified.put(f, f.getLastModified()); @@ -396,6 +436,10 @@ public class JavaCompilerService implements CompilerProvider { return new CompileBatch(this, moreSources); } + public void onContentChanged(@NonNull DocumentChangeEvent event) { + this.changeDelta += event.getChangeDelta(); + } + public synchronized void close() { if (cachedCompile != null && !cachedCompile.closed) { cachedCompile.close(); diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/ReusableCompiler.java b/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/ReusableCompiler.java index bcc8c7d6b..cc8b7c934 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/ReusableCompiler.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/ReusableCompiler.java @@ -103,9 +103,10 @@ public class ReusableCompiler { private static final JavacTool systemProvider = JavacTool.create(); private static final CancelService cancelService = new CancelServiceImpl(); private final List currentOptions = new ArrayList<>(); - private ReusableContext currentContext; private boolean checkedOut; + public ReusableContext currentContext; + /** * Creates a new task as if by {@link javax.tools.JavaCompiler#getTask} and runs the provided * worker with it. The task is only valid while the worker is running. The internal structures may diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/SourceFileObject.java b/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/SourceFileObject.java index 009ed2d3b..596b323cf 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/SourceFileObject.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/compiler/SourceFileObject.java @@ -38,9 +38,9 @@ public class SourceFileObject implements JavaFileObject { /** path is the absolute path to this file on disk */ final Path path; /** contents is the text in this file, or null if we should use the text in FileStore */ - final String contents; + String contents; /** if contents is set, the modified time of contents */ - final Instant modified; + Instant modified; public SourceFileObject(Path path) { this(path, null, Instant.EPOCH); diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/partial/CompilationInfo.kt b/lsp/java/src/main/java/com/itsaky/lsp/java/partial/CompilationInfo.kt index fe88762c2..6dc6ae20e 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/partial/CompilationInfo.kt +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/partial/CompilationInfo.kt @@ -29,9 +29,9 @@ import javax.tools.JavaFileObject * @author Akash Yadav */ data class CompilationInfo( - val task: JavacTaskImpl, - val diagnosticListener: DiagnosticListener, - val cu: CompilationUnitTree, + @JvmField val task: JavacTaskImpl, + @JvmField val diagnosticListener: DiagnosticListener, + @JvmField val cu: CompilationUnitTree, ) { val trees: JavacTrees = JavacTrees.instance(task) } diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/partial/DiagnosticListenerImpl.java b/lsp/java/src/main/java/com/itsaky/lsp/java/partial/DiagnosticListenerImpl.java index a67ba5ea8..9fc22a435 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/partial/DiagnosticListenerImpl.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/partial/DiagnosticListenerImpl.java @@ -19,6 +19,7 @@ package com.itsaky.lsp.java.partial; import androidx.annotation.Nullable; +import com.sun.tools.javac.api.ClientCodeWrapper; import com.sun.tools.javac.util.JCDiagnostic; import java.util.ArrayList; @@ -121,7 +122,7 @@ public class DiagnosticListenerImpl implements DiagnosticListener(tail.size()); HashSet tailNodes = new HashSet<>(); for (Iterator>> it = tail.entrySet().iterator(); - it.hasNext(); ) { + it.hasNext(); ) { Map.Entry> e = it.next(); for (DiagNode d : e.getValue()) { tailNodes.add(d); @@ -132,7 +133,12 @@ public class DiagnosticListenerImpl implements DiagnosticListener() - block = reparseMethodBody(context, cu, orig, newBody, docComments) + block = reparseMethodBody(context, cu, method, newBody, docComments) + watch.lapFromLast("Partially reparsed method") val endPosTable = (cu as JCCompilationUnit).endPositions log.debug("Reparsed method in $fo") if (block == null) { @@ -178,11 +182,14 @@ class PartialReparserImpl : PartialReparser { val sourcePositions = jt.sourcePositions val newEndPos = sourcePositions.getEndPosition(cu, block).toInt() if (newEndPos != origStartPos + newBody.length) { + log.warn("Invalid position in reparsed method") return false } fav.reset() fav.scan(block, null) + watch.lapFromLast("FindAnonymousVisitor") + val newNoInner = fav.noInner if (fav.hasLocalClass || noInner != newNoInner) { log.debug("Skipped method reparse (new local class): $fo") @@ -191,44 +198,46 @@ class PartialReparserImpl : PartialReparser { val docCommentsTable = lazyDocCommentsTable!!.get(cu.docComments) as MutableMap docCommentsTable.keys.removeAll(fav.docOwners) docCommentsTable.putAll(docComments) + watch.lapFromLast("Updated doc comments") val delta = newEndPos - origEndPos - val tpv = TranslatePositionsVisitor(orig, endPosTable, delta) + val tpv = TranslateMethodPositionsVisitor(method, endPosTable, delta) tpv.scan(cu, null) - doUnenter(context, cu, orig) - orig.body = block + watch.lapFromLast("Translated positions") + doUnenter(context, cu, method) + watch.lapFromLast("Unentered") + method.body = block - log.debug("Reparsed method body (", System.currentTimeMillis() - start, "ms ):", block) - - start = System.currentTimeMillis() - reAttrMethodBody(context, methodScope, orig, block) - log.debug("Resolved method (", System.currentTimeMillis() - start, "ms):", block) + reAttrMethodBody(context, methodScope, method, block) + watch.lapFromLast("ReAttr method") if (!dl.hasPartialReparseErrors()) { val fl = JavacFlowListener.instance(context) if (fl != null && fl.hasFlowCompleted(cu.sourceFile)) { log.debug("Reflow...") - start = System.currentTimeMillis() - val tp = TreePath.getPath(cu, orig) + val start = System.currentTimeMillis() + val tp = TreePath.getPath(cu, method) val t = tp.parentPath.leaf as ClassTree - reflowMethodBody(context, t, orig) - log.debug("Reflowed method (", System.currentTimeMillis() - start, "ms)") + reflowMethodBody(context, t, method) + log.debug("Reflowed method in ${System.currentTimeMillis() - start}ms)") } + watch.lapFromLast("Method reflow") } - - val contents = FileStore.contents(Paths.get(cu.sourceFile.toUri())) - val arr = CharArray(contents.length) - for (index in contents.indices) { - arr[index] = contents[index] + + val arr = CharArray(fileContents.length) + for (index in fileContents.indices) { + arr[index] = fileContents[index] } - + lineMapBuild!!.invoke(cu.getLineMap(), arr, arr.size) - + watch.lapFromLast("Line map built") dl.endPartialReparse(delta) } finally { l.endPartialReparse(cu.sourceFile) l.useSource(prevLogged) + watch.log() } } catch (err: Throwable) { + log.error("Failed to reparse method", err) return false } diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CompletionProvider.java b/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CompletionProvider.java index 5f3909b70..526a0a5f6 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CompletionProvider.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CompletionProvider.java @@ -25,6 +25,7 @@ import com.itsaky.lsp.api.AbstractServiceProvider; import com.itsaky.lsp.api.ICompletionProvider; import com.itsaky.lsp.api.IServerSettings; import com.itsaky.lsp.internal.model.CachedCompletion; +import com.itsaky.lsp.java.compiler.CompileTask; import com.itsaky.lsp.java.compiler.JavaCompilerService; import com.itsaky.lsp.java.compiler.SourceFileObject; import com.itsaky.lsp.java.compiler.SynchronizedTask; @@ -39,11 +40,16 @@ import com.itsaky.lsp.java.providers.completion.MemberReferenceCompletionProvide import com.itsaky.lsp.java.providers.completion.MemberSelectCompletionProvider; import com.itsaky.lsp.java.providers.completion.SwitchConstantCompletionProvider; import com.itsaky.lsp.java.providers.completion.TopLevelSnippetsProvider; +import com.itsaky.lsp.java.utils.ASTFixer; import com.itsaky.lsp.java.visitors.FindCompletionsAt; +import com.itsaky.lsp.java.visitors.PrintingVisitor; import com.itsaky.lsp.java.visitors.PruneMethodBodies; import com.itsaky.lsp.models.CompletionParams; import com.itsaky.lsp.models.CompletionResult; +import com.sun.source.tree.Tree; import com.sun.source.util.TreePath; +import com.sun.tools.javac.api.JavacTaskImpl; +import com.sun.tools.javac.tree.JCTree; import java.nio.file.Path; import java.time.Duration; @@ -121,12 +127,21 @@ public class CompletionProvider extends AbstractServiceProvider implements IComp ParseTask task = compiler.parse(file); long cursor = task.root.getLineMap().getPosition(line, column); - StringBuilder contents = new PruneMethodBodies(task.task).scan(task.root, cursor); - int endOfLine = endOfLine(contents, (int) cursor); - contents.insert(endOfLine, ';'); + StringBuilder pruned = new PruneMethodBodies(task.task).scan(task.root, cursor); + int endOfLine = endOfLine(pruned, (int) cursor); + pruned.insert(endOfLine, ';'); + + final CharSequence contents; + if (compiler.compiler.currentContext != null) { + contents = new ASTFixer(compiler.compiler.currentContext).fix(pruned); + } else { + contents = pruned.toString(); + } final String contentString = contents.toString(); - CompletionResult result = compileAndComplete(file, contentString, cursor, new PartialReparseRequest(cursor - params.requirePrefix().length(), contentString)); + final PartialReparseRequest partialRequest = + new PartialReparseRequest(cursor - params.requirePrefix().length(), contentString); + CompletionResult result = compileAndComplete(file, contentString, cursor, partialRequest); if (result == null) { result = CompletionResult.EMPTY; } @@ -171,54 +186,78 @@ public class CompletionProvider extends AbstractServiceProvider implements IComp return cursor; } - private CompletionResult compileAndComplete(Path file, String contents, long cursor, PartialReparseRequest partialRequest) { - Instant started = Instant.now(); - SourceFileObject source = new SourceFileObject(file, contents, Instant.now()); - String partial = partialIdentifier(contents, (int) cursor); - boolean endsWithParen = endsWithParen(contents, (int) cursor); + private CompletionResult compileAndComplete( + Path file, String contents, final long cursor, PartialReparseRequest partialRequest) { + final Instant started = Instant.now(); + final SourceFileObject source = new SourceFileObject(file, contents, Instant.now()); + final String partial = partialIdentifier(contents, (int) cursor); + final boolean endsWithParen = endsWithParen(contents, (int) cursor); SynchronizedTask synchronizedTask = - compiler.compile( - new CompilationRequest( - Collections.singletonList(source), partialRequest)); + compiler.compile(new CompilationRequest(Collections.singletonList(source), partialRequest)); return synchronizedTask.get( task -> { + if (task == null + || task.task == null + || ((JavacTaskImpl) task.task).getContext() == null) { + return CompletionResult.EMPTY; + } LOG.info("...compiled in " + Duration.between(started, Instant.now()).toMillis() + "ms"); TreePath path = new FindCompletionsAt(task.task).scan(task.root(), cursor); - final Class klass; - switch (path.getLeaf().getKind()) { - case IDENTIFIER: - klass = IdentifierCompletionProvider.class; - break; - case MEMBER_SELECT: - klass = MemberSelectCompletionProvider.class; - break; - case MEMBER_REFERENCE: - klass = MemberReferenceCompletionProvider.class; - break; - case SWITCH: - klass = SwitchConstantCompletionProvider.class; - break; - case IMPORT: - klass = ImportCompletionProvider.class; - break; - default: - klass = KeywordCompletionProvider.class; - break; + String newPartial = partial; + if (path.getLeaf().getKind() == Tree.Kind.IMPORT) { + newPartial = qualifiedPartialIdentifier(contents, (int) cursor); + if (newPartial.endsWith(ASTFixer.IDENT)) { + newPartial = newPartial.substring(0, newPartial.length() - ASTFixer.IDENT.length()); + } } - final IJavaCompletionProvider provider = - ReflectUtils.reflect(klass).newInstance(file, cursor, compiler, getSettings()).get(); - - if (provider instanceof ImportCompletionProvider) { - ((ImportCompletionProvider) provider) - .setImportPath(qualifiedPartialIdentifier(contents, (int) cursor)); - } - - return provider.complete(task, path, partial, endsWithParen); + return doComplete(file, contents, cursor, newPartial, endsWithParen, task, path); }); } + @NonNull + private CompletionResult doComplete( + final Path file, + final String contents, + final long cursor, + final String partial, + final boolean endsWithParen, + final CompileTask task, + final TreePath path) { + final Class klass; + switch (path.getLeaf().getKind()) { + case IDENTIFIER: + klass = IdentifierCompletionProvider.class; + break; + case MEMBER_SELECT: + klass = MemberSelectCompletionProvider.class; + break; + case MEMBER_REFERENCE: + klass = MemberReferenceCompletionProvider.class; + break; + case SWITCH: + klass = SwitchConstantCompletionProvider.class; + break; + case IMPORT: + klass = ImportCompletionProvider.class; + break; + default: + klass = KeywordCompletionProvider.class; + break; + } + + final IJavaCompletionProvider provider = + ReflectUtils.reflect(klass).newInstance(file, cursor, compiler, getSettings()).get(); + + if (provider instanceof ImportCompletionProvider) { + ((ImportCompletionProvider) provider) + .setImportPath(qualifiedPartialIdentifier(contents, (int) cursor)); + } + + return provider.complete(task, path, partial, endsWithParen); + } + private boolean endsWithParen(@NonNull String contents, int cursor) { for (int i = cursor; i < contents.length(); i++) { if (!Character.isJavaIdentifierPart(contents.charAt(i))) { diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/utils/ASTFixer.java b/lsp/java/src/main/java/com/itsaky/lsp/java/utils/ASTFixer.java new file mode 100644 index 000000000..02da3657f --- /dev/null +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/utils/ASTFixer.java @@ -0,0 +1,150 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.lsp.java.utils; + +import androidx.annotation.NonNull; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Ordering; +import com.sun.source.tree.LineMap; +import com.sun.tools.javac.parser.Scanner; +import com.sun.tools.javac.parser.ScannerFactory; +import com.sun.tools.javac.parser.Tokens; +import com.sun.tools.javac.parser.Tokens.TokenKind; +import com.sun.tools.javac.util.Context; + +import org.jetbrains.annotations.Contract; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +/** + * @author Akash Yadav + */ +public class ASTFixer { + public static final String IDENT = "I_N_J_E_C_T_E_D"; + + private static final Set MEMBER_SELECTION_TOKENS = + ImmutableSet.of( + Tokens.TokenKind.IDENTIFIER, + Tokens.TokenKind.LT, + TokenKind.NEW, + TokenKind.THIS, + TokenKind.SUPER, + TokenKind.CLASS, + TokenKind.STAR); + private static final Set INVALID_SELECTION_SUFFIXES = + ImmutableSet.of(TokenKind.RBRACE); + + private final Context context; + + public ASTFixer(Context context) { + this.context = context; + } + + public CharSequence fix(CharSequence content) { + Scanner scanner = ScannerFactory.instance(context).newScanner(content, true); + List edits = new ArrayList<>(); + for (; ; scanner.nextToken()) { + Tokens.Token token = scanner.token(); + if (token.kind == TokenKind.EOF) { + break; + } else if (token.kind == TokenKind.DOT || token.kind == TokenKind.COLCOL) { + fixMemberSelection(scanner, edits); + } else if (token.kind == TokenKind.ERROR) { + int errPos = scanner.errPos(); + if (errPos >= 0 && errPos < content.length()) { + fixError(scanner, content, edits); + } + } + } + return Edit.applyInsertions(content, edits); + } + + private void fixMemberSelection(@NonNull Scanner scanner, List edits) { + Tokens.Token token = scanner.token(); + Tokens.Token nextToken = scanner.token(1); + + LineMap lineMap = scanner.getLineMap(); + int tokenLine = (int) lineMap.getLineNumber(token.pos); + int nextLine = (int) lineMap.getLineNumber(nextToken.pos); + + if (nextLine > tokenLine) { + edits.add(Edit.create(token.endPos, IDENT + ";")); + } else if (!MEMBER_SELECTION_TOKENS.contains(nextToken.kind)) { + String toInsert = IDENT; + if (INVALID_SELECTION_SUFFIXES.contains(nextToken.kind)) { + toInsert = IDENT + ";"; + } + edits.add(Edit.create(token.endPos, toInsert)); + } + } + + private void fixError( + @NonNull Scanner scanner, @NonNull CharSequence content, List edits) { + int errPos = scanner.errPos(); + if (content.charAt(errPos) == '.' && errPos > 0 && content.charAt(errPos) == '.') { + if (errPos < content.length() - 1 + && Character.isJavaIdentifierStart(content.charAt(errPos + 1))) { + edits.add(Edit.create(errPos, IDENT)); + } + } + } + + public static class Edit { + private static final Ordering REVERSE_INSERTION = + Ordering.natural().onResultOf(Edit::getPos).reverse(); + + private final int pos; + private final String text; + + public Edit(int pos, String text) { + this.pos = pos; + this.text = text; + } + + public int getPos() { + return pos; + } + + public String getText() { + return text; + } + + @NonNull + @Contract(value = "_, _ -> new", pure = true) + public static Edit create(int pos, String text) { + return new Edit(pos, text); + } + + @NonNull + public static CharSequence applyInsertions(CharSequence content, List edits) { + ImmutableList reverseEdits = + REVERSE_INSERTION.immutableSortedCopy(edits); + + StringBuilder sb = new StringBuilder(content); + + for (Edit edit : reverseEdits) { + sb.insert(edit.getPos(), edit.getText()); + } + return sb; + } + } +} diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/FindCompletionsAt.java b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/FindCompletionsAt.java index 9cdfd38a2..a928807ca 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/FindCompletionsAt.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/FindCompletionsAt.java @@ -17,7 +17,6 @@ package com.itsaky.lsp.java.visitors; -import com.itsaky.androidide.utils.ILogger; import com.sun.source.tree.CaseTree; import com.sun.source.tree.CompilationUnitTree; import com.sun.source.tree.ErroneousTree; @@ -34,13 +33,15 @@ import com.sun.source.util.Trees; public class FindCompletionsAt extends TreePathScanner { - private static final ILogger LOG = ILogger.newInstance("FindCompletionsAt"); + // private static final ILogger LOG = ILogger.newInstance("FindCompletionsAt"); private final JavacTask task; private CompilationUnitTree root; public FindCompletionsAt(JavacTask task) { this.task = task; - } @Override + } + + @Override public TreePath visitCompilationUnit(CompilationUnitTree t, Long find) { root = t; return reduce(super.visitCompilationUnit(t, find), getCurrentPath()); @@ -137,6 +138,4 @@ public class FindCompletionsAt extends TreePathScanner { } return b; } - - } diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/MethodRangeScanner.kt b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/MethodRangeScanner.kt index c45e3c560..19cc52ba8 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/MethodRangeScanner.kt +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/MethodRangeScanner.kt @@ -18,13 +18,14 @@ package com.itsaky.lsp.java.visitors import androidx.core.util.Pair +import com.itsaky.androidide.utils.ILogger import com.itsaky.lsp.models.Position import com.itsaky.lsp.models.Range import com.sun.source.tree.CompilationUnitTree import com.sun.source.tree.LineMap import com.sun.source.tree.MethodTree -import com.sun.source.tree.Tree -import com.sun.source.util.TreeScanner +import com.sun.source.util.TreePath +import com.sun.source.util.TreePathScanner import com.sun.source.util.Trees import com.sun.tools.javac.api.JavacTaskImpl @@ -34,7 +35,9 @@ import com.sun.tools.javac.api.JavacTaskImpl * @author Akash Yadav */ class MethodRangeScanner(val task: JavacTaskImpl) : - TreeScanner>>() { + TreePathScanner>>() { + + private val log = ILogger.newInstance(javaClass.simpleName) var root: CompilationUnitTree? = null var lines: LineMap? = null @@ -42,14 +45,14 @@ class MethodRangeScanner(val task: JavacTaskImpl) : override fun visitCompilationUnit( node: CompilationUnitTree?, - p: MutableList>? + p: MutableList>? ) { this.root = node this.lines = node?.lineMap return super.visitCompilationUnit(node, p) } - override fun visitMethod(node: MethodTree?, list: MutableList>) { + override fun visitMethod(node: MethodTree?, list: MutableList>) { val result = super.visitMethod(node, list) if (node == null || this.root == null) { return result @@ -58,16 +61,29 @@ class MethodRangeScanner(val task: JavacTaskImpl) : val start = getStartPosition(node) val end = getEndPosition(node) - list.add(Pair.create(Range(start, end), node)) + if (start == null || end == null) { + log.warn("Method '${node.name}' skipped. Invalid position.") + return result + } + + list.add(Pair.create(Range(start!!, end!!), currentPath)) return result } - fun getStartPosition(node: Tree): Position { - return getPosition(this.pos.getStartPosition(this.root!!, node)) + fun getStartPosition(node: MethodTree): Position? { + val position = this.pos.getStartPosition(this.root!!, node) + if (position.toInt() == -1) { + return null + } + return getPosition(position) } - fun getEndPosition(node: Tree): Position { - return getPosition(this.pos.getEndPosition(this.root!!, node)) + fun getEndPosition(node: MethodTree): Position? { + val position = this.pos.getEndPosition(this.root!!, node) + if (position.toInt() == -1) { + return null + } + return getPosition(position) } fun getPosition(position: Long): Position { diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/PrintingVisitor.kt b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/PrintingVisitor.kt new file mode 100644 index 000000000..b0857a190 --- /dev/null +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/PrintingVisitor.kt @@ -0,0 +1,45 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.lsp.java.visitors + +import com.itsaky.androidide.utils.ILogger +import com.sun.tools.javac.tree.JCTree +import com.sun.tools.javac.tree.JCTree.JCErroneous +import com.sun.tools.javac.tree.TreeScanner + +/** + * Prints all the trees it visits. For debugging/testing purposes only. + * + * @author Akash Yadav + */ +class PrintingVisitor : TreeScanner() { + + private val log = ILogger.newInstance(javaClass.simpleName) + + override fun scan(tree: JCTree?) { + log.debug(if (tree != null) tree::class.java else "NullClass", tree) + super.scan(tree) + } + + override fun visitErroneous(tree: JCErroneous?) { + if (tree?.errs != null) { + tree.errs.forEach { scan(it) } + } + super.visitErroneous(tree) + } +} diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/TranslateMethodPositionsVisitor.java b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/TranslateMethodPositionsVisitor.java new file mode 100644 index 000000000..6098952a1 --- /dev/null +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/TranslateMethodPositionsVisitor.java @@ -0,0 +1,109 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.lsp.java.visitors; + +import com.sun.source.tree.CompilationUnitTree; +import com.sun.source.tree.MethodTree; +import com.sun.source.tree.Tree; +import com.sun.source.tree.VariableTree; +import com.sun.tools.javac.tree.EndPosTable; +import com.sun.tools.javac.tree.JCTree; +import com.sun.tools.javac.tree.JCTree.JCVariableDecl; + +/** Helper visitor for partial reparse. Updates tree positions by the given delta. */ +public class TranslateMethodPositionsVisitor extends ErrorAwareTreeScanner { + + private final MethodTree changedMethod; + private final EndPosTable endPos; + private final int delta; + boolean active; + boolean inMethod; + + public TranslateMethodPositionsVisitor( + final MethodTree changedMethod, final EndPosTable endPos, final int delta) { + assert endPos != null; + this.changedMethod = changedMethod; + this.endPos = endPos; + this.delta = delta; + + active = changedMethod == null; + } + + @Override + public Void scan(Tree node, Void p) { + if (active && node != null) { + if (((JCTree) node).pos >= 0) { + ((JCTree) node).pos += delta; + } + } + Void result = super.scan(node, p); + if (inMethod && node != null) { + endPos.replaceTree((JCTree) node, null); + } + if (active && node != null) { + int pos = endPos.replaceTree((JCTree) node, null); + int newPos; + if (pos < 0) { + newPos = pos; + } else { + newPos = pos + delta; + } + endPos.storeEnd((JCTree) node, newPos); + } + return result; + } + + @Override + public Void visitCompilationUnit(CompilationUnitTree node, Void p) { + return scan(node.getTypeDecls(), p); + } + + @Override + public Void visitMethod(MethodTree node, Void p) { + if (active || inMethod) { + scan(node.getModifiers(), p); + scan(node.getReturnType(), p); + scan(node.getTypeParameters(), p); + scan(node.getParameters(), p); + scan(node.getThrows(), p); + } + if (node == changedMethod) { + inMethod = true; + } + if (active || inMethod) { + scan(node.getBody(), p); + } + if (inMethod) { + active = true; + inMethod = false; + } + if (active) { + scan(node.getDefaultValue(), p); + } + return null; + } + + @Override + public Void visitVariable(VariableTree node, Void p) { + JCVariableDecl varDecl = (JCVariableDecl) node; + if (varDecl.sym != null && active && varDecl.sym.pos >= 0) { + varDecl.sym.pos += delta; + } + return super.visitVariable(node, p); + } +} diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/TranslatePositionsVisitor.java b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/TranslatePositionsVisitor.java index 598eba254..3f9dd5974 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/TranslatePositionsVisitor.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/visitors/TranslatePositionsVisitor.java @@ -17,95 +17,17 @@ package com.itsaky.lsp.java.visitors; -import com.sun.source.tree.CompilationUnitTree; -import com.sun.source.tree.MethodTree; -import com.sun.source.tree.Tree; -import com.sun.source.tree.VariableTree; -import com.sun.tools.javac.tree.EndPosTable; import com.sun.tools.javac.tree.JCTree; -import com.sun.tools.javac.tree.JCTree.JCVariableDecl; +import com.sun.tools.javac.tree.TreeScanner; +import com.sun.tools.javac.util.List; -/** Helper visitor for partial reparse. Updates tree positions by the given delta. */ -public class TranslatePositionsVisitor extends ErrorAwareTreeScanner { - - private final MethodTree changedMethod; - private final EndPosTable endPos; - private final int delta; - boolean active; - boolean inMethod; - - public TranslatePositionsVisitor( - final MethodTree changedMethod, final EndPosTable endPos, final int delta) { - assert endPos != null; - this.changedMethod = changedMethod; - this.endPos = endPos; - this.delta = delta; - - active = changedMethod == null; - } +/** + * @author Akash Yadav + */ +public class TranslatePositionsVisitor extends TreeScanner { @Override - public Void scan(Tree node, Void p) { - if (active && node != null) { - if (((JCTree) node).pos >= 0) { - ((JCTree) node).pos += delta; - } - } - Void result = super.scan(node, p); - if (inMethod && node != null) { - endPos.replaceTree((JCTree) node, null); - } - if (active && node != null) { - Integer pos = endPos.replaceTree((JCTree) node, null); - if (pos != null) { - int newPos; - if (pos < 0) { - newPos = pos; - } else { - newPos = pos + delta; - } - endPos.storeEnd((JCTree) node, newPos); - } - } - return result; - } - - @Override - public Void visitCompilationUnit(CompilationUnitTree node, Void p) { - return scan(node.getTypeDecls(), p); - } - - @Override - public Void visitMethod(MethodTree node, Void p) { - if (active || inMethod) { - scan(node.getModifiers(), p); - scan(node.getReturnType(), p); - scan(node.getTypeParameters(), p); - scan(node.getParameters(), p); - scan(node.getThrows(), p); - } - if (node == changedMethod) { - inMethod = true; - } - if (active || inMethod) { - scan(node.getBody(), p); - } - if (inMethod) { - active = true; - inMethod = false; - } - if (active) { - scan(node.getDefaultValue(), p); - } - return null; - } - - @Override - public Void visitVariable(VariableTree node, Void p) { - JCVariableDecl varDecl = (JCVariableDecl) node; - if (varDecl.sym != null && active && varDecl.sym.pos >= 0) { - varDecl.sym.pos += delta; - } - return super.visitVariable(node, p); + public void scan(final List trees) { + super.scan(trees); } } diff --git a/lsp/java/src/test/java/com/itsaky/lsp/java/partial/PartialReparserImplTest.kt b/lsp/java/src/test/java/com/itsaky/lsp/java/partial/PartialReparserImplTest.kt index 8cbb59b87..572060a23 100644 --- a/lsp/java/src/test/java/com/itsaky/lsp/java/partial/PartialReparserImplTest.kt +++ b/lsp/java/src/test/java/com/itsaky/lsp/java/partial/PartialReparserImplTest.kt @@ -20,12 +20,17 @@ package com.itsaky.lsp.java.partial import com.google.common.truth.Truth.assertThat import com.itsaky.lsp.java.BaseJavaTest import com.itsaky.lsp.java.JavaLanguageServer -import com.itsaky.lsp.java.visitors.FindMethodAt +import com.itsaky.lsp.java.compiler.SourceFileObject +import com.itsaky.lsp.java.models.CompilationRequest +import com.itsaky.lsp.java.models.PartialReparseRequest +import com.itsaky.lsp.models.ChangeType.INSERT +import com.itsaky.lsp.models.DocumentChangeEvent import com.sun.source.tree.ExpressionStatementTree import com.sun.source.tree.LiteralTree -import com.sun.source.tree.MethodTree import com.sun.source.tree.Tree +import com.sun.tools.javac.tree.JCTree import com.sun.tools.javac.tree.JCTree.JCCompilationUnit +import com.sun.tools.javac.tree.JCTree.JCErroneous import com.sun.tools.javac.tree.JCTree.JCMethodDecl import com.sun.tools.javac.tree.JCTree.JCMethodInvocation import com.sun.tools.javac.tree.JCTree.JCVariableDecl @@ -47,24 +52,56 @@ class PartialReparserImplTest : BaseJavaTest() { fun parseMethod() { openFile("PartialReparserTest") jls.compiler.compile(file).run { task -> - val reparser = PartialReparserImpl() - val method = FindMethodAt(task.task).scan(task.root(), 133) - val reparsed = - reparser.reparseMethod( - CompilationInfo(task.task, task.diagnosticListener, task.root()), - method!!.leaf as MethodTree, - "{System.out.println(\"Hello world!\"); var klass = String.class;}" - ) - - assertThat(reparsed).isTrue() AssertingScanner().scan(task.root() as JCCompilationUnit) } } + @Test + fun testSimpleErrorneousStatement() { + openFile("PartialErrReparserTest") + jls.compiler + .compile( + CompilationRequest( + listOf(SourceFileObject(file)), + PartialReparseRequest(172, contents.toString()) + ) + ) + .run { PrintingScanner().scan(it.root() as JCCompilationUnit) } + jls.onContentChange( + DocumentChangeEvent( + file!!, + contents!!.insert(192, "trim().").toString(), + 2, + INSERT, + "trim().".length + ) + ) + jls.compiler.compile( + CompilationRequest( + listOf(SourceFileObject(file)), + PartialReparseRequest(179, contents.toString()) + ) + ) + } + override fun openFile(fileName: String) { super.openFile("partial/$fileName") } + class PrintingScanner : TreeScanner() { + override fun scan(tree: JCTree?) { + if (tree != null) println(tree!!::class.java.name + ", " + tree) + super.scan(tree) + } + + override fun visitErroneous(tree: JCErroneous?) { + if (tree?.errs != null) { + tree.errs.forEach { scan(it) } + } + super.visitErroneous(tree) + } + } + class AssertingScanner : TreeScanner() { private var methodCount = 0 override fun visitMethodDef(tree: JCMethodDecl?) { diff --git a/lsp/java/src/test/java/com/itsaky/lsp/java/providers/JavaSelectionProviderTest.kt b/lsp/java/src/test/java/com/itsaky/lsp/java/providers/JavaSelectionProviderTest.kt index fd23fba78..0ec0c8fa4 100644 --- a/lsp/java/src/test/java/com/itsaky/lsp/java/providers/JavaSelectionProviderTest.kt +++ b/lsp/java/src/test/java/com/itsaky/lsp/java/providers/JavaSelectionProviderTest.kt @@ -18,6 +18,7 @@ package com.itsaky.lsp.java.providers import com.google.common.truth.Truth.assertThat import com.itsaky.lsp.java.BaseJavaTest +import com.itsaky.lsp.models.ChangeType.NEW_TEXT import com.itsaky.lsp.models.DocumentChangeEvent import com.itsaky.lsp.models.ExpandSelectionParams import com.itsaky.lsp.models.Position @@ -44,7 +45,9 @@ class JavaSelectionProviderTest : BaseJavaTest() { openFile("SimpleSelectionExpansionTest") cursor = requireCursor() deleteCursorText() - mServer.documentHandler.onContentChange(DocumentChangeEvent(file!!, contents.toString(), 1)) + mServer.documentHandler.onContentChange( + DocumentChangeEvent(file!!, contents.toString(), 1, NEW_TEXT, 0) + ) val range = findRange() val expanded = mServer.expandSelection(ExpandSelectionParams(file!!, range)) diff --git a/lsp/java/src/test/resources/partial/PartialErrReparserTest_template.java b/lsp/java/src/test/resources/partial/PartialErrReparserTest_template.java new file mode 100644 index 000000000..a8c0246b9 --- /dev/null +++ b/lsp/java/src/test/resources/partial/PartialErrReparserTest_template.java @@ -0,0 +1,9 @@ +package com.itsaky.lsp.java.partial; + +public class PartialReparserTest_template { + public static void main(String[] args) { + System.out.println("Hello World!"); + var str = ""; + str.; + } +} \ No newline at end of file diff --git a/lsp/testing/src/main/java/com/itsaky/lsp/api/CursorDependentTest.kt b/lsp/testing/src/main/java/com/itsaky/lsp/api/CursorDependentTest.kt index c4ca90959..72b624bca 100644 --- a/lsp/testing/src/main/java/com/itsaky/lsp/api/CursorDependentTest.kt +++ b/lsp/testing/src/main/java/com/itsaky/lsp/api/CursorDependentTest.kt @@ -17,6 +17,7 @@ package com.itsaky.lsp.api import com.google.common.truth.Truth.assertThat +import com.itsaky.lsp.models.ChangeType.NEW_TEXT import com.itsaky.lsp.models.DocumentChangeEvent import com.itsaky.lsp.models.Position import io.github.rosemoe.sora.text.Content @@ -44,7 +45,7 @@ abstract class CursorDependentTest : LoggingTest() { // As the content has been changed, we have to // Update the content in language server - getServer().documentHandler.onContentChange(DocumentChangeEvent(file!!, contents!!, 1)) + getServer().documentHandler.onContentChange(DocumentChangeEvent(file!!, contents!!, 1, NEW_TEXT, 0)) } fun cursorPosition(): Position { diff --git a/sdk-info/src/main/res/raw/attrs_xml.txt b/sdk-info/src/main/res/raw/attrs_xml.txt index 59f9d64ed..0dda0e6c7 100755 --- a/sdk-info/src/main/res/raw/attrs_xml.txt +++ b/sdk-info/src/main/res/raw/attrs_xml.txt @@ -1597,7 +1597,7 @@ name="textEditNoPasteWindowLayout" format="reference" /> + edit cursor because it would be clipped if it were positioned on top. --> @@ -2031,7 +2031,7 @@ name="textColorLink" format="reference|color" /> - + @@ -8352,7 +8352,7 @@ + edit cursor because it would be clipped if it were positioned on top. --> @@ -8365,7 +8365,7 @@ - +