Repository navigation
Read a state value against the sets of the argument's subtypes too - #513
Merged
Merged
Conversation
A spec for java.awt.Component that writes display(this) == displayable, with display declared on its subclass Window, reported displayable as an unknown variable, while the shorthand displayable(this) is accepted. A Component can be a Window, so a set now applies to an argument whose type is its class, a subtype or a supertype. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
|
Codex review (round 1): No actionable defect was confirmed. The new example passes verification; diagnostics seen during a concurrent full-suite run could not be reproduced when the affected example was run independently. Clean-code audit (clean-code-principles): nothing to change. The change is one predicate ( 🤖 Generated with Claude Code |
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.
Found while converting the study exercises (proposal D) to the value form from #502.
On main this reports
Not Found Error: Variable 'displayable' could not be foundat the call, while the shorthand_ ? displayable(this) : notDisplayable(this)is accepted. #510 reads the value form only against sets declared on the argument's type or its supertypes, anddisplayis declared onWindow, a subtype ofComponent.A
Componentcan be aWindow, so a set now also applies when it is declared on a subtype of the argument's type (TypeChecker.isRelatedTo). Sets of unrelated classes are still ignored, so the wrong-set and unrelated-same-name cases from #510 behave as before.Test:
classes/state_value_set_of_subtype_correct(the study's Frame/Window case, withdisposerequiringdisplay(this) == displayable); it fails on main with the error above. Full suite: 726 tests pass.🤖 Generated with Claude Code