Skip to content

Commit 5000e86

Browse files
authored
Merge pull request #351 from Systems-Modeling/ST6RI-528
ST6RI-528 Circular conjugation causes a stack overflow
2 parents c7d256b + 408cadd commit 5000e86

165 files changed

Lines changed: 1352 additions & 1562 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

kerml/src/examples/Simple Tests/Conjugation.kerml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,4 @@ package Conjugation {
66
class B conjugates A;
77

88
feature g ~ B::f;
9-
10-
// feature h ~ h;
119
}

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/AllKerMLXpectTests.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import org.junit.runners.Suite;
55
import org.junit.runners.Suite.SuiteClasses;
66
import org.omg.kerml.xpect.tests.expression.KerMLExpressionTest;
7-
import org.omg.kerml.xpect.tests.generator.KerMLGeneratorTest;
87
import org.omg.kerml.xpect.tests.imports.global.KerMLImportGlobalTest;
98
import org.omg.kerml.xpect.tests.imports.local.KerMLImportLocalTest;
109
import org.omg.kerml.xpect.tests.imports.recursive.KerMLImportRecursiveTest;
@@ -17,12 +16,10 @@
1716

1817
@SuiteClasses({
1918
KerMLExpressionTest.class, //
20-
KerMLGeneratorTest.class, //
2119
KerMLImportGlobalTest.class, //
2220
KerMLImportLocalTest.class, //
2321
KerMLImportRecursiveTest.class, //
2422
KerMLLinkingTest.class,//
25-
// KerMLParserTest.class, //
2623
KerMLScopingTest.class, //
2724
KerMLXtextTest.class, //
2825
KerMLValidationTest.class, //

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/generator/Classes.kerml.xt

Lines changed: 0 additions & 26 deletions
This file was deleted.

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/generator/KerMLGeneratorTest.java

Lines changed: 0 additions & 12 deletions
This file was deleted.

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/imports/global/DependencyPackageAlias0.kerml.xt

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
XPECT_SETUP org.omg.kerml.xpect.tests.imports.global.KerMLImportGlobalTest
33
ResourceSet {
44
ThisFile {}
5+
File {from ="/library/Base.kerml"}
56
File {from ="/src/DependencyPackageAlias1.kerml"}
67
}
78
Workspace {
89
JavaProject {
910
SrcFolder {
1011
ThisFile {}
12+
File {from ="/library/Base.kerml"}
1113
File {from ="/src/DependencyPackageAlias1.kerml"}
1214
}
1315
}
@@ -31,24 +33,5 @@ package test{
3133
PackageAlias1.A_alias, PackageAlias1.A_alias.a, PackageAlias1.A_alias.a_alias,
3234
PackageAlias1.AA_alias, PackageAlias1.AA_alias.aa, PackageAlias1.AA_alias.aa_alias,
3335
--- */
34-
class X specializes A {}
36+
classifier X specializes A {}
3537
}
36-
//*
37-
package PackageAlias1{
38-
class A_alias is A;
39-
class A{
40-
class a{}
41-
class a_alias is a;
42-
}
43-
class AA_alias is AA;
44-
class AA{
45-
class aa{}
46-
class aa_alias is aa;
47-
}
48-
}
49-
*/
50-
//*
51-
missing in scopes are
52-
PackageAlias1.A_alias, PackageAlias1.A_alias.a, PackageAlias1.A_alias.a_alias,
53-
PackageAlias1.AA_alias, PackageAlias1.AA_alias.a, PackageAlias1.AA_alias.aa_alias,
54-
*/

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/imports/local/Import_All.kerml.xt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
XPECT_SETUP org.omg.kerml.xpect.tests.imports.local.KerMLImportLocalTest
33
ResourceSet {
44
ThisFile {}
5+
File {from ="/library/Base.kerml"}
56
}
67
Workspace {
78
JavaProject {
89
SrcFolder {
910
ThisFile {}
11+
File {from ="/library/Base.kerml"}
1012
}
1113
}
1214
}

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/imports/local/Import_Circular.kerml.xt

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
XPECT_SETUP org.omg.kerml.xpect.tests.imports.local.KerMLImportLocalTest
33
ResourceSet {
44
ThisFile {}
5+
File {from ="/library/Base.kerml"}
56
}
67
Workspace {
78
JavaProject {
89
SrcFolder {
910
ThisFile {}
11+
File {from ="/library/Base.kerml"}
1012
}
1113
}
1214
}
@@ -17,11 +19,11 @@ END_SETUP
1719
package Import_Circular {
1820
package P1 {
1921
import P2::*;
20-
class A;
22+
classifier A;
2123
}
2224
package P2 {
2325
import P1::*;
24-
class B;
26+
classifier B;
2527
}
2628
package Test1 {
2729
import P1::*;
@@ -34,11 +36,17 @@ package Import_Circular {
3436
y: B;
3537
}
3638
//* XPECT scope at P1::A ---
37-
x, y, Import_Circular.x, Import_Circular.y,
38-
P1.A, P1.B, Import_Circular.P1.A, Import_Circular.P1.B,
39-
P2.A, P2.B, Import_Circular.P2.A, Import_Circular.P2.B,
40-
Test1.A, Test1.B, Test1.x, Test1.y, Import_Circular.Test1.A, Import_Circular.Test1.B, Import_Circular.Test1.x, Import_Circular.Test1.y,
41-
Test2.A, Test2.B, Test2.x, Test2.y, Import_Circular.Test2.A, Import_Circular.Test2.B, Import_Circular.Test2.x, Import_Circular.Test2.y,
39+
Import_Circular.P1.A, Import_Circular.P1.A.self, Import_Circular.P1.B,
40+
Import_Circular.P1.B.self, Import_Circular.P2.A, Import_Circular.P2.A.self, Import_Circular.P2.B,
41+
Import_Circular.P2.B.self, Import_Circular.Test1.A, Import_Circular.Test1.A.self, Import_Circular.Test1.B,
42+
Import_Circular.Test1.B.self, Import_Circular.Test1.x, Import_Circular.Test1.x.self, Import_Circular.Test1.y,
43+
Import_Circular.Test1.y.self, Import_Circular.Test2.A, Import_Circular.Test2.A.self, Import_Circular.Test2.B,
44+
Import_Circular.Test2.B.self, Import_Circular.Test2.x, Import_Circular.Test2.x.self, Import_Circular.Test2.y,
45+
Import_Circular.Test2.y.self, Import_Circular.x, Import_Circular.x.self, Import_Circular.y,
46+
Import_Circular.y.self, P1.A, P1.A.self, P1.B, P1.B.self, P2.A, P2.A.self, P2.B, P2.B.self, Test1.A,
47+
Test1.A.self, Test1.B, Test1.B.self, Test1.x, Test1.x.self, Test1.y, Test1.y.self, Test2.A,
48+
Test2.A.self, Test2.B, Test2.B.self, Test2.x, Test2.x.self, Test2.y, Test2.y.self, x, x.self,
49+
y, y.self
4250
--- */
4351
x: P1::A;
4452

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/imports/local/Import_Filtered.kerml.xt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ XPECT_SETUP org.omg.kerml.xpect.tests.imports.local.KerMLImportLocalTest
33
ResourceSet {
44
ThisFile {}
55
File {from ="/library/Base.kerml"}
6+
File {from ="/library/Occurrences.kerml"}
7+
File {from ="/library/Objects.kerml"}
8+
File {from ="/library/Metaobjects.kerml"}
69
File {from ="/library/Performances.kerml"}
710
File {from ="/library/ScalarValues.kerml"}
811
File {from ="/library/BaseFunctions.kerml"}
@@ -13,6 +16,9 @@ XPECT_SETUP org.omg.kerml.xpect.tests.imports.local.KerMLImportLocalTest
1316
SrcFolder {
1417
ThisFile {}
1518
File {from ="/library/Base.kerml"}
19+
File {from ="/library/Occurrences.kerml"}
20+
File {from ="/library/Objects.kerml"}
21+
File {from ="/library/Metaobjects.kerml"}
1622
File {from ="/library/Performances.kerml"}
1723
File {from ="/library/ScalarValues.kerml"}
1824
File {from ="/library/BaseFunctions.kerml"}

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/imports/local/Import_Private.kerml.xt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
XPECT_SETUP org.omg.kerml.xpect.tests.imports.local.KerMLImportLocalTest
33
ResourceSet {
44
ThisFile {}
5+
File {from ="/library/Base.kerml"}
56
}
67
Workspace {
78
JavaProject {
89
SrcFolder {
910
ThisFile {}
11+
File {from ="/library/Base.kerml"}
1012
}
1113
}
1214
}
@@ -16,14 +18,18 @@ END_SETUP
1618

1719
package Import_Private {
1820
package P1 {
19-
class A;
21+
classifier A;
2022
}
2123
package P2 {
2224
private import P1::*;
2325
}
2426
//* XPECT scope at P1::A ---
25-
x, y, y1, z, P1.A, P3.B, B, Import_Private.x, Import_Private.y, Import_Private.y1, Import_Private.z, Import_Private.P1.A, Import_Private.P3.B,
26-
P4.A, P4.z1, Import_Private.P4.A, Import_Private.P4.z1
27+
B, B.self, Import_Private.P1.A, Import_Private.P1.A.self, Import_Private.P3.B,
28+
Import_Private.P3.B.self, Import_Private.P4.A, Import_Private.P4.A.self, Import_Private.P4.z1,
29+
Import_Private.P4.z1.self, Import_Private.x, Import_Private.x.self, Import_Private.y,
30+
Import_Private.y.self, Import_Private.y1, Import_Private.y1.self, Import_Private.z,
31+
Import_Private.z.self, P1.A, P1.A.self, P3.B, P3.B.self, P4.A, P4.A.self, P4.z1, P4.z1.self, x,
32+
x.self, y, y.self, y1, y1.self, z, z.self
2733
--- */
2834
x: P1::A;
2935

@@ -36,7 +42,7 @@ package Import_Private {
3642
y1: P2::A;
3743

3844
package P3 {
39-
class B;
45+
classifier B;
4046
}
4147

4248
private import P3::*;

org.omg.kerml.xpect.tests/src/org/omg/kerml/xpect/tests/imports/local/Import_QualifiedName1.kerml.xt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
XPECT_SETUP org.omg.kerml.xpect.tests.imports.local.KerMLImportLocalTest
33
ResourceSet {
44
ThisFile {}
5+
File {from ="/library/Base.kerml"}
56
}
67
Workspace {
78
JavaProject {
89
SrcFolder {
910
ThisFile {}
11+
File {from ="/library/Base.kerml"}
1012
}
1113
}
1214
}
@@ -16,15 +18,17 @@ END_SETUP
1618
// XPECT noErrors ---> ""
1719
package Import_QualifiedName {
1820
package P1 {
19-
class A;
21+
classifier A;
2022
}
2123
package P2 {
2224
package P2a {
2325
import P1::*;
2426
}
2527
//* XPECT scope at P2a::A ---
26-
x, P1.A, P2.P2a.A, ,P2.x, P2a.A,
27-
Import_QualifiedName.P1.A, Import_QualifiedName.P2.x, Import_QualifiedName.P2.P2a.A,
28+
Import_QualifiedName.P1.A, Import_QualifiedName.P1.A.self,
29+
Import_QualifiedName.P2.P2a.A, Import_QualifiedName.P2.P2a.A.self, Import_QualifiedName.P2.x,
30+
Import_QualifiedName.P2.x.self, P1.A, P1.A.self, P2.P2a.A, P2.P2a.A.self, P2.x, P2.x.self, P2a.A, P2a.A.self,
31+
x, x.self
2832
--- */
2933
// The following should not fail.
3034
// A is a member of P2a because of the import.

0 commit comments

Comments
 (0)