-
Notifications
You must be signed in to change notification settings - Fork 29
JmlLexer w/o expr mode #3572
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
base: main
Are you sure you want to change the base?
JmlLexer w/o expr mode #3572
Conversation
178b07a
to
fa9ab56
Compare
6a9e8c0
to
7380131
Compare
I just re-noticed how bad the JML language design is.
The previous JML contract could mean:
|
7380131
to
552f739
Compare
Would that not require the keyword |
//@ model model model(model model model) { return model; } A model method, named //@ model model model(ghost ghost ghost) { return ghost; } |
Discussed solutions:
|
552f739
to
525a5b2
Compare
Backtick-escaping is added. Following is valid:
|
525a5b2
to
706f108
Compare
Thanks! I'd like to keep this open for discussion for a moment. I must admit that apart from technical necessity, This very backticking mechanism is used in mysql, Kotlin and Scala; so we are in good company. |
ac785f9
to
266c230
Compare
token type changed COMMENT -> SL_COMMENT
* duration token missing * DOC_COMMENT not needed anymore * double definition of comments
* solve problem with class-level accessible clause.
266c230
to
42aced2
Compare
Intended Change
Make
JMLLexer
more straightforward to understand by eliminating the two modes (aka contract/expr or outer/inner).Type of pull request
Ensuring quality
Breaking Changes