GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Update README by rcosta358 · Pull Request #16 · liquid-java/vscode-liquidjava

Conversation

@rcosta358

@rcosta358 rcosta358 commented Sep 25, 2025 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator

Also added some scripts to install and update the extension.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@rcosta358 rcosta358 added the documentation Improvements or additions to documentation label Sep 25, 2025
@rcosta358 rcosta358 self-assigned this Sep 25, 2025
CatarinaGamboa
CatarinaGamboa reviewed Sep 28, 2025
View reviewed changes

@CatarinaGamboa CatarinaGamboa left a comment

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit more than updating the readme 😆 maybe update the pr title or if you are in a rebase conflict you can rebase

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@rcosta358
Update README
c32b4e7
@rcosta358
rcosta358 force-pushed the update-readme branch from 929ed8c to c32b4e7 Compare September 28, 2025 09:20
rcosta358 added 2 commits September 28, 2025 10:21
@rcosta358
Delete .DS_Store
df59822
@rcosta358
Merge branch 'main' into update-readme
7acb847
@rcosta358

rcosta358 commented Sep 28, 2025

Copy link
Copy Markdown
Collaborator Author

My bad, you can review now 😃

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rcosta358
rcosta358 requested a review from CatarinaGamboa September 28, 2025 09:24
rcosta358 added 4 commits September 28, 2025 10:36
@rcosta358
Merge branch 'main' into update-readme
488f29f
@rcosta358
Remove VSIX
c2de7cd
@rcosta358
Add VSIX
9505092
@rcosta358
Add Dependency to README
689993e
CatarinaGamboa
CatarinaGamboa approved these changes Oct 29, 2025
View reviewed changes

@CatarinaGamboa CatarinaGamboa left a comment

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@rcosta358
rcosta358 merged commit 53e06e3 into liquid-java:main Oct 29, 2025
@rcosta358
rcosta358 deleted the update-readme branch November 18, 2025 15:46
@CatarinaGamboa CatarinaGamboa mentioned this pull request Nov 4, 2026
Show a subclass's call on the state set it inherits from a superclass's spec #174
Merged
CatarinaGamboa added a commit that referenced this pull request Nov 10, 2026
@CatarinaGamboa @claude
Show a subclass's call on the state set it inherits from a superclass…
123cda0
…'s spec (#174)

Closes #173.

Uses liquidjava-fsm 0.2.3 (which includes
[liquidjava-fsm#16](liquid-java/liquidjava-fsm#16))
and verifier 0.0.37, both on main since #179. Rebased onto main on
2026-11-10: the `server/pom.xml` bump is gone; server tests pass (39
with #178 merged in too).

## Why
A state error can be on a method declared in a subclass's spec
(`Frame.setUndecorated`) while the state set is declared in a
superclass's spec (`Window`). In that case the State Machine view could
not explain the error:
- With verifier 0.0.36 (no state context), it showed `Window`'s diagram
without `setUndecorated` and marked no states (the issue's screenshot).
- With verifier main (liquid-java/liquidjava#464), the context names
`java.awt.Frame`. The parser then found `Frame`'s spec, which has no
`@StateSet`, so the error had no diagram at all.

## What
- **liquidjava-fsm#16.** The parser merges the specs of a class's
supertypes, following the rule from liquidjava#464: state sets of the
class and then of its supertypes, nearest first; for each method, the
class's own refinement, otherwise that of the nearest type that declares
it. The details are in that PR.
- **`StateRefinementErrorDTO`.** It parses the diagrams for the
context's `receiverClass`. It reads the declaration's file plus the
files of the state sets and state refinements the verifier registered
(`ContextHistory`), so specs split across files are found, including a
supertype spec with methods but no state set. Without a context it
behaves as before (first class of the declaration's file).
- **Known limit.** A project class that extends an unannotated project
class in a file the verifier registered nothing for stops the walk
there, so that class's diagram leaves out the states further up. The
parser only sees the spec files.

No verifier change is needed. liquidjava#464 already sends the context
with the receiver's states for this case. The view needs a verifier
release with #464 (after 0.0.36). With 0.0.36 nothing changes for this
case: that verifier sends no context, so the view still shows the first
class of the declaration's file (`Window` in the issue's file).

## Screenshots
Both columns use verifier main @ 9e4b5e64.

| | Before (main) | After |
|---|---|---|
| Issue reproducer (`host.pack(); host.setUndecorated(true);`) | <img
src="https://raw.githubusercontent.com/liquid-java/vscode-liquidjava/pr-screenshots/174/before-issue.png"
width="380"> | <img
src="https://raw.githubusercontent.com/liquid-java/vscode-liquidjava/pr-screenshots/174/after-issue.png"
width="380"> |
| Study exercise A1_09 (LITIENGINE `GameWindow`) | <img
src="https://raw.githubusercontent.com/liquid-java/vscode-liquidjava/pr-screenshots/174/before-a1-09.png"
width="380"> | <img
src="https://raw.githubusercontent.com/liquid-java/vscode-liquidjava/pr-screenshots/174/after-a1-09.png"
width="380"> |

In A1_09 the actual state shows as "unknown" because the verifier finds
both `displayable` and `notDisplayable` possible (it depends on the
path). `notDisplayable` is marked as the expected state, and
`setUndecorated` is the failing call.

I did not take a split-files screenshot. With `FrameRefinements.java`
read before `WindowRefinements.java`, the verifier stops with
liquid-java/liquidjava#461 before it reaches the state error.
`StateRefinementErrorDTOTest` covers that layout.

## Tests
- server `mvn test`: 39 passed, 0 failures (liquidjava-fsm 0.2.3 built
locally from #16, verifier 0.0.36). New `StateRefinementErrorDTOTest`:
- Specs in two files: the diagram is `java.awt.Frame`, with
`setUndecorated`, `dispose` and `pack` on `Window`'s states;
`displayable` is marked invalid and `notDisplayable` accepted.
- Without a context: the first class of the declaration's file, as
before.
- A `JFrame` spec over a method-only `Frame` spec and `Window`'s state
set: all their methods are drawn.
- The verifier run on that fixture: the files of all three specs are
selected.
- client `npm run test:unit`: 123 passed. `npm run test:typecheck`:
clean. `npm test` (VS Code): 9 + 1 passing.

## Overlap with #172
None. #172 changes only the client webview. This PR changes only the
server and its fsm dependency.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@CatarinaGamboa CatarinaGamboa CatarinaGamboa approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@rcosta358 rcosta358

Labels

documentation Improvements or additions to documentation

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@rcosta358 @CatarinaGamboa
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.