updated grammar, wrapping_visitor and tests for the changes - #585
Conversation
|
Hey Fitash can you do a quick review of the PR #586 The OCL grammar changes collide. Both PRs edit BOCL.g4 plus all the regenerated ANTLR artifacts, and both independently invent the same operators: asSet, intersection, and a dot-form allInstances() — but with different rule names (#arrowAsSet vs #arrowasSet, #dotAllInstances vs #allInstancesExp). Whichever merges second gets unresolvable conflicts in generated parser files and a semantically diverged grammar. Worse, #586 removes the existing Type::allInstances() syntax entirely (breaking saved models that use it), while #585 keeps it. If you can arbitrate one unified grammar; the cleanest path is to extract the grammar/parser changes from #586 into a joint OCL PR (or land #585 first and have the other branch rebase on it). |
|
For sure, accepting a PR that breaks existing code already merged long time ago makes no sense unless there is a very strong reason, which doesn't seem to be the case (talking about the allInstances case here) |
There was a problem hiding this comment.
LGTM. Went through the grammar and the wrapping visitor - keeping Type::allInstances(). Good test coverage on the new constructs too. Two small notes, neither blocking: the new rule labels (#arrowasSet, #isunique) don't follow the casing of the existing ones. Let's merge this one first so #586 can rebase its Alloy work on top of this grammar.
…de GUI fix - Bump setup.cfg 7.13.0 -> 7.14.0 and add v7.14.0 release notes. - Frontend submodule bump to 67efe863: agent LLM-configuration UI (#162), fix for OCL/non-association links leaking into autogenerated No-Code tables (#186), and the npm lockfile repair (#178). - Backend content since v7.13.0 (already on development): OCL grammar extensions asSet/intersection/isUnique/dot-allInstances (#585) and BAF agent LLM support (#575).
updated grammar, wrapping_visitor and tests for the changes