-
Notifications
You must be signed in to change notification settings - Fork 268
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Read clauses on methods #4440
Merged
robin-aws
merged 59 commits into
dafny-lang:master
from
robin-aws:read-clauses-on-methods
Aug 30, 2023
Merged
Changes from all commits
Commits
Show all changes
59 commits
Select commit
Hold shift + click to select a range
1bf4616
First step, adding to parser and Method model
robin-aws 6cf7685
Split TheFrame into ReadsFrame and ModifiesFrame
robin-aws e29db85
Just enough to support the first test case
robin-aws 6fa7f62
Set default of "reads *" for methods
robin-aws c538c2b
Merge branch 'master' of https://github.com/dafny-lang/dafny into rea…
robin-aws 12c9933
Partial fixes to bad merge
robin-aws 41ee604
Remove zombie files from merge
robin-aws 57d9919
More fixes
robin-aws dbb4ce0
Another batch of error fixes
robin-aws 9ce3f2a
Finally builds
robin-aws 905f103
Fix test
robin-aws bbeefdb
Address missing resolution etc.
robin-aws 7f77f7c
Clean up WFOptions
robin-aws 11d4a0d
Partially get test working
robin-aws 20118e6
Missing cloning case
robin-aws f249adb
Default to reads *
robin-aws b2b266c
Tweaks
robin-aws e53422e
Fix iterators (different kind of reads frame)
robin-aws f1b1657
Avoid reads checks when reads clause is * (not working yet?)
robin-aws b2b3189
Test todos
robin-aws 46f9367
Fixing check for wildcard, adding etran.WithReads/ModifiesClause()
robin-aws e94bc0f
Fix null readsFrame bug
robin-aws e0afd4a
Do reads checks on function by method bodies too
robin-aws f6dad35
Clean up test file
robin-aws 267acae
Updates to documentation
robin-aws 7518121
Whitespace
robin-aws 4f4ace4
Apply reads clause to other clauses, {:concurrent} checks for empty f…
robin-aws 22d8d4d
Typo fixes, more testing
robin-aws 998b100
Add WithDelayedReadsChecks
robin-aws 37fa445
Fix default values
robin-aws 0a82760
Add ReadsCheckDelayer and apply it to other cases as well
robin-aws f7be5ed
Several missing calls to Method.Reads, beef up test cases
robin-aws 1a0d6be
Whoops, dropping delayed reads checks statements
robin-aws 38cdbf5
Subclassing and method call checks
robin-aws a00fc44
Enable reads checks on statements outside of method contexts
robin-aws 0a54826
Trying out defaulting to `reads {}` on ghost methods
robin-aws 22a4867
Lemmas instead of ghost methods
robin-aws 347563e
No reads or checking on lemmas, more LHS fixes, more tests
robin-aws af497ec
update TODOs
robin-aws 275e56d
Add option to enable, most testing (and reorganize old file tests)
robin-aws 1386c43
More tests
robin-aws 1cb1175
Cloning another test file
robin-aws 0254121
Remaining tests
robin-aws 82a160e
Whitespace and todos
robin-aws d376bf8
Merge branch 'master' of https://github.com/dafny-lang/dafny into rea…
robin-aws ee39edc
Fix function-by-method handling, update test
robin-aws 85f9db2
PR feedback (more to come)
robin-aws 71b0a2f
Merge duplicated code into AddMethodOverrideFrameSubsetChk
robin-aws 5993220
More feedback (especially fixing {:concurrent} w.r.t. default reads!)
robin-aws 96dde55
Address TODO about method specs referring to the set of allocated obj…
robin-aws b484dae
Mark test inconsistent with function version as expected for now
robin-aws 1f8b12c
Couple of TODOs, remove extraneous code from AddMethodOverrideFrameSu…
robin-aws 79d541a
Update expect files
robin-aws f16064a
Add “Do” to “WithDelayedReadsChecks”
robin-aws e27efe4
Reorder {:concurrent} checks
robin-aws 3cdf36e
Merge branch 'master' of https://github.com/dafny-lang/dafny into rea…
robin-aws 0acef7f
Whitespace
robin-aws 5fcf4a3
Fix reference manual (options and attribute section numbering)
robin-aws 33ac004
Merge branch 'master' of https://github.com/dafny-lang/dafny into rea…
robin-aws File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.
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.
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.
Seems to be some duplication between Function and Method that this PR increases, that we could reduce some time.
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.
Agreed, but I couldn't see an easy way without a fair bit of refactoring.