-
Notifications
You must be signed in to change notification settings - Fork 158
Add attribute whitelist and group(_) attribute #3390
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
Conversation
|
@radumereuta I know you mentioned expanding the |
radumereuta
left a comment
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.
Looks very good.
See my inline comments. I think you're missing a few location info for some error messages.
This is very large, and I would like it if someone else at least skims over it.
kernel/src/main/java/org/kframework/compile/ExpandGroupAttribute.java
Outdated
Show resolved
Hide resolved
kernel/src/main/java/org/kframework/compile/ExpandGroupAttribute.java
Outdated
Show resolved
Hide resolved
kernel/src/main/java/org/kframework/compile/ExpandGroupAttribute.java
Outdated
Show resolved
Hide resolved
|
After my latest changes, a
The pipeline now works as follows:
A few things worth mentioning:
Additionally, we now report errors if user groups conflict with internal attributes, regardless of the |
631e328 to
906d6d8
Compare
906d6d8 to
f07a99b
Compare
|
I'm aware that transition is still existing in some places. I didn't put it on the whitelist because it is a dead attribute that no longer does anything and needs to eventually be deleted everywhere. |
|
I'd guess that the map test in question is probably just fragile. It's not a big deal to leave it there so that we don't have to try to fix the test now, but it's probably worth having someone investigate the test and try and see why changing one attribute of one production leads to a different test output |
|
Blocked until runtimeverification/k-exercises/pull/36 is merged |
Baltoli
left a comment
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.
Dwight will need to hit the final approval as there are unresolved change requests but this looks good to me; I note that the blocking PR to k-exercises is merged as well.
First step of #2625
Att.scalato include all attributes used in the frontend code or documented in the K User Manualgroup(name1,...,nameN)attribute for user-defined groups--pedantic-attributesflag to enforce that all attributes are either provided throughgroup(_)or defined inAttIn the process, I also changed the type of attribute keys from
Stringto a case classAtt.Keywith aStringfield. This is useful becauseAtt.Keyconstructor private forces every new attribute to define its key inAtt, thereby maintaining the whitelistThe diff is quite large, but almost all changes just replace string literals
"my-att"withAtt.MY_ATT().