Validate EMV2 transition branch target tokens 馃 - #3252
Merged
Merged
Conversation
Exercise component transition branches with multiple target types and a named type set, asserting the missing single-type diagnostics. Cover valid single types, a type product, omitted tokens, and steady-state branches in a separate model.
Apply the existing single-target-token checks to EMV2 transition branches. Reject multiple target types and named type sets while retaining legal type products and the existing target-state containment checks.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #2814
Transition branches now report an error when a target token lists multiple error types or references a type set. The branch validator previously checked only target-state containment and omitted the single-token checks already applied to ordinary transitions.
Issue2814Testreproduces both omissions through an external AADL model and checks the diagnostics on the two branches. A separate valid model covers a single type, a type product, an omitted token, and a steady-state branch. The regression failed before the fix because the expected diagnostic was absent; both tests pass afterward.Validation:
clean verifyfor the EMV2 runtime, tests, and feature with-Dtest=Issue2814Test: 2 tests passed.clean install: 1677 tests, 0 failures, 0 errors, 0 skipped; all reactor projects passed.git diff --checkpassed.Build flags:
mvn -o -T5 -s releng/osate.releng/settings.xml -Plocal -Dpr.build=true -Dsign=false -Dspotbugs=false -Dcodecoverage=false -Djavadoc=false -DfailIfNoTests=false. The focused run uses-pl :org.osate.xtext.aadl2.errormodel,:org.osate.aadl2.errormodel.tests,:org.osate.xtext.aadl2.errormodel.feature -Dtycho.localArtifacts=default; the root run uses-Dtycho.localArtifacts=ignore clean install.No dependency on another PR. The change is limited to the two missing branch checks; existing type-containment behavior is preserved.