Skip to content

Commit 161bb62

Browse files
authored
Merge pull request #693 from Systems-Modeling/ST6RI-883
ST6RI-883 Implicit specializations missing for individual definitions
2 parents dbc031a + 930f910 commit 161bb62

3 files changed

Lines changed: 114 additions & 6 deletions

File tree

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
//*
2+
XPECT_SETUP org.omg.sysml.xpect.tests.simpletests.SysMLTests
3+
ResourceSet {
4+
ThisFile {}
5+
File {from ="/library.kernel/Base.kerml"}
6+
File {from ="/library.kernel/Occurrences.kerml"}
7+
File {from ="/library.kernel/Objects.kerml"}
8+
File {from ="/library.kernel/Performances.kerml"}
9+
File {from ="/library.systems/Items.sysml"}
10+
File {from ="/library.systems/Parts.sysml"}
11+
File {from ="/library.systems/Actions.sysml"}
12+
}
13+
Workspace {
14+
JavaProject {
15+
SrcFolder {
16+
ThisFile {}
17+
File {from ="/library.kernel/Base.kerml"}
18+
File {from ="/library.kernel/Occurrences.kerml"}
19+
File {from ="/library.kernel/Objects.kerml"}
20+
File {from ="/library.kernel/Performances.kerml"}
21+
File {from ="/library.systems/Items.sysml"}
22+
File {from ="/library.systems/Parts.sysml"}
23+
File {from ="/library.systems/Actions.sysml"}
24+
}
25+
}
26+
}
27+
END_SETUP
28+
*/
29+
// XPECT noErrors ---> ""
30+
package IndividualTest {
31+
individual def IO1;
32+
individual occurrence def IO2 {
33+
individual io : IO1;
34+
}
35+
36+
individual item def II1 {
37+
individual item ii : II1;
38+
}
39+
40+
item def I {
41+
part i : I;
42+
}
43+
individual item def II2 :> I {
44+
individual item :>> i : II2;
45+
}
46+
47+
individual part def IP1 {
48+
individual part p : IP1;
49+
}
50+
51+
part def P {
52+
part p : P;
53+
}
54+
individual part def IP2 :> P {
55+
individual part :>> p : IP2;
56+
}
57+
58+
individual action def AP1 {
59+
individual action a : AP1;
60+
}
61+
62+
action def A {
63+
action a : A;
64+
}
65+
individual action def IA2 :> A {
66+
individual action :>> a : IA2;
67+
}
68+
}

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,13 @@ public OccurrenceDefinition getTarget() {
3636

3737
/**
3838
* @satisfies checkOccurrenceDefinitionIndividualSpecialization
39-
* @satisfies checkClassSpecialization
40-
* @satisfies checkCalculationDefinitionSpecialization
4139
*/
42-
protected String getDefaultSupertype() {
43-
return getTarget().isIndividual()? getDefaultSupertype("life"):
44-
getDefaultSupertype("base");
40+
@Override
41+
public void addDefaultGeneralType() {
42+
super.addDefaultGeneralType();
43+
44+
if (getTarget().isIndividual()) {
45+
addDefaultGeneralType("life");
46+
}
4547
}
46-
4748
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package IndividualTest {
2+
individual def IO1;
3+
individual occurrence def IO2 {
4+
individual io : IO1;
5+
}
6+
7+
individual item def II1 {
8+
individual item ii : II1;
9+
}
10+
11+
item def I {
12+
part i : I;
13+
}
14+
individual item def II2 :> I {
15+
individual item :>> i : II2;
16+
}
17+
18+
individual part def IP1 {
19+
individual part p : IP1;
20+
}
21+
22+
part def P {
23+
part p : P;
24+
}
25+
individual part def IP2 :> P {
26+
individual part :>> p : IP2;
27+
}
28+
29+
individual action def AP1 {
30+
individual action a : AP1;
31+
}
32+
33+
action def A {
34+
action a : A;
35+
}
36+
individual action def IA2 :> A {
37+
individual action :>> a : IA2;
38+
}
39+
}

0 commit comments

Comments
 (0)