Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project wide occurrences #77

Merged
merged 29 commits into from
Aug 15, 2024
Merged

Project wide occurrences #77

merged 29 commits into from
Aug 15, 2024

Conversation

liam923
Copy link
Contributor

@liam923 liam923 commented Jul 31, 2024

This PR backports a large number of occurrence-related changes from upstream. This backport was done by:

  1. Diffing occurrences.ml between Merlin-jst and upstream.
  2. For each difference, attribute the difference to an upstream commit/PR (or a Merlin-jst specific consideration) and note the commit/PR.
  3. Apply the upstream patches in chronological order. After each application, the testsuite was run. If tests failed, appropriate patches from upstream were found and applied.

After the backport, occurrences.ml's only difference from upstream are Merlin-jst specific.

The backporting commit descriptions include the upstream PR or commit hash.

The first commit of this PR is not a backport but instead reverts fa1e8b1. This is because is substantially differs from its upstream counterpart, 34e2688. Thus, the decision was made to revert fa1e8b1 and then cherry-pick 34e2688.

There was a similar issue with 9e90e47 and 3c4d858, which are substantially different from the corresponding upstream commit 80f29ff. This differences in occurrences.ml were fixed while merging. I may make a future PR to resolve other differences.

Note that this PR targets the branch backport-shape-reduce. That is becuase this PR builds on PR #78, which uses that branch.

Also note that the project-wide occurrences tests aren't run because ocaml-index hasn't yet been imported. I intend to import it and fix the tests in a follow-up PR.

@liam923 liam923 force-pushed the project-wide-occurrences branch 2 times, most recently from a4371fe to 760cad8 Compare August 1, 2024 19:00
@liam923 liam923 changed the base branch from main to backport-shape-reduce August 1, 2024 21:03
@liam923 liam923 force-pushed the project-wide-occurrences branch from d780ba6 to ea2abdd Compare August 1, 2024 21:33
@liam923 liam923 marked this pull request as ready for review August 1, 2024 21:37
@liam923 liam923 requested a review from poechsel August 1, 2024 21:38
@liam923 liam923 force-pushed the project-wide-occurrences branch from 3a96989 to e96df16 Compare August 2, 2024 17:14
src/analysis/ast_iterators.ml Outdated Show resolved Hide resolved
src/kernel/mpipeline.ml Show resolved Hide resolved
src/analysis/ast_iterators.ml Outdated Show resolved Hide resolved
@liam923 liam923 force-pushed the project-wide-occurrences branch from e96df16 to 938637d Compare August 6, 2024 13:36
@liam923 liam923 changed the base branch from backport-shape-reduce to main August 6, 2024 13:37
@liam923 liam923 mentioned this pull request Aug 7, 2024
@liam923 liam923 requested a review from poechsel August 14, 2024 16:02
@liam923
Copy link
Contributor Author

liam923 commented Aug 14, 2024

Sorry I took a while to get to this but it's ready for re-review. @poechsel

liam923 and others added 16 commits August 14, 2024 12:03
…eds parenthesis

Doing that properly require compiler support for located longidents.

cherry picked from upstream commit 1850cbe
cherry picked from upstream commit a1547db
It's always correct to have a space after the parenthesis and it is sometimes
necessary, for infix operators that start with `*` for example.

cherry picked from upstream commit ab56eea
cherry picked from upstream commit ee41c4d
cherry picked from upstream commit 9f8cbf4
This reparsing has very bad performances. The correct way to deal with
issue is to have the compiler store precise locations in longidents.

cherry picked from upstream commit df27557
dune 2.9.0 is not compatible with OCaml 5.2 anyway.

cherry picked from upstream commit 617a91d
cherry picked from upstream commit b77b724
cherry picked from upstream commit dd23fbd
liam923 and others added 13 commits August 14, 2024 12:03
cherry picked from upstream commit 1577d8f
We don't have a way to identify uids in interfaces with uids in
implementations. This might lead to mixing up results that share
the same uid.

cherry picked from upstream commit 38c28f2
Labels and constructors are not highlighted correctly when the cursor is on their declaration

cherry picked from upstream commit af14a1f
cherry picked from upstream commit 7bd03f0
cherry picked from upstream commit 5b96c62
@liam923 liam923 force-pushed the project-wide-occurrences branch from 34e5a90 to 685d444 Compare August 14, 2024 16:04
@liam923 liam923 merged commit f1e0264 into main Aug 15, 2024
1 of 2 checks passed
@liam923 liam923 deleted the project-wide-occurrences branch August 15, 2024 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants