Skip to content

Commit 3aad0fe

Browse files
committed
ST6RI-820 Corrected TypeUtil::getResultExpressonMembershipsOf.
1 parent 557c95d commit 3aad0fe

2 files changed

Lines changed: 38 additions & 5 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
//*
2+
XPECT_SETUP org.omg.kerml.xpect.tests.parsing.KerMLParsingTest
3+
ResourceSet {
4+
ThisFile {}
5+
File {from ="/library/Base.kerml"}
6+
File {from ="/library/Occurrences.kerml"}
7+
File {from ="/library/Performances.kerml"}
8+
}
9+
Workspace {
10+
JavaProject {
11+
SrcFolder {
12+
ThisFile {}
13+
File {from ="/library/Occurrences.kerml"}
14+
File {from ="/library/Performances.kerml"}
15+
}
16+
}
17+
}
18+
END_SETUP
19+
*/
20+
package ResultExpressionMembersio_invalid {
21+
function F {
22+
1
23+
}
24+
function G :> F {
25+
//XPECT errors --> "Only one (owned or inherited) result expression is allowed" at "2"
26+
2
27+
}
28+
29+
expr f : F {
30+
//XPECT errors --> "Only one (owned or inherited) result expression is allowed" at "1"
31+
1
32+
}
33+
//XPECT errors --> "Only one (owned or inherited) result expression is allowed" at "expr g :> f;"
34+
expr g :> f;
35+
}

org.omg.sysml/src/org/omg/sysml/util/TypeUtil.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -321,11 +321,9 @@ private static Set<ResultExpressionMembership> getResultExpressionMembershipsOf(
321321
visited.add(type);
322322
getTypeAdapter(type).addAdditionalMembers();
323323
Set<ResultExpressionMembership> resultExpressions = new HashSet<>(getOwnedResultExpressionMembershipsOf(type));
324-
if (resultExpressions.isEmpty()) {
325-
for (Type general: getSupertypesOf(type)) {
326-
if (general != null && !visited.contains(general)) {
327-
resultExpressions.addAll(getResultExpressionMembershipsOf(general, visited));
328-
}
324+
for (Type general: getSupertypesOf(type)) {
325+
if (general != null && !visited.contains(general)) {
326+
resultExpressions.addAll(getResultExpressionMembershipsOf(general, visited));
329327
}
330328
}
331329
return resultExpressions;

0 commit comments

Comments
 (0)