Skip to content

Commit 9012208

Browse files
authored
Merge pull request #715 from Systems-Modeling/ST6RI-895
ST6RI-895 Item usages should be able to be typed by occurrence definitions
2 parents f4aeb6f + 870e130 commit 9012208

5 files changed

Lines changed: 81 additions & 92 deletions

File tree

org.omg.sysml.xpect.tests/src/org/omg/sysml/xpect/tests/validation/invalid/ItemUsage_invalid.sysml.xt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,28 +37,28 @@ END_SETUP
3737
package pkg {
3838
public import ScalarValues::*;
3939
item def A {
40-
// XPECT errors --> "An item must be typed by item definitions." at "item i1: Real;"
40+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "item i1: Real;"
4141
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Item" at "item i1: Real;"
4242
item i1: Real;
43-
// XPECT errors --> "An item must be typed by item definitions." at "item i2: att;"
43+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "item i2: att;"
4444
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Item" at "item i2: att;"
4545
item i2: att;
46-
// XPECT errors --> "An item must be typed by item definitions." at "item i3: act;"
46+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "item i3: act;"
4747
//* XPECT warnings ---
4848
"Duplicate of inherited member name 'self' from Action, Item" at "item i3: act;"
4949
"Duplicate of inherited member name 'start' from Action, Item" at "item i3: act;"
5050
"Duplicate of inherited member name 'done' from Action, Item" at "item i3: act;"
5151
--- */
5252
item i3: act;
53-
// XPECT errors --> "An item must be typed by item definitions." at "item i4: AttDef;"
53+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "item i4: AttDef;"
5454
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Item" at "item i4: AttDef;"
5555
item i4: AttDef;
56-
// XPECT errors ---> "An item must be typed by item definitions." at "item i5: PartDef::aPort;"
56+
// XPECT errors ---> "An occurrence, item or part must be typed by occurrence definitions." at "item i5: PartDef::aPort;"
5757
// XPECT warnings --> "Duplicate of inherited member name 'self' from Item, Port" at "item i5: PartDef::aPort;"
5858
item i5: PartDef::aPort;
59-
// XPECT errors ---> "An item must be typed by item definitions." at "item i6: PartDef::aPart;"
59+
// XPECT errors ---> "An occurrence, item or part must be typed by occurrence definitions." at "item i6: PartDef::aPart;"
6060
item i6: PartDef::aPart;
61-
// XPECT errors --> "An item must be typed by item definitions." at "item i7: PartDef, AttDef;"
61+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "item i7: PartDef, AttDef;"
6262
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Part" at "item i7: PartDef, AttDef;"
6363
item i7: PartDef, AttDef;
6464
}

org.omg.sysml.xpect.tests/src/org/omg/sysml/xpect/tests/validation/invalid/OccurrenceUsage_invalid.sysml.xt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ END_SETUP
3737
package pkg {
3838
public import ScalarValues::*;
3939
occurrence def A {
40-
// XPECT errors --> "An occurrence must be typed by occurrence definitions." at "occurrence areal: Real;"
40+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "occurrence areal: Real;"
4141
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Occurrence" at "occurrence areal: Real;"
4242
occurrence areal: Real;
43-
// XPECT errors --> "An occurrence must be typed by occurrence definitions." at "occurrence avalue :> aValue;"
43+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "occurrence avalue :> aValue;"
4444
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Occurrence" at "occurrence avalue :> aValue;"
4545
occurrence avalue:> aValue;
46-
// XPECT errors --> "An occurrence must be typed by occurrence definitions." at "occurrence twoTypes: PartDef, Real;"
46+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "occurrence twoTypes: PartDef, Real;"
4747
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Part" at "occurrence twoTypes: PartDef, Real;"
4848
occurrence twoTypes: PartDef, Real;
4949
}
@@ -55,7 +55,7 @@ package pkg {
5555
// XPECT errors --> "Must reference an occurrence." at "a"
5656
event a;
5757

58-
// XPECT errors --> "An occurrence must be typed by occurrence definitions." at "event a.areal;"
58+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "event a.areal;"
5959
//* XPECT warnings ---
6060
"Duplicate of inherited member name 'self' from DataValue, Occurrence" at "event a.areal;"
6161
"Duplicate of inherited member name 'self' from DataValue, Occurrence" at "a.areal"

org.omg.sysml.xpect.tests/src/org/omg/sysml/xpect/tests/validation/invalid/PartUsage_invalid.sysml.xt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,28 +37,28 @@ END_SETUP
3737
package pkg {
3838
public import ScalarValues::*;
3939
part def A {
40-
// XPECT errors --> "A part must be typed by item definitions." at "part p1: Real;"
40+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "part p1: Real;"
4141
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Part" at "part p1: Real;"
4242
part p1: Real;
43-
// XPECT errors --> "A part must be typed by item definitions." at "part p2: att;"
43+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "part p2: att;"
4444
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Part" at "part p2: att;"
4545
part p2: att;
46-
// XPECT errors --> "A part must be typed by item definitions." at "part p3: act;"
46+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "part p3: act;"
4747
//* XPECT warnings ---
4848
"Duplicate of inherited member name 'self' from Action, Part" at "part p3: act;"
4949
"Duplicate of inherited member name 'start' from Action, Part" at "part p3: act;"
5050
"Duplicate of inherited member name 'done' from Action, Part" at "part p3: act;"
5151
--- */
5252
part p3: act;
53-
// XPECT errors --> "A part must be typed by item definitions." at "part p4: AttDef;"
53+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "part p4: AttDef;"
5454
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Part" at "part p4: AttDef;"
5555
part p4: AttDef;
56-
// XPECT errors --> "A part must be typed by item definitions." at "part p5: PartDef::aPort;"
56+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "part p5: PartDef::aPort;"
5757
// XPECT warnings --> "Duplicate of inherited member name 'self' from Part, Port" at "part p5: PartDef::aPort;"
5858
part p5: PartDef::aPort;
59-
// XPECT errors ---> "A part must be typed by item definitions." at "part p6: PartDef::aPart;"
59+
// XPECT errors ---> "An occurrence, item or part must be typed by occurrence definitions." at "part p6: PartDef::aPart;"
6060
part p6: PartDef::aPart;
61-
// XPECT errors --> "A part must be typed by item definitions." at "part p7: PartDef, AttDef;"
61+
// XPECT errors --> "An occurrence, item or part must be typed by occurrence definitions." at "part p7: PartDef, AttDef;"
6262
// XPECT warnings --> "Duplicate of inherited member name 'self' from DataValue, Part" at "part p7: PartDef, AttDef;"
6363
part p7: PartDef, AttDef;
6464
}

org.omg.sysml.xpect.tests/src/org/omg/sysml/xpect/tests/validation/invalid/UsageDefinition_invalid.sysml.xt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ package UsageDefinition_invalid {
4242
ref i1 : i, I;
4343
// XPECT errors ---> "A usage must be typed by definitions." at "ref i2 : i;"
4444
ref i2 : i;
45-
// XPECT errors ---> "An item must be typed by item definitions." at "item i3 : i;"
45+
// XPECT errors ---> "An occurrence, item or part must be typed by occurrence definitions." at "item i3 : i;"
4646
item i3 : i;
4747

4848
part def P;
@@ -51,7 +51,7 @@ package UsageDefinition_invalid {
5151
ref p1 : p, P;
5252
// XPECT errors ---> "A usage must be typed by definitions." at "ref p2 : p;"
5353
ref p2 : p;
54-
// XPECT errors ---> "A part must be typed by item definitions." at "part p3 : p;"
54+
// XPECT errors ---> "An occurrence, item or part must be typed by occurrence definitions." at "part p3 : p;"
5555
part p3 : p;
5656

5757
action def Ac;

org.omg.sysml.xtext/src/org/omg/sysml/xtext/validation/SysMLValidator.xtend

Lines changed: 61 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -30,111 +30,107 @@ import org.eclipse.emf.ecore.EReference
3030
import org.eclipse.emf.ecore.EStructuralFeature
3131
import org.eclipse.xtext.validation.Check
3232
import org.omg.kerml.xtext.validation.KerMLValidator
33+
import org.omg.sysml.lang.sysml.AcceptActionUsage
34+
import org.omg.sysml.lang.sysml.ActionDefinition
3335
import org.omg.sysml.lang.sysml.ActionUsage
36+
import org.omg.sysml.lang.sysml.ActorMembership
3437
import org.omg.sysml.lang.sysml.AllocationDefinition
3538
import org.omg.sysml.lang.sysml.AllocationUsage
3639
import org.omg.sysml.lang.sysml.AnalysisCaseDefinition
3740
import org.omg.sysml.lang.sysml.AnalysisCaseUsage
41+
import org.omg.sysml.lang.sysml.AssertConstraintUsage
42+
import org.omg.sysml.lang.sysml.AssignmentActionUsage
3843
import org.omg.sysml.lang.sysml.Association
44+
import org.omg.sysml.lang.sysml.AttributeDefinition
3945
import org.omg.sysml.lang.sysml.AttributeUsage
4046
import org.omg.sysml.lang.sysml.Behavior
4147
import org.omg.sysml.lang.sysml.CalculationUsage
4248
import org.omg.sysml.lang.sysml.CaseDefinition
4349
import org.omg.sysml.lang.sysml.CaseUsage
50+
import org.omg.sysml.lang.sysml.Classifier
51+
import org.omg.sysml.lang.sysml.ConjugatedPortDefinition
4452
import org.omg.sysml.lang.sysml.ConnectionUsage
4553
import org.omg.sysml.lang.sysml.ConstraintUsage
54+
import org.omg.sysml.lang.sysml.ControlNode
4655
import org.omg.sysml.lang.sysml.DataType
56+
import org.omg.sysml.lang.sysml.DecisionNode
4757
import org.omg.sysml.lang.sysml.Definition
4858
import org.omg.sysml.lang.sysml.EnumerationDefinition
4959
import org.omg.sysml.lang.sysml.EnumerationUsage
60+
import org.omg.sysml.lang.sysml.EventOccurrenceUsage
61+
import org.omg.sysml.lang.sysml.ExhibitStateUsage
62+
import org.omg.sysml.lang.sysml.Expose
63+
import org.omg.sysml.lang.sysml.Expression
5064
import org.omg.sysml.lang.sysml.Feature
65+
import org.omg.sysml.lang.sysml.FeatureChainExpression
5166
import org.omg.sysml.lang.sysml.FeatureMembership
67+
import org.omg.sysml.lang.sysml.FeatureReferenceExpression
68+
import org.omg.sysml.lang.sysml.FlowDefinition
69+
import org.omg.sysml.lang.sysml.FlowUsage
70+
import org.omg.sysml.lang.sysml.ForLoopActionUsage
71+
import org.omg.sysml.lang.sysml.ForkNode
72+
import org.omg.sysml.lang.sysml.FramedConcernMembership
5273
import org.omg.sysml.lang.sysml.Function
74+
import org.omg.sysml.lang.sysml.IfActionUsage
75+
import org.omg.sysml.lang.sysml.IncludeUseCaseUsage
76+
import org.omg.sysml.lang.sysml.Interaction
5377
import org.omg.sysml.lang.sysml.InterfaceDefinition
5478
import org.omg.sysml.lang.sysml.InterfaceUsage
55-
import org.omg.sysml.lang.sysml.ItemUsage
79+
import org.omg.sysml.lang.sysml.JoinNode
80+
import org.omg.sysml.lang.sysml.MergeNode
81+
import org.omg.sysml.lang.sysml.Metaclass
82+
import org.omg.sysml.lang.sysml.MetadataUsage
83+
import org.omg.sysml.lang.sysml.Namespace
5684
import org.omg.sysml.lang.sysml.ObjectiveMembership
5785
import org.omg.sysml.lang.sysml.OccurrenceDefinition
5886
import org.omg.sysml.lang.sysml.OccurrenceUsage
87+
import org.omg.sysml.lang.sysml.OperatorExpression
5988
import org.omg.sysml.lang.sysml.ParameterMembership
60-
import org.omg.sysml.lang.sysml.PartDefinition
61-
import org.omg.sysml.lang.sysml.PartUsage
89+
import org.omg.sysml.lang.sysml.PerformActionUsage
6290
import org.omg.sysml.lang.sysml.PortDefinition
6391
import org.omg.sysml.lang.sysml.PortUsage
6492
import org.omg.sysml.lang.sysml.Predicate
93+
import org.omg.sysml.lang.sysml.ReferenceUsage
94+
import org.omg.sysml.lang.sysml.Relationship
6595
import org.omg.sysml.lang.sysml.RenderingDefinition
6696
import org.omg.sysml.lang.sysml.RenderingUsage
97+
import org.omg.sysml.lang.sysml.RequirementConstraintKind
98+
import org.omg.sysml.lang.sysml.RequirementConstraintMembership
6799
import org.omg.sysml.lang.sysml.RequirementDefinition
68100
import org.omg.sysml.lang.sysml.RequirementUsage
69101
import org.omg.sysml.lang.sysml.RequirementVerificationMembership
102+
import org.omg.sysml.lang.sysml.SatisfyRequirementUsage
103+
import org.omg.sysml.lang.sysml.SendActionUsage
104+
import org.omg.sysml.lang.sysml.StakeholderMembership
105+
import org.omg.sysml.lang.sysml.StateDefinition
106+
import org.omg.sysml.lang.sysml.StateSubactionKind
107+
import org.omg.sysml.lang.sysml.StateSubactionMembership
70108
import org.omg.sysml.lang.sysml.StateUsage
71109
import org.omg.sysml.lang.sysml.Step
72-
import org.omg.sysml.lang.sysml.Structure
73110
import org.omg.sysml.lang.sysml.SubjectMembership
111+
import org.omg.sysml.lang.sysml.Succession
74112
import org.omg.sysml.lang.sysml.SysMLPackage
113+
import org.omg.sysml.lang.sysml.TransitionFeatureKind
114+
import org.omg.sysml.lang.sysml.TransitionFeatureMembership
115+
import org.omg.sysml.lang.sysml.TransitionUsage
116+
import org.omg.sysml.lang.sysml.TriggerInvocationExpression
117+
import org.omg.sysml.lang.sysml.TriggerKind
118+
import org.omg.sysml.lang.sysml.Type
75119
import org.omg.sysml.lang.sysml.Usage
120+
import org.omg.sysml.lang.sysml.UseCaseDefinition
121+
import org.omg.sysml.lang.sysml.UseCaseUsage
76122
import org.omg.sysml.lang.sysml.VariantMembership
77123
import org.omg.sysml.lang.sysml.VerificationCaseDefinition
78124
import org.omg.sysml.lang.sysml.VerificationCaseUsage
79125
import org.omg.sysml.lang.sysml.ViewDefinition
126+
import org.omg.sysml.lang.sysml.ViewRenderingMembership
80127
import org.omg.sysml.lang.sysml.ViewUsage
81128
import org.omg.sysml.lang.sysml.ViewpointDefinition
82129
import org.omg.sysml.lang.sysml.ViewpointUsage
83-
import org.omg.sysml.lang.sysml.TransitionUsage
84-
import org.omg.sysml.lang.sysml.Succession
85-
import org.omg.sysml.lang.sysml.StateDefinition
86-
import org.omg.sysml.lang.sysml.Type
87-
import org.omg.sysml.lang.sysml.StateSubactionKind
88-
import org.omg.sysml.lang.sysml.UseCaseUsage
89-
import org.omg.sysml.lang.sysml.UseCaseDefinition
90-
import org.omg.sysml.lang.sysml.MetadataUsage
91-
import org.omg.sysml.lang.sysml.Metaclass
92-
import org.omg.sysml.lang.sysml.Interaction
93-
import org.omg.sysml.lang.sysml.SendActionUsage
94-
import org.omg.sysml.lang.sysml.FeatureReferenceExpression
95-
import org.omg.sysml.lang.sysml.FeatureChainExpression
96-
import org.omg.sysml.lang.sysml.OperatorExpression
97-
import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil
98-
import org.omg.sysml.lang.sysml.Expression
99-
import org.omg.sysml.lang.sysml.EventOccurrenceUsage
100-
import org.omg.sysml.lang.sysml.ConjugatedPortDefinition
101-
import org.omg.sysml.lang.sysml.AssignmentActionUsage
102-
import org.omg.sysml.lang.sysml.TriggerInvocationExpression
103-
import org.omg.sysml.lang.sysml.ControlNode
104-
import org.omg.sysml.lang.sysml.DecisionNode
105-
import org.omg.sysml.lang.sysml.ForkNode
106-
import org.omg.sysml.lang.sysml.JoinNode
107-
import org.omg.sysml.lang.sysml.MergeNode
108-
import org.omg.sysml.lang.sysml.PerformActionUsage
109-
import org.omg.sysml.lang.sysml.ExhibitStateUsage
110-
import org.omg.sysml.lang.sysml.StateSubactionMembership
111-
import org.omg.sysml.lang.sysml.TransitionFeatureMembership
112-
import org.omg.sysml.lang.sysml.AssertConstraintUsage
113-
import org.omg.sysml.lang.sysml.FramedConcernMembership
114-
import org.omg.sysml.lang.sysml.RequirementConstraintMembership
115-
import org.omg.sysml.lang.sysml.SatisfyRequirementUsage
116-
import org.omg.sysml.lang.sysml.StakeholderMembership
117-
import org.omg.sysml.lang.sysml.AcceptActionUsage
118-
import org.omg.sysml.lang.sysml.IncludeUseCaseUsage
119-
import org.omg.sysml.lang.sysml.Expose
120-
import org.omg.sysml.lang.sysml.ViewRenderingMembership
121-
import org.omg.sysml.lang.sysml.AttributeDefinition
122-
import org.omg.sysml.lang.sysml.Namespace
123-
import org.omg.sysml.lang.sysml.ActionDefinition
124-
import org.omg.sysml.lang.sysml.TransitionFeatureKind
125-
import org.omg.sysml.lang.sysml.ActorMembership
126-
import org.omg.sysml.lang.sysml.RequirementConstraintKind
127-
import org.omg.sysml.lang.sysml.ForLoopActionUsage
128-
import org.omg.sysml.lang.sysml.ReferenceUsage
129-
import org.omg.sysml.lang.sysml.IfActionUsage
130130
import org.omg.sysml.lang.sysml.WhileLoopActionUsage
131-
import org.omg.sysml.lang.sysml.TriggerKind
132-
import org.omg.sysml.lang.sysml.FlowDefinition
133-
import org.omg.sysml.lang.sysml.FlowUsage
134-
import org.omg.sysml.lang.sysml.Relationship
131+
import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil
135132
import org.omg.sysml.util.FeatureUtil
136133
import org.omg.sysml.util.UsageUtil
137-
import org.omg.sysml.lang.sysml.Classifier
138134

139135
/**
140136
* This class contains custom validation rules.
@@ -181,7 +177,7 @@ class SysMLValidator extends KerMLValidator {
181177
public static val INVALID_EVENT_OCCURRENCE_USAGE_REFERENCE_MSG = "Must reference an occurrence."
182178

183179
public static val INVALID_OCCURRENCE_USAGE_TYPE = "validateOccurrenceUsageType_"
184-
public static val INVALID_OCCURRENCE_USAGE_TYPE_MSG = "An occurrence must be typed by occurrence definitions."
180+
public static val INVALID_OCCURRENCE_USAGE_TYPE_MSG = "An occurrence, item or part must be typed by occurrence definitions."
185181
public static val INVALID_OCCURRENCE_USAGE_INDIVIDUAL_DEFINITION = "validateOccurrenceUsageIndividualDefinition"
186182
public static val INVALID_OCCURRENCE_USAGE_INDIVIDUAL_DEFINITION_MSG = "At most one individual definition is allowed."
187183
public static val INVALID_OCCURRENCE_USAGE_INDIVIDUAL_USAGE = "validateOccurrenceUsageIndividualUsage"
@@ -580,7 +576,7 @@ class SysMLValidator extends KerMLValidator {
580576
@Check
581577
def checkOccurrenceUsage(OccurrenceUsage usg) {
582578
// All types must be Classes
583-
if (!(usg instanceof ItemUsage || usg instanceof PortUsage || usg instanceof Step))
579+
if (!(usg instanceof PortUsage || usg instanceof ConnectionUsage || usg instanceof MetadataUsage || usg instanceof Step))
584580
checkAllTypes(usg, org.omg.sysml.lang.sysml.Class, INVALID_OCCURRENCE_USAGE_TYPE_MSG, SysMLPackage.eINSTANCE.occurrenceUsage_OccurrenceDefinition, INVALID_OCCURRENCE_USAGE_TYPE)
585581

586582
// validateOccurrenceUsageIndividualDefinition
@@ -607,20 +603,13 @@ class SysMLValidator extends KerMLValidator {
607603

608604
}
609605

610-
@Check
611-
def checkItemUsage(ItemUsage iu) {
612-
// All types must be Structures
613-
if (!(iu instanceof PartUsage || iu instanceof PortUsage || iu instanceof MetadataUsage))
614-
checkAllTypes(iu, Structure, INVALID_ITEM_USAGE_TYPE_MSG, SysMLPackage.eINSTANCE.itemUsage_ItemDefinition, INVALID_ITEM_USAGE_TYPE)
615-
}
606+
// @Check
607+
// def checkItemUsage(ItemUsage iu) {
608+
// }
616609

617-
@Check
618-
def checkPartUsage(PartUsage pu){
619-
if (!(pu instanceof ConnectionUsage))
620-
if (checkAllTypes(pu, Structure, INVALID_PART_USAGE_TYPE_MSG, SysMLPackage.eINSTANCE.itemUsage_ItemDefinition, INVALID_PART_USAGE_TYPE))
621-
// validatePartUsagePartDefinition
622-
checkAtLeastOneType(pu, PartDefinition, INVALID_PART_USAGE_PART_DEFINITION_MSG, SysMLPackage.eINSTANCE.partUsage_PartDefinition, INVALID_PART_USAGE_PART_DEFINITION)
623-
}
610+
// @Check
611+
// def checkPartUsage(PartUsage pu){
612+
// }
624613

625614
@Check
626615
def checkConjugatedPortDefinition(ConjugatedPortDefinition cpd) {
@@ -868,7 +857,7 @@ class SysMLValidator extends KerMLValidator {
868857
if ((featureMembership instanceof StateSubactionMembership ||
869858
featureMembership instanceof TransitionFeatureMembership) &&
870859
usg.payloadArgument === null) {
871-
error(org.omg.sysml.xtext.validation.SysMLValidator.INVALID_SEND_ACTION_USAGE_PAYLOAD_ARGUMENT_MSG, usg, null, org.omg.sysml.xtext.validation.SysMLValidator.INVALID_SEND_ACTION_USAGE_PAYLOAD_ARGUMENT_MSG)
860+
error(SysMLValidator.INVALID_SEND_ACTION_USAGE_PAYLOAD_ARGUMENT_MSG, usg, null, SysMLValidator.INVALID_SEND_ACTION_USAGE_PAYLOAD_ARGUMENT_MSG)
872861
}
873862
}
874863

0 commit comments

Comments
 (0)