Skip to content

Commit 44c822c

Browse files
committed
ST6RI-676 Transformed seq arg when adding indexing result subsetting.
- Also transformed connector in doCheckConnector validation, to make sure the proper featuringType has been set.
1 parent 019c9ea commit 44c822c

3 files changed

Lines changed: 6 additions & 2 deletions

File tree

org.omg.kerml.xtext/src/org/omg/kerml/xtext/validation/KerMLValidator.xtend

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,7 @@ class KerMLValidator extends AbstractKerMLValidator {
453453
}
454454

455455
private def doCheckConnector(Connector c, Type location, EClass kind) {
456+
ElementUtil.transform(c)
456457
val cFeaturingTypes = c.featuringType
457458

458459
if (kind == SysMLPackage.Literals.FEATURE_MEMBERSHIP) {

org.omg.sysml/src/org/omg/sysml/adapter/OperatorExpressionAdapter.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.omg.sysml.lang.sysml.Feature;
2727
import org.omg.sysml.lang.sysml.OperatorExpression;
2828
import org.omg.sysml.lang.sysml.SysMLPackage;
29+
import org.omg.sysml.util.ElementUtil;
2930
import org.omg.sysml.util.ExpressionUtil;
3031
import org.omg.sysml.util.TypeUtil;
3132

@@ -47,8 +48,10 @@ public void addIndexingResultSubsetting() {
4748
if (INDEXING_OPERATOR.equals(target.getOperator())) {
4849
EList<Expression> arguments = target.getArgument();
4950
if (!arguments.isEmpty()) {
51+
Expression seqArgument = arguments.get(0);
52+
ElementUtil.transform(seqArgument);
53+
Feature seqResult = seqArgument.getResult();
5054
Feature resultFeature = target.getResult();
51-
Feature seqResult = arguments.get(0).getResult();
5255
if (resultFeature != null && seqResult != null)
5356
TypeUtil.addImplicitGeneralTypeTo(resultFeature, SysMLPackage.eINSTANCE.getSubsetting(), seqResult);
5457
}

sysml/src/examples/Geometry Examples/VehicleGeometryAndCoordinateFrames.sysml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ package VehicleGeometryAndCoordinateFrames {
5454
assert constraint {
5555
(1..numberOfBolts)->forAll {
5656
in i : Natural;
57-
private attribute lbcf : CoordinateFrame = lugBolts#(i).coordinateFrame;
57+
private attribute lbcf = lugBolts#(i).coordinateFrame;
5858
private attribute trs : TranslationRotationSequence {
5959
:>> source = wcf;
6060
:>> target = lbcf;

0 commit comments

Comments
 (0)