You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@StateSet is repeatable, but getStates reads only the first annotation. For ImageWriteParam, the compression states are dropped. Needed for liquid-java/vscode-liquidjava#115 and #116.
Return one machine per @StateSet group, labeled with its group.
Assign constructors, static factories, and method transitions to each group whose states they refer to.
Keep conditions that refer to another group as condition text. Do not drop them.
An update since this was written: the error context is gone from fsm (#12, released in 0.2.0), so the bullet about attaching the error context (#7) to each machine no longer applies. fsm now only draws diagrams.
The error data now comes from the verifier's StateRefinementError#getContext() (liquid-java/liquidjava#421). It names every state by its name in each state set, in declaration order, e.g. ["tilingSet", "compressionExplicit"]. So machine i of this issue should be the i-th @StateSet, in declaration order, and the language server can map the verifier's states onto each machine without fsm reading any predicate.
Remaining scope here:
Return one machine per @StateSet, in declaration order, labeled with its group.
Assign transitions and constructors to each group whose states they mention, and keep conditions on another group as condition text.
parse(uri) and parse(uri, className) keep working for current callers.
Example: barista ImageWriteParam (tiling and compression sets). Today the compression states are dropped.
Activity
CatarinaGamboa commentedon Oct 25, 2026
An update since this was written: the error context is gone from fsm (#12, released in 0.2.0), so the bullet about attaching the error context (#7) to each machine no longer applies. fsm now only draws diagrams.
The error data now comes from the verifier's
StateRefinementError#getContext()(liquid-java/liquidjava#421). It names every state by its name in each state set, in declaration order, e.g.["tilingSet", "compressionExplicit"]. So machine i of this issue should be the i-th@StateSet, in declaration order, and the language server can map the verifier's states onto each machine without fsm reading any predicate.Remaining scope here:
@StateSet, in declaration order, labeled with its group.parse(uri)andparse(uri, className)keep working for current callers.Example: barista
ImageWriteParam(tiling and compression sets). Today the compression states are dropped.🤖 Generated with Claude Code
Show the verifier's states of a state error on the state machine (#160)