Skip to content

Commit 642eab2

Browse files
committed
ST6RI-430 Fixed SysML grammar so transition source can be feature chain.
- Also updated KerMLOutlineTreeProvider to handle feature chains in more places.
1 parent b84fff7 commit 642eab2

15 files changed

Lines changed: 26212 additions & 25847 deletions

File tree

org.omg.kerml.xtext.ui/src/org/omg/kerml/xtext/ui/outline/KerMLOutlineTreeProvider.xtend

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ class KerMLOutlineTreeProvider extends DefaultOutlineTreeProvider {
392392
if (redefinition.redefinedFeature !== null) {
393393
createNode(parentNode, redefinition.redefinedFeature,
394394
redefinition.redefinedFeature._image, redefinition.redefinedFeature._text,
395-
true
395+
redefinition.redefinedFeature.ownedFeatureChaining.empty
396396
)
397397
}
398398
}
@@ -482,8 +482,8 @@ class KerMLOutlineTreeProvider extends DefaultOutlineTreeProvider {
482482
// Traversal does not know about the new node, children have to be created here
483483
if (generalType !== null) {
484484
createNode(implicitNode, generalType,
485-
generalType._image, generalType._text,
486-
true
485+
generalType._image, textDispatcher.invoke(generalType).toString(),
486+
!(generalType instanceof Feature) || (generalType as Feature).ownedFeatureChaining.isEmpty
487487
)
488488
}
489489
])

org.omg.sysml.xpect.tests/src/org/omg/sysml/xpect/tests/simpletests/StateTest.sysml.xt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,18 @@ package StateTest {
6868

6969
state S2 {
7070
do send Sig(T.s.x) to p;
71+
state S3;
7172
}
7273
accept Exit then done;
7374

75+
transition
76+
first S1
77+
accept s : Sig via p
78+
do action D
79+
then S2.S3;
80+
7481
transition T
75-
first S2
82+
first S2.S3
7683
accept s : Sig
7784
if true
7885
do send s to p

org.omg.sysml.xtext.ide/src-gen/org/omg/sysml/xtext/ide/contentassist/antlr/SysMLParser.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ private static void init(ImmutableMap.Builder<AbstractElement, String> builder,
117117
builder.put(grammarAccess.getExhibitStateUsageAccess().getAlternatives_2(), "rule__ExhibitStateUsage__Alternatives_2");
118118
builder.put(grammarAccess.getExhibitStateUsageAccess().getAlternatives_3(), "rule__ExhibitStateUsage__Alternatives_3");
119119
builder.put(grammarAccess.getTargetTransitionUsageAccess().getAlternatives_1(), "rule__TargetTransitionUsage__Alternatives_1");
120+
builder.put(grammarAccess.getTransitionSourceMemberAccess().getAlternatives(), "rule__TransitionSourceMember__Alternatives");
120121
builder.put(grammarAccess.getEffectBehaviorUsageAccess().getAlternatives(), "rule__EffectBehaviorUsage__Alternatives");
121122
builder.put(grammarAccess.getCalculationDefinitionAccess().getAlternatives_3(), "rule__CalculationDefinition__Alternatives_3");
122123
builder.put(grammarAccess.getCalculationBodyAccess().getAlternatives(), "rule__CalculationBody__Alternatives");
@@ -901,7 +902,8 @@ private static void init(ImmutableMap.Builder<AbstractElement, String> builder,
901902
builder.put(grammarAccess.getTargetTransitionUsageAccess().getOwnedRelationshipAssignment_1_2_0(), "rule__TargetTransitionUsage__OwnedRelationshipAssignment_1_2_0");
902903
builder.put(grammarAccess.getTargetTransitionUsageAccess().getOwnedRelationshipAssignment_1_2_1(), "rule__TargetTransitionUsage__OwnedRelationshipAssignment_1_2_1");
903904
builder.put(grammarAccess.getTargetTransitionUsageAccess().getOwnedRelationshipAssignment_3(), "rule__TargetTransitionUsage__OwnedRelationshipAssignment_3");
904-
builder.put(grammarAccess.getTransitionSourceMemberAccess().getMemberElementAssignment(), "rule__TransitionSourceMember__MemberElementAssignment");
905+
builder.put(grammarAccess.getTransitionSourceMemberAccess().getMemberElementAssignment_0(), "rule__TransitionSourceMember__MemberElementAssignment_0");
906+
builder.put(grammarAccess.getTransitionSourceMemberAccess().getOwnedRelatedElementAssignment_1(), "rule__TransitionSourceMember__OwnedRelatedElementAssignment_1");
905907
builder.put(grammarAccess.getTriggerActionMemberAccess().getKindAssignment_0(), "rule__TriggerActionMember__KindAssignment_0");
906908
builder.put(grammarAccess.getTriggerActionMemberAccess().getOwnedRelatedElementAssignment_1(), "rule__TriggerActionMember__OwnedRelatedElementAssignment_1");
907909
builder.put(grammarAccess.getGuardExpressionMemberAccess().getKindAssignment_0(), "rule__GuardExpressionMember__KindAssignment_0");

org.omg.sysml.xtext.ide/src-gen/org/omg/sysml/xtext/ide/contentassist/antlr/internal/InternalSysML.g

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6622,9 +6622,9 @@ ruleTransitionSourceMember
66226622
}
66236623
:
66246624
(
6625-
{ before(grammarAccess.getTransitionSourceMemberAccess().getMemberElementAssignment()); }
6626-
(rule__TransitionSourceMember__MemberElementAssignment)
6627-
{ after(grammarAccess.getTransitionSourceMemberAccess().getMemberElementAssignment()); }
6625+
{ before(grammarAccess.getTransitionSourceMemberAccess().getAlternatives()); }
6626+
(rule__TransitionSourceMember__Alternatives)
6627+
{ after(grammarAccess.getTransitionSourceMemberAccess().getAlternatives()); }
66286628
)
66296629
;
66306630
finally {
@@ -13666,6 +13666,27 @@ finally {
1366613666
restoreStackSize(stackSize);
1366713667
}
1366813668

13669+
rule__TransitionSourceMember__Alternatives
13670+
@init {
13671+
int stackSize = keepStackSize();
13672+
}
13673+
:
13674+
(
13675+
{ before(grammarAccess.getTransitionSourceMemberAccess().getMemberElementAssignment_0()); }
13676+
(rule__TransitionSourceMember__MemberElementAssignment_0)
13677+
{ after(grammarAccess.getTransitionSourceMemberAccess().getMemberElementAssignment_0()); }
13678+
)
13679+
|
13680+
(
13681+
{ before(grammarAccess.getTransitionSourceMemberAccess().getOwnedRelatedElementAssignment_1()); }
13682+
(rule__TransitionSourceMember__OwnedRelatedElementAssignment_1)
13683+
{ after(grammarAccess.getTransitionSourceMemberAccess().getOwnedRelatedElementAssignment_1()); }
13684+
)
13685+
;
13686+
finally {
13687+
restoreStackSize(stackSize);
13688+
}
13689+
1366913690
rule__EffectBehaviorUsage__Alternatives
1367013691
@init {
1367113692
int stackSize = keepStackSize();
@@ -51241,19 +51262,34 @@ finally {
5124151262
restoreStackSize(stackSize);
5124251263
}
5124351264

51244-
rule__TransitionSourceMember__MemberElementAssignment
51265+
rule__TransitionSourceMember__MemberElementAssignment_0
5124551266
@init {
5124651267
int stackSize = keepStackSize();
5124751268
}
5124851269
:
5124951270
(
51250-
{ before(grammarAccess.getTransitionSourceMemberAccess().getMemberElementFeatureCrossReference_0()); }
51271+
{ before(grammarAccess.getTransitionSourceMemberAccess().getMemberElementFeatureCrossReference_0_0()); }
5125151272
(
51252-
{ before(grammarAccess.getTransitionSourceMemberAccess().getMemberElementFeatureQualifiedNameParserRuleCall_0_1()); }
51273+
{ before(grammarAccess.getTransitionSourceMemberAccess().getMemberElementFeatureQualifiedNameParserRuleCall_0_0_1()); }
5125351274
ruleQualifiedName
51254-
{ after(grammarAccess.getTransitionSourceMemberAccess().getMemberElementFeatureQualifiedNameParserRuleCall_0_1()); }
51275+
{ after(grammarAccess.getTransitionSourceMemberAccess().getMemberElementFeatureQualifiedNameParserRuleCall_0_0_1()); }
5125551276
)
51256-
{ after(grammarAccess.getTransitionSourceMemberAccess().getMemberElementFeatureCrossReference_0()); }
51277+
{ after(grammarAccess.getTransitionSourceMemberAccess().getMemberElementFeatureCrossReference_0_0()); }
51278+
)
51279+
;
51280+
finally {
51281+
restoreStackSize(stackSize);
51282+
}
51283+
51284+
rule__TransitionSourceMember__OwnedRelatedElementAssignment_1
51285+
@init {
51286+
int stackSize = keepStackSize();
51287+
}
51288+
:
51289+
(
51290+
{ before(grammarAccess.getTransitionSourceMemberAccess().getOwnedRelatedElementFeatureChainParserRuleCall_1_0()); }
51291+
ruleFeatureChain
51292+
{ after(grammarAccess.getTransitionSourceMemberAccess().getOwnedRelatedElementFeatureChainParserRuleCall_1_0()); }
5125751293
)
5125851294
;
5125951295
finally {

0 commit comments

Comments
 (0)