GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — No state hints when the state set is declared in a superclass's external spec (Window) and the method in a subclass's (Frame) · Issue #456 · liquid-java/liquidjava Closed Labels bugSomething isn't workingSomething isn't workingerror messagesRelated to error messagesRelated to error messagesreal-world-findingFound when experimenting liquidjava in real world repos or OSSFound when experimenting liquidjava in real world repos or OSSstudyNeeded before the error-message user studyNeeded before the error-message user study DescriptionImpact: state hints disappear when the state set is declared in a superclass's external spec and the failing method is declared in a subclass's spec. That is the natural way to specify a JDK hierarchy: Minimal reproducer (an external spec and a client, in one directory) // WindowRefinements.java @StateSet({"displayable", "notDisplayable"}) @ExternalRefinementsFor("java.awt.Window") interface WindowRefinements { @StateRefinement(to = "notDisplayable(this)") void dispose(); @StateRefinement(to = "displayable(this)") void pack(); } @ExternalRefinementsFor("java.awt.Frame") interface FrameRefinements { @StateRefinement(to = "notDisplayable(this)") void Frame(String title); @StateRefinement(from = "notDisplayable(this)") void setUndecorated(boolean undecorated); } // Use.java public class Use { static void borderless() { Frame host = new Frame("Playfield"); host.pack(); host.setUndecorated(true); } } Actual (main @ 19991d3): With the same methods in one Expected: the same hints when the state set and the methods come from the specs of the receiver's superclasses. The IDE's state-machine view has the same gap (filed separately in vscode-liquidjava). Real-world scenario. One of the exercises for the error-message study is LITIENGINE's In VS Code (LITIENGINE study exercise, verifier main @ 19991d3, extension main @ 80bed18). No hints. The fix, Activity
MetadataMetadataAssigneesLabelsbugSomething isn't workingSomething isn't workingerror messagesRelated to error messagesRelated to error messagesreal-world-findingFound when experimenting liquidjava in real world repos or OSSFound when experimenting liquidjava in real world repos or OSSstudyNeeded before the error-message user studyNeeded before the error-message user study TypeProjectsMilestoneRelationshipsDevelopmentIssue actions |
| 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. |