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
{{ message }}
Repository navigation
Drop the guard hint when a call-sequence hint exists, and reword it #518
In A1_09 (Frame.setUndecorated needs display(host) == notDisplayable, path-dependent state) the hints include:
Guard this call with if (!host.isDisplayable()): when it returns false, display(host) == notDisplayable
Two problems:
It leads to a wrong fix that the verifier accepts. Wrapping setUndecorated(true) in that guard skips the decoration in exactly the failing case (the frame stays decorated). LiquidJava accepts it, and the study's grader (analysis/check-fixes.py) marks it INCORRECT.
"when it returns false" is ambiguous next to !host.isDisplayable(), which is true inside the guard.
Proposal
No GUARD hint when a CALL_SEQUENCE hint exists (StateHints.forCall). A1_56 keeps its guard, since it has no call-sequence hint and its guard is the reference fix.
Reword the guard template to Guard this call with if (<condition>); inside it, <state>.
Found in the pre-study review of the six study tasks (verification expert + UX researcher).
Activity
Origin note: say where the wrong state of a receiver comes from (#528)