-
Notifications
You must be signed in to change notification settings - Fork 266
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
fix: For attributes, add missing resolution and fix pointless parsing #1900
fix: For attributes, add missing resolution and fix pointless parsing #1900
Conversation
* attributes on requires/ensures clauses for functions * attributes on all specification clauses for iterators
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.
Are there any call left to ResolveAttributes that are not of the form ResolveAttributes(X, X.attributes)
? If not then maybe it's worth changing the signature of that function to take one fewer parameter
@cpitclaudel Good call! This simplified all 39 call sites. |
requires
andensures
clauses for functions (previously, these were never resolved)reads
clauses were parsed and then ignored. Now, they are not parsed at all. (There is no place in the AST where these are stored.)requires
clauses of lambda expressions were parsed and then ignored. Now, they are not parsed at all. (There is no place in the AST where these are stored.)decreases
clauses of functions were parsed and then ignored. Now, they are parsed and stored in the AST. (These had a place in the AST, but were previously not stored there--or anywhere.)modify
statements andmodule
declarations are resolvedNote for reviewers: Review of
AttributeChecks.dfy
andAttributeChecks.dfy.expect
are probably best done commit by commit. The first commit just adds white space to the test file, and the second commit wraps amodule
declaration around the contents of the file.