sui
sui copied to clipboard
[move][move-ide] Revise how IDE information is recorded in the compiler
Description
This PR moves how we record IDE information to communicate it to the Move Analyzer. It is now accrued on the CompilationEnv
(modulo some care in typing to handle type elaboration) and can be added through methods there. The goal is to set up an extensible way to track IDE information in the future, tying it to location information.
This change has also caused us to change how we compute spans for dotted expression terms: previously, we would make the expression with the call's span in order to report failures to autoborrow to point at the call site (instead of just the subject term). This caused recurring through location information in the analyzer to enter an infinite loop in the macro case, as the subject term shared the location of the overall macro call and recursion into the subject term on the macro information looped forever. This diff introduces a solution to this issue by more-carefully computing spans for subject terms so that they remain pointing at the actual subject term, and plumbs the call location through dotted expression handling to retain good error reporting for the method case. It also introduces a very small change to handle location reporting for *
/&
/&mut
usage for type errors.
Test plan
All tests still pass.
Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.
- [ ] Protocol:
- [ ] Nodes (Validators and Full nodes):
- [ ] Indexer:
- [ ] JSON-RPC:
- [ ] GraphQL:
- [ ] CLI:
- [ ] Rust SDK:
The latest updates on your projects. Learn more about Vercel for Git ↗︎
Name | Status | Preview | Comments | Updated (UTC) |
---|---|---|---|---|
sui-docs | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | May 25, 2024 0:02am |
3 Ignored Deployments
Name | Status | Preview | Comments | Updated (UTC) |
---|---|---|---|---|
multisig-toolkit | ⬜️ Ignored (Inspect) | Visit Preview | May 25, 2024 0:02am | |
sui-kiosk | ⬜️ Ignored (Inspect) | Visit Preview | May 25, 2024 0:02am | |
sui-typescript-docs | ⬜️ Ignored (Inspect) | Visit Preview | May 25, 2024 0:02am |