Repository navigation
Show state errors in the State Machine view - #159
Open
CatarinaGamboa wants to merge 4 commits into
Open
CatarinaGamboa wants to merge 4 commits into
CatarinaGamboa wants to merge 4 commits into
Conversation
List the state refinement errors of the displayed machine next to the diagram, matched by class so errors reported in caller files appear on the machine from the refinements file. Each item shows the call, receiver, found and required states (from the extended error context when available, otherwise the diagnostic text) and links to its source. Selecting an item reuses the existing "View error on state machine" selection, clearing it restores the general diagram, and the selection is kept across verifications while its error still exists. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Keep a selection after verification only when its error still exists; the moved-position fallback now needs a single matching call both before and after, so a fixed error never hands its selection to a sibling for the same method. - Refresh the general diagram from the latest error machines after the selection is cleared or fixed, instead of keeping a stale copy. - Skip re-rendering the State Machine view when neither the diagram nor the list changed, and restore focus to the same error after rendering. - Make position-less error keys distinct, escape source link files, and build the diagram and list layout in one expression. - Make the integration test fail on timeouts and assert on the messages sent to the webview. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Closes #155.
The State Machine view now lists the displayed machine's state refinement errors beside the diagram. Previously they appeared only after clicking "View error on state machine" in the Verification view.
@StateSetsupport.root.getFirstChild()), receiver, Found, Required and a source link. These use the new liquidjava-fsm 0.1.4 error context and fall back to the diagnostic'sexpected/foundtext when it is absent.aria-pressed, and the selected item also changes its icon. With no state errors, the view is unchanged.renderLocationLinknow escapesdata-file.liquidjava-fsmto 0.1.4.Tests
Run against liquidjava-fsm 0.1.4 and verifier 0.0.35 from Maven Central:
npm run lintandnpm run test:typecheck: clean.npm run test:unit: 56 passed in 6 files. The 20 new tests are instate-errors.spec.tsandscript.spec.ts.npm test(VS Code): 9 + 1 passing, including the new state-errors integration test.mvn test: 24 passing.A new integration test checks that the webview receives the caller-file state error together with the machine of the refinements file. It uses the new
TreeNodeRefinementsandFailingTreeNodeStatefixtures.Also checked in headless VS Code with two
DefaultMutableTreeNodeerrors, using the real verifier output: both are listed with their receiver, Found and Required, and selecting and clearing works.Independently reviewed; all findings were fixed with regression tests.
Open questions
true. Should it read something like "no state known forroot"?||. Should they be joined with "or" instead?#117 touches the same webview files; whichever PR merges second will be rebased.
🤖 Generated with Claude Code