diff --git a/inca-translation/.mps/modules.xml b/inca-translation/.mps/modules.xml
index b49e43bd1999745bbf52d35aebab90e41fc1492b..a50bd7590bb71f29f9861799f8edbfa760fe8725 100644
--- a/inca-translation/.mps/modules.xml
+++ b/inca-translation/.mps/modules.xml
@@ -6,9 +6,12 @@
+
+
+
diff --git a/inca-translation/languages/STLCN/STLCN.mpl b/inca-translation/languages/STLCN/STLCN.mpl
new file mode 100644
index 0000000000000000000000000000000000000000..82a8422165c099b327b51d6ff8abff7e3518a84c
--- /dev/null
+++ b/inca-translation/languages/STLCN/STLCN.mpl
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ b802a056-92a2-4fbc-902e-f8e5004c331f(org.inca.core)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/behavior/trace.info b/inca-translation/languages/STLCN/classes_gen/STLCN/behavior/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..0cc590391e2d3a9631ec2b99d46deef73e69d72b
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/behavior/trace.info
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/constraints/aspectcps-descriptorclasses.mps b/inca-translation/languages/STLCN/classes_gen/STLCN/constraints/aspectcps-descriptorclasses.mps
new file mode 100644
index 0000000000000000000000000000000000000000..0c7ab03a11922e94b69e3dff5ac20103bde2a5aa
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/constraints/aspectcps-descriptorclasses.mps
@@ -0,0 +1,1647 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/constraints/checkpoints b/inca-translation/languages/STLCN/classes_gen/STLCN/constraints/checkpoints
new file mode 100644
index 0000000000000000000000000000000000000000..1c3d5054dd085ba661b0487cf1893e6e0f86a234
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/constraints/checkpoints
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/constraints/trace.info b/inca-translation/languages/STLCN/classes_gen/STLCN/constraints/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..184e22a4726e308dc6bcc43d851fab7bcbd26246
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/constraints/trace.info
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/editor/trace.info b/inca-translation/languages/STLCN/classes_gen/STLCN/editor/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..d871626aadf220ed7addfc411d86b0c20b1f10b4
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/editor/trace.info
@@ -0,0 +1,4167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/structure/aspectcps-descriptorclasses.mps b/inca-translation/languages/STLCN/classes_gen/STLCN/structure/aspectcps-descriptorclasses.mps
new file mode 100644
index 0000000000000000000000000000000000000000..900bdee751dc1f9cba1d7476529159fb8c2994ba
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/structure/aspectcps-descriptorclasses.mps
@@ -0,0 +1,5545 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/structure/checkpoints b/inca-translation/languages/STLCN/classes_gen/STLCN/structure/checkpoints
new file mode 100644
index 0000000000000000000000000000000000000000..1c3d5054dd085ba661b0487cf1893e6e0f86a234
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/structure/checkpoints
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/structure/trace.info b/inca-translation/languages/STLCN/classes_gen/STLCN/structure/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..286a85baf8507d44e3dec1fb66212cb5eb265965
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/structure/trace.info
@@ -0,0 +1,617 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/trace.info b/inca-translation/languages/STLCN/classes_gen/STLCN/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..ef2b4289bf9f4dd852179d52c57ee110d6acb7a7
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/trace.info
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/typesystem/aspectcps-descriptorclasses.mps b/inca-translation/languages/STLCN/classes_gen/STLCN/typesystem/aspectcps-descriptorclasses.mps
new file mode 100644
index 0000000000000000000000000000000000000000..43f50c16fe893677af3afe2ebe140f9ac6982159
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/typesystem/aspectcps-descriptorclasses.mps
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/typesystem/checkpoints b/inca-translation/languages/STLCN/classes_gen/STLCN/typesystem/checkpoints
new file mode 100644
index 0000000000000000000000000000000000000000..1c3d5054dd085ba661b0487cf1893e6e0f86a234
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/typesystem/checkpoints
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/classes_gen/STLCN/typesystem/trace.info b/inca-translation/languages/STLCN/classes_gen/STLCN/typesystem/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..4fc6c1bf4f5577e5f241fe9ba81f813fb67cf627
--- /dev/null
+++ b/inca-translation/languages/STLCN/classes_gen/STLCN/typesystem/trace.info
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/generator/classes_gen/STLCN/trace.info b/inca-translation/languages/STLCN/generator/classes_gen/STLCN/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..8fea1547cf01038123bec719a019fcfa4cc0746d
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/classes_gen/STLCN/trace.info
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/generator/classes_gen/main/trace.info b/inca-translation/languages/STLCN/generator/classes_gen/main/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..733e8cc197984e9dfc747715fb74d5220e308d2e
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/classes_gen/main/trace.info
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/generator/source_gen.caches/STLCN/dependencies b/inca-translation/languages/STLCN/generator/source_gen.caches/STLCN/dependencies
new file mode 100644
index 0000000000000000000000000000000000000000..dc71609a2a7c8ee309efe885edec8f3d48326f62
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/source_gen.caches/STLCN/dependencies
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/generator/source_gen.caches/STLCN/generated b/inca-translation/languages/STLCN/generator/source_gen.caches/STLCN/generated
new file mode 100644
index 0000000000000000000000000000000000000000..5e80bec42ce5d4562aecdc59a9b4c1632a369a52
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/source_gen.caches/STLCN/generated
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/generator/source_gen.caches/main/dependencies b/inca-translation/languages/STLCN/generator/source_gen.caches/main/dependencies
new file mode 100644
index 0000000000000000000000000000000000000000..e6a9c2c9390c88da9442774efd0b916a865d78e5
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/source_gen.caches/main/dependencies
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/generator/source_gen.caches/main/generated b/inca-translation/languages/STLCN/generator/source_gen.caches/main/generated
new file mode 100644
index 0000000000000000000000000000000000000000..0a052b951e72e3baa8387f4985c78bd043958dcb
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/source_gen.caches/main/generated
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/generator/source_gen/STLCN/Generator.java b/inca-translation/languages/STLCN/generator/source_gen/STLCN/Generator.java
new file mode 100644
index 0000000000000000000000000000000000000000..b3de964ac101298fde2d6a25d150578929d03be6
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/source_gen/STLCN/Generator.java
@@ -0,0 +1,40 @@
+package STLCN;
+
+/*Generated by MPS */
+
+import jetbrains.mps.generator.runtime.TemplateModuleInterpreted2;
+import jetbrains.mps.smodel.language.LanguageRegistry;
+import jetbrains.mps.smodel.language.LanguageRuntime;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.mps.openapi.module.SModuleReference;
+import org.jetbrains.mps.openapi.persistence.PersistenceFacade;
+import main.QueriesGenerated;
+import java.util.Collection;
+import org.jetbrains.mps.openapi.language.SLanguage;
+import java.util.Arrays;
+
+public class Generator extends TemplateModuleInterpreted2 {
+
+ public Generator(LanguageRegistry languageRegistry, LanguageRuntime sourceLanguage, jetbrains.mps.smodel.Generator generator) {
+ super(languageRegistry, sourceLanguage, generator);
+ }
+
+ @NotNull
+ @Override
+ public SModuleReference getModuleReference() {
+ return PersistenceFacade.getInstance().createModuleReference("df2fab5b-411f-4114-a765-3ebe1e8954a3(STLCN#2461377476107291918)");
+ }
+
+ @Override
+ protected void fillTemplateModels(TemplateModuleInterpreted2.TemplateModels models) {
+ models.templates("r:7e1fb535-1d63-4f6b-9c21-10cfeb0b8628", QueriesGenerated.class);
+ }
+
+
+ @Override
+ public Collection getTargetLanguages() {
+ SLanguage[] rv = new SLanguage[0];
+ return Arrays.asList(rv);
+ }
+
+}
diff --git a/inca-translation/languages/STLCN/generator/source_gen/STLCN/trace.info b/inca-translation/languages/STLCN/generator/source_gen/STLCN/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..8fea1547cf01038123bec719a019fcfa4cc0746d
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/source_gen/STLCN/trace.info
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/generator/source_gen/main/QueriesGenerated.java b/inca-translation/languages/STLCN/generator/source_gen/main/QueriesGenerated.java
new file mode 100644
index 0000000000000000000000000000000000000000..94770238d65bebe27a2e6d4a7cc8df3e3843a06d
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/source_gen/main/QueriesGenerated.java
@@ -0,0 +1,13 @@
+package main;
+
+/*Generated by MPS */
+
+import jetbrains.mps.generator.runtime.Generated;
+import jetbrains.mps.generator.impl.query.QueryProviderBase;
+
+@Generated
+public class QueriesGenerated extends QueryProviderBase {
+ public QueriesGenerated() {
+ super(1);
+ }
+}
diff --git a/inca-translation/languages/STLCN/generator/source_gen/main/trace.info b/inca-translation/languages/STLCN/generator/source_gen/main/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..733e8cc197984e9dfc747715fb74d5220e308d2e
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/source_gen/main/trace.info
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/generator/template/main@generator.mps b/inca-translation/languages/STLCN/generator/template/main@generator.mps
new file mode 100644
index 0000000000000000000000000000000000000000..dbcb47061f336416e80e5f0931a13d2f7fa22293
--- /dev/null
+++ b/inca-translation/languages/STLCN/generator/template/main@generator.mps
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/models/behavior.mps b/inca-translation/languages/STLCN/models/behavior.mps
new file mode 100644
index 0000000000000000000000000000000000000000..1e850e3175badc45cbcfadf469b343139143c835
--- /dev/null
+++ b/inca-translation/languages/STLCN/models/behavior.mps
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/models/constraints.mps b/inca-translation/languages/STLCN/models/constraints.mps
new file mode 100644
index 0000000000000000000000000000000000000000..b688938df935cd5acf14013c5b3ef7c24eef1e88
--- /dev/null
+++ b/inca-translation/languages/STLCN/models/constraints.mps
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/models/editor.mps b/inca-translation/languages/STLCN/models/editor.mps
new file mode 100644
index 0000000000000000000000000000000000000000..7affd64816e72a540d58309715230c199d52862d
--- /dev/null
+++ b/inca-translation/languages/STLCN/models/editor.mps
@@ -0,0 +1,295 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/models/structure.mps b/inca-translation/languages/STLCN/models/structure.mps
new file mode 100644
index 0000000000000000000000000000000000000000..ed034fe7f97371e30268d34cdbcd90903fe519f1
--- /dev/null
+++ b/inca-translation/languages/STLCN/models/structure.mps
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/models/typesystem.mps b/inca-translation/languages/STLCN/models/typesystem.mps
new file mode 100644
index 0000000000000000000000000000000000000000..0b3d1882218374904790109b1b4dcb576e80c8de
--- /dev/null
+++ b/inca-translation/languages/STLCN/models/typesystem.mps
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/behavior/dependencies b/inca-translation/languages/STLCN/source_gen.caches/STLCN/behavior/dependencies
new file mode 100644
index 0000000000000000000000000000000000000000..bf34299064e45f977c742a48a49fb6687b1030ce
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/behavior/dependencies
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/behavior/generated b/inca-translation/languages/STLCN/source_gen.caches/STLCN/behavior/generated
new file mode 100644
index 0000000000000000000000000000000000000000..3fcb343a4620bfdb88e03d01d903a6349d5f0af3
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/behavior/generated
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/constraints/dependencies b/inca-translation/languages/STLCN/source_gen.caches/STLCN/constraints/dependencies
new file mode 100644
index 0000000000000000000000000000000000000000..352a52e6756feafd5d9c007cded4e8991f34c915
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/constraints/dependencies
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/constraints/generated b/inca-translation/languages/STLCN/source_gen.caches/STLCN/constraints/generated
new file mode 100644
index 0000000000000000000000000000000000000000..affe52dbf240914192949f6839e025575b32b6b6
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/constraints/generated
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/dependencies b/inca-translation/languages/STLCN/source_gen.caches/STLCN/dependencies
new file mode 100644
index 0000000000000000000000000000000000000000..e20ff15c427c525210f72668148fb1d55c9527c0
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/dependencies
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/editor/dependencies b/inca-translation/languages/STLCN/source_gen.caches/STLCN/editor/dependencies
new file mode 100644
index 0000000000000000000000000000000000000000..020c7783d386022063d304c2fefb333e8aff1379
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/editor/dependencies
@@ -0,0 +1,896 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/editor/generated b/inca-translation/languages/STLCN/source_gen.caches/STLCN/editor/generated
new file mode 100644
index 0000000000000000000000000000000000000000..487550d9bfb604123b627d138b9e3c26ef848bf0
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/editor/generated
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/generated b/inca-translation/languages/STLCN/source_gen.caches/STLCN/generated
new file mode 100644
index 0000000000000000000000000000000000000000..a1651567c87566f84233a36c1ae4568d99d46357
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/generated
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/structure/dependencies b/inca-translation/languages/STLCN/source_gen.caches/STLCN/structure/dependencies
new file mode 100644
index 0000000000000000000000000000000000000000..eb2e10353319343fc292090e2f04aff606b7985e
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/structure/dependencies
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/structure/generated b/inca-translation/languages/STLCN/source_gen.caches/STLCN/structure/generated
new file mode 100644
index 0000000000000000000000000000000000000000..d31c733e429e71cf1e05316116ac0c9dc7735273
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/structure/generated
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/typesystem/dependencies b/inca-translation/languages/STLCN/source_gen.caches/STLCN/typesystem/dependencies
new file mode 100644
index 0000000000000000000000000000000000000000..df6c1b64dad4546dadfd0ef44978d7197aa4a5a1
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/typesystem/dependencies
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen.caches/STLCN/typesystem/generated b/inca-translation/languages/STLCN/source_gen.caches/STLCN/typesystem/generated
new file mode 100644
index 0000000000000000000000000000000000000000..f3435f8e8a7e9ea0a4f8e168e6f8df7a724ed433
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen.caches/STLCN/typesystem/generated
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/Language.java b/inca-translation/languages/STLCN/source_gen/STLCN/Language.java
new file mode 100644
index 0000000000000000000000000000000000000000..89bd23b407c61f91dd95e5bb259c09934920e5a9
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/Language.java
@@ -0,0 +1,67 @@
+package STLCN;
+
+/*Generated by MPS */
+
+import jetbrains.mps.smodel.language.LanguageRuntime;
+import jetbrains.mps.smodel.adapter.ids.SLanguageId;
+import java.util.Collection;
+import org.jetbrains.mps.openapi.language.SLanguage;
+import jetbrains.mps.smodel.runtime.ILanguageAspect;
+import jetbrains.mps.smodel.runtime.BehaviorAspectDescriptor;
+import jetbrains.mps.smodel.runtime.ConstraintsAspectDescriptor;
+import jetbrains.mps.openapi.editor.descriptor.EditorAspectDescriptor;
+import STLCN.editor.EditorAspectDescriptorImpl;
+import jetbrains.mps.smodel.runtime.StructureAspectDescriptor;
+import jetbrains.mps.smodel.runtime.ConceptPresentationAspect;
+import STLCN.structure.ConceptPresentationAspectImpl;
+import jetbrains.mps.lang.typesystem.runtime.IHelginsDescriptor;
+import STLCN.typesystem.TypesystemDescriptor;
+
+public class Language extends LanguageRuntime {
+ private final SLanguageId myId;
+
+ public Language() {
+ myId = SLanguageId.deserialize("f7521a8a-f887-420a-b23b-8fffa9357b8f");
+ }
+
+ @Override
+ public String getNamespace() {
+ return "STLCN";
+ }
+
+ @Override
+ public int getVersion() {
+ return 0;
+ }
+
+ public SLanguageId getId() {
+ return myId;
+ }
+
+ @Override
+ protected void fillExtendedLanguages(Collection extendedLanguages) {
+ }
+
+ @Override
+ protected T createAspect(Class aspectClass) {
+ if (aspectClass == BehaviorAspectDescriptor.class) {
+ return aspectClass.cast(new STLCN.behavior.BehaviorAspectDescriptor());
+ }
+ if (aspectClass == ConstraintsAspectDescriptor.class) {
+ return aspectClass.cast(new STLCN.constraints.ConstraintsAspectDescriptor());
+ }
+ if (aspectClass == EditorAspectDescriptor.class) {
+ return aspectClass.cast(new EditorAspectDescriptorImpl());
+ }
+ if (aspectClass == StructureAspectDescriptor.class) {
+ return aspectClass.cast(new STLCN.structure.StructureAspectDescriptor());
+ }
+ if (aspectClass == ConceptPresentationAspect.class) {
+ return aspectClass.cast(new ConceptPresentationAspectImpl());
+ }
+ if (aspectClass == IHelginsDescriptor.class) {
+ return aspectClass.cast(new TypesystemDescriptor());
+ }
+ return null;
+ }
+}
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/behavior/BehaviorAspectDescriptor.java b/inca-translation/languages/STLCN/source_gen/STLCN/behavior/BehaviorAspectDescriptor.java
new file mode 100644
index 0000000000000000000000000000000000000000..e01e650102ce894e654874fed81c771db2586caf
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/behavior/BehaviorAspectDescriptor.java
@@ -0,0 +1,21 @@
+package STLCN.behavior;
+
+/*Generated by MPS */
+
+import jetbrains.mps.core.aspects.behaviour.BaseBehaviorAspectDescriptor;
+import org.jetbrains.annotations.Nullable;
+import jetbrains.mps.core.aspects.behaviour.api.BHDescriptor;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.mps.openapi.language.SAbstractConcept;
+
+public final class BehaviorAspectDescriptor extends BaseBehaviorAspectDescriptor {
+
+ public BehaviorAspectDescriptor() {
+ }
+
+ @Nullable
+ public BHDescriptor getDescriptor(@NotNull SAbstractConcept concept) {
+ SAbstractConcept cncpt = concept;
+ return null;
+ }
+}
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/behavior/trace.info b/inca-translation/languages/STLCN/source_gen/STLCN/behavior/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..0cc590391e2d3a9631ec2b99d46deef73e69d72b
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/behavior/trace.info
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/constraints/ConstraintsAspectDescriptor.java b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/ConstraintsAspectDescriptor.java
new file mode 100644
index 0000000000000000000000000000000000000000..5fa985e3ac9ea12ec2d059b1763df7f74e48300b
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/ConstraintsAspectDescriptor.java
@@ -0,0 +1,30 @@
+package STLCN.constraints;
+
+/*Generated by MPS */
+
+import jetbrains.mps.smodel.runtime.BaseConstraintsAspectDescriptor;
+import jetbrains.mps.smodel.runtime.ConstraintsDescriptor;
+import org.jetbrains.mps.openapi.language.SAbstractConcept;
+import jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor;
+import jetbrains.mps.lang.smodel.ConceptSwitchIndex;
+import jetbrains.mps.lang.smodel.ConceptSwitchIndexBuilder;
+import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;
+
+public class ConstraintsAspectDescriptor extends BaseConstraintsAspectDescriptor {
+ public ConstraintsAspectDescriptor() {
+ }
+
+ @Override
+ public ConstraintsDescriptor getConstraints(SAbstractConcept concept) {
+ SAbstractConcept cncpt = concept;
+ switch (conceptIndex.index(cncpt)) {
+ case 0:
+ return new Lam_Constraints();
+ case 1:
+ return new Var_Constraints();
+ default:
+ }
+ return new BaseConstraintsDescriptor(concept);
+ }
+ private static final ConceptSwitchIndex conceptIndex = new ConceptSwitchIndexBuilder().put(MetaIdFactory.conceptId(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9322L), MetaIdFactory.conceptId(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb92e0L)).seal();
+}
diff --git a/inca-translation/languages/NewLanguage/source_gen/SumTypes/constraints/CCase_Constraints.java b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/Lam_Constraints.java
similarity index 85%
rename from inca-translation/languages/NewLanguage/source_gen/SumTypes/constraints/CCase_Constraints.java
rename to inca-translation/languages/STLCN/source_gen/STLCN/constraints/Lam_Constraints.java
index 5084ba29cb039c17521928b85c6964490fc41e2a..9384fb619cc9d4b6c00afda861202da073539bf4 100644
--- a/inca-translation/languages/NewLanguage/source_gen/SumTypes/constraints/CCase_Constraints.java
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/Lam_Constraints.java
@@ -1,4 +1,4 @@
-package SumTypes.constraints;
+package STLCN.constraints;
/*Generated by MPS */
@@ -13,9 +13,9 @@ import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations;
-public class CCase_Constraints extends BaseConstraintsDescriptor {
- public CCase_Constraints() {
- super(MetaAdapterFactory.getConcept(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, "SumTypes.structure.CCase"));
+public class Lam_Constraints extends BaseConstraintsDescriptor {
+ public Lam_Constraints() {
+ super(MetaAdapterFactory.getConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9322L, "STLCN.structure.Lam"));
}
@Override
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/constraints/Var_Constraints.java b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/Var_Constraints.java
new file mode 100644
index 0000000000000000000000000000000000000000..57a4837ba7dec1e2cb93e81a401bda0f69af46ca
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/Var_Constraints.java
@@ -0,0 +1,37 @@
+package STLCN.constraints;
+
+/*Generated by MPS */
+
+import jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor;
+import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
+import java.util.Map;
+import org.jetbrains.mps.openapi.language.SProperty;
+import jetbrains.mps.smodel.runtime.PropertyConstraintsDescriptor;
+import java.util.HashMap;
+import jetbrains.mps.smodel.runtime.base.BasePropertyConstraintsDescriptor;
+import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;
+import org.jetbrains.mps.openapi.model.SNode;
+import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations;
+
+public class Var_Constraints extends BaseConstraintsDescriptor {
+ public Var_Constraints() {
+ super(MetaAdapterFactory.getConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb92e0L, "STLCN.structure.Var"));
+ }
+
+ @Override
+ protected Map getSpecifiedProperties() {
+ Map properties = new HashMap();
+ properties.put(MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name"), new BasePropertyConstraintsDescriptor(MetaIdFactory.propId(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L), this) {
+ @Override
+ public boolean hasOwnValidator() {
+ return true;
+ }
+ @Override
+ public boolean validateValue(SNode node, String propertyValue) {
+ String propertyName = "name";
+ return (SPropertyOperations.getString(propertyValue)).matches("[a-zA-Z$][a-zA-Z0-9$]*") && !("true".equals((SPropertyOperations.getString(propertyValue)))) && !("false".equals((SPropertyOperations.getString(propertyValue))));
+ }
+ });
+ return properties;
+ }
+}
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/constraints/aspectcps-descriptorclasses.mps b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/aspectcps-descriptorclasses.mps
new file mode 100644
index 0000000000000000000000000000000000000000..0c7ab03a11922e94b69e3dff5ac20103bde2a5aa
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/aspectcps-descriptorclasses.mps
@@ -0,0 +1,1647 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/constraints/checkpoints b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/checkpoints
new file mode 100644
index 0000000000000000000000000000000000000000..1c3d5054dd085ba661b0487cf1893e6e0f86a234
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/checkpoints
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/constraints/trace.info b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/trace.info
new file mode 100644
index 0000000000000000000000000000000000000000..184e22a4726e308dc6bcc43d851fab7bcbd26246
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/constraints/trace.info
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inca-translation/languages/NewLanguage/source_gen/SumTypes/editor/CCase_Editor.java b/inca-translation/languages/STLCN/source_gen/STLCN/editor/Anno_Editor.java
similarity index 67%
rename from inca-translation/languages/NewLanguage/source_gen/SumTypes/editor/CCase_Editor.java
rename to inca-translation/languages/STLCN/source_gen/STLCN/editor/Anno_Editor.java
index 94753d6d02cf5d0ac096988ad3909f0303e8d0f5..3b7a693a5d6a9266099a4b73067469dfdd97c21c 100644
--- a/inca-translation/languages/NewLanguage/source_gen/SumTypes/editor/CCase_Editor.java
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/editor/Anno_Editor.java
@@ -1,4 +1,4 @@
-package SumTypes.editor;
+package STLCN.editor;
/*Generated by MPS */
@@ -7,8 +7,8 @@ import jetbrains.mps.openapi.editor.cells.EditorCell;
import jetbrains.mps.openapi.editor.EditorContext;
import org.jetbrains.mps.openapi.model.SNode;
-public class CCase_Editor extends DefaultNodeEditor {
+public class Anno_Editor extends DefaultNodeEditor {
public EditorCell createEditorCell(EditorContext editorContext, SNode node) {
- return new CCase_EditorBuilder_a(editorContext, node).createCell();
+ return new Anno_EditorBuilder_a(editorContext, node).createCell();
}
}
diff --git a/inca-translation/languages/NewLanguage/source_gen/SumTypes/editor/CCase_EditorBuilder_a.java b/inca-translation/languages/STLCN/source_gen/STLCN/editor/Anno_EditorBuilder_a.java
similarity index 61%
rename from inca-translation/languages/NewLanguage/source_gen/SumTypes/editor/CCase_EditorBuilder_a.java
rename to inca-translation/languages/STLCN/source_gen/STLCN/editor/Anno_EditorBuilder_a.java
index 33b746a2a1a36190ddce19ab5627c37a4a6e8e5d..2b35c5cff10e99d1dc3d8da3965e16fcf655c490 100644
--- a/inca-translation/languages/NewLanguage/source_gen/SumTypes/editor/CCase_EditorBuilder_a.java
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/editor/Anno_EditorBuilder_a.java
@@ -1,4 +1,4 @@
-package SumTypes.editor;
+package STLCN.editor;
/*Generated by MPS */
@@ -9,45 +9,32 @@ import jetbrains.mps.openapi.editor.EditorContext;
import jetbrains.mps.openapi.editor.cells.EditorCell;
import jetbrains.mps.nodeEditor.cells.EditorCell_Collection;
import jetbrains.mps.nodeEditor.cellLayout.CellLayout_Indent;
-import jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes;
+import jetbrains.mps.lang.editor.cellProviders.SingleRoleCellProvider;
+import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
+import org.jetbrains.mps.openapi.language.SContainmentLink;
import jetbrains.mps.openapi.editor.cells.CellActionType;
+import jetbrains.mps.editor.runtime.impl.cellActions.CellAction_DeleteSmart;
+import jetbrains.mps.openapi.editor.cells.DefaultSubstituteInfo;
+import jetbrains.mps.nodeEditor.cellMenu.SEmptyContainmentSubstituteInfo;
+import jetbrains.mps.nodeEditor.cellMenu.SChildSubstituteInfo;
+import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
+import jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes;
import com.mbeddr.mpsutil.grammarcells.runtime.CellActionWithReadAccess;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations;
-import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
import jetbrains.mps.editor.runtime.selection.SelectionUtil;
import jetbrains.mps.openapi.editor.selection.SelectionManager;
-import org.jetbrains.mps.openapi.language.SContainmentLink;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SConceptOperations;
-import org.jetbrains.mps.openapi.language.SProperty;
-import jetbrains.mps.openapi.editor.menus.transformation.SPropertyInfo;
-import jetbrains.mps.nodeEditor.cells.EditorCell_Property;
-import jetbrains.mps.nodeEditor.cells.SPropertyAccessor;
-import jetbrains.mps.editor.runtime.impl.cellActions.CellAction_DeleteSPropertyOrNode;
-import jetbrains.mps.nodeEditor.cellActions.CellAction_DeleteNode;
-import jetbrains.mps.nodeEditor.cellMenu.SPropertySubstituteInfo;
-import jetbrains.mps.lang.smodel.generator.smodelAdapter.AttributeOperations;
-import jetbrains.mps.lang.smodel.generator.smodelAdapter.IAttributeDescriptor;
-import jetbrains.mps.internal.collections.runtime.Sequence;
-import jetbrains.mps.internal.collections.runtime.IWhereFilter;
-import java.util.Objects;
-import jetbrains.mps.lang.core.behavior.PropertyAttribute__BehaviorDescriptor;
-import jetbrains.mps.nodeEditor.EditorManager;
-import jetbrains.mps.openapi.editor.update.AttributeKind;
import jetbrains.mps.nodeEditor.cells.EditorCell_Constant;
-import jetbrains.mps.lang.editor.cellProviders.SingleRoleCellProvider;
-import jetbrains.mps.editor.runtime.impl.cellActions.CellAction_DeleteSmart;
-import jetbrains.mps.openapi.editor.cells.DefaultSubstituteInfo;
-import jetbrains.mps.nodeEditor.cellMenu.SEmptyContainmentSubstituteInfo;
-import jetbrains.mps.nodeEditor.cellMenu.SChildSubstituteInfo;
-import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
+import com.mbeddr.mpsutil.grammarcells.runtime.GrammarCellsUtil;
+import jetbrains.mps.smodel.action.SNodeFactoryOperations;
-/*package*/ class CCase_EditorBuilder_a extends AbstractEditorBuilder {
+/*package*/ class Anno_EditorBuilder_a extends AbstractEditorBuilder {
@NotNull
private SNode myNode;
- public CCase_EditorBuilder_a(@NotNull EditorContext context, @NotNull SNode node) {
+ public Anno_EditorBuilder_a(@NotNull EditorContext context, @NotNull SNode node) {
super(context);
myNode = node;
}
@@ -64,25 +51,80 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
private EditorCell createCollection_0() {
EditorCell_Collection editorCell = new EditorCell_Collection(getEditorContext(), myNode, new CellLayout_Indent());
- editorCell.setCellId("Collection_8otkf0_a");
+ editorCell.setCellId("Collection_mjsv7z_a");
editorCell.setBig(true);
setCellContext(editorCell);
+ editorCell.addEditorCell(createRefNode_0());
editorCell.addEditorCell(createCustomFactory_1());
editorCell.addEditorCell(createCustomFactory_3());
- editorCell.addEditorCell(createRefNode_0());
return editorCell;
}
+ private EditorCell createRefNode_0() {
+ SingleRoleCellProvider provider = new Anno_EditorBuilder_a.tSingleRoleHandler_mjsv7z_a0(myNode, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"), getEditorContext());
+ return provider.createCell();
+ }
+ private static class tSingleRoleHandler_mjsv7z_a0 extends SingleRoleCellProvider {
+ @NotNull
+ private SNode myNode;
+
+ public tSingleRoleHandler_mjsv7z_a0(SNode ownerNode, SContainmentLink containmentLink, EditorContext context) {
+ super(containmentLink, context);
+ myNode = ownerNode;
+ }
+
+ @Override
+ @NotNull
+ public SNode getNode() {
+ return myNode;
+ }
+
+ protected EditorCell createChildCell(SNode child) {
+ EditorCell editorCell = getUpdateSession().updateChildNodeCell(child);
+ editorCell.setAction(CellActionType.DELETE, new CellAction_DeleteSmart(getNode(), MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"), child));
+ editorCell.setAction(CellActionType.BACKSPACE, new CellAction_DeleteSmart(getNode(), MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"), child));
+ installCellInfo(child, editorCell, false);
+ return editorCell;
+ }
+
+
+
+ private void installCellInfo(SNode child, EditorCell editorCell, boolean isEmpty) {
+ if (editorCell.getSubstituteInfo() == null || editorCell.getSubstituteInfo() instanceof DefaultSubstituteInfo) {
+ editorCell.setSubstituteInfo((isEmpty ? new SEmptyContainmentSubstituteInfo(editorCell) : new SChildSubstituteInfo(editorCell)));
+ }
+ if (editorCell.getSRole() == null) {
+ editorCell.setSRole(MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
+ }
+ }
+ @Override
+ protected EditorCell createEmptyCell() {
+ getCellFactory().pushCellContext();
+ getCellFactory().setNodeLocation(new SNodeLocation.FromParentAndLink(getNode(), MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t")));
+ try {
+ EditorCell editorCell = super.createEmptyCell();
+ editorCell.setCellId("empty_t");
+ installCellInfo(null, editorCell, true);
+ setCellContext(editorCell);
+ return editorCell;
+ } finally {
+ getCellFactory().popCellContext();
+ }
+ }
+ protected String getNoTargetText() {
+ return "";
+ }
+ }
private EditorCell createCustomFactory_0(final EditorContext editorContext, final SNode node) {
- final EditorCell cell = createProperty_0();
+ final EditorCell cell = createConstant_0();
EditorCell editorCell = new _FunctionTypes._return_P0_E0() {
public EditorCell invoke() {
cell.setAction(CellActionType.DELETE, new CellActionWithReadAccess() {
public void execute(EditorContext editorContext) {
- SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t")));
- boolean caretLeft = true;
+ SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t")));
+ boolean caretLeft = false;
if (caretLeft) {
SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.FIRST_CELL, 0);
} else {
@@ -91,7 +133,7 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
}
@Override
public boolean canExecute_inReadAction(EditorContext editorContext) {
- SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t"));
+ SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
SContainmentLink containmentLink = node.getContainmentLink();
if (containmentLink == null) {
return true;
@@ -103,8 +145,8 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
cell.setAction(CellActionType.BACKSPACE, new CellActionWithReadAccess() {
public void execute(EditorContext editorContext) {
- SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t")));
- boolean caretLeft = true;
+ SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t")));
+ boolean caretLeft = false;
if (caretLeft) {
SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.FIRST_CELL, 0);
} else {
@@ -113,7 +155,7 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
}
@Override
public boolean canExecute_inReadAction(EditorContext editorContext) {
- SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t"));
+ SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
SContainmentLink containmentLink = node.getContainmentLink();
if (containmentLink == null) {
return true;
@@ -130,44 +172,32 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
private EditorCell createCustomFactory_1() {
return createCustomFactory_0(getEditorContext(), myNode);
}
- private EditorCell createProperty_0() {
- getCellFactory().pushCellContext();
- try {
- final SProperty property = MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name");
- getCellFactory().setPropertyInfo(new SPropertyInfo(myNode, property));
- EditorCell_Property editorCell = EditorCell_Property.create(getEditorContext(), new SPropertyAccessor(myNode, property, false, false), myNode);
- editorCell.setDefaultText("");
- editorCell.setAction(CellActionType.DELETE, new CellAction_DeleteSPropertyOrNode(myNode, property, CellAction_DeleteNode.DeleteDirection.FORWARD));
- editorCell.setAction(CellActionType.BACKSPACE, new CellAction_DeleteSPropertyOrNode(myNode, property, CellAction_DeleteNode.DeleteDirection.BACKWARD));
- editorCell.setCellId("property_name");
- editorCell.setSubstituteInfo(new SPropertySubstituteInfo(editorCell, property));
- setCellContext(editorCell);
- Iterable propertyAttributes = SNodeOperations.ofConcept(AttributeOperations.getAttributeList(myNode, new IAttributeDescriptor.AllAttributes()), MetaAdapterFactory.getConcept(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2eb1ad060897da56L, "jetbrains.mps.lang.core.structure.PropertyAttribute"));
- Iterable currentPropertyAttributes = Sequence.fromIterable(propertyAttributes).where(new IWhereFilter() {
- public boolean accept(SNode it) {
- return Objects.equals(PropertyAttribute__BehaviorDescriptor.getProperty_id1avfQ4BBzOo.invoke(it), property);
- }
- });
- if (Sequence.fromIterable(currentPropertyAttributes).isNotEmpty()) {
- EditorManager manager = EditorManager.getInstanceFromContext(getEditorContext());
- return manager.createNodeRoleAttributeCell(Sequence.fromIterable(currentPropertyAttributes).first(), AttributeKind.PROPERTY, editorCell);
- } else
- return editorCell;
- } finally {
- getCellFactory().popCellContext();
- }
+ private EditorCell createConstant_0() {
+ EditorCell_Constant editorCell = new EditorCell_Constant(getEditorContext(), myNode, ":");
+ editorCell.setCellId("Constant_mjsv7z_a1a");
+ editorCell.setDefaultText("");
+ return editorCell;
}
private EditorCell createCustomFactory_2(final EditorContext editorContext, final SNode node) {
- final EditorCell cell = createConstant_0();
+ final EditorCell cell = createRefNode_1();
EditorCell editorCell = new _FunctionTypes._return_P0_E0() {
public EditorCell invoke() {
cell.setAction(CellActionType.DELETE, new CellActionWithReadAccess() {
public void execute(EditorContext editorContext) {
+ {
+ // replace with placeholder
+ SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"));
+ SAbstractConcept childConcept = SNodeOperations.getConcept(child);
+ if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")))) {
+ SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"), null);
+ return;
+ }
+ }
- SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t")));
- boolean caretLeft = true;
+ SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t")));
+ boolean caretLeft = false;
if (caretLeft) {
SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.FIRST_CELL, 0);
} else {
@@ -176,7 +206,7 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
}
@Override
public boolean canExecute_inReadAction(EditorContext editorContext) {
- SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t"));
+ SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
SContainmentLink containmentLink = node.getContainmentLink();
if (containmentLink == null) {
return true;
@@ -187,9 +217,18 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
});
cell.setAction(CellActionType.BACKSPACE, new CellActionWithReadAccess() {
public void execute(EditorContext editorContext) {
+ {
+ // replace with placeholder
+ SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"));
+ SAbstractConcept childConcept = SNodeOperations.getConcept(child);
+ if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")))) {
+ SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"), null);
+ return;
+ }
+ }
- SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t")));
- boolean caretLeft = true;
+ SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t")));
+ boolean caretLeft = false;
if (caretLeft) {
SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.FIRST_CELL, 0);
} else {
@@ -198,7 +237,7 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
}
@Override
public boolean canExecute_inReadAction(EditorContext editorContext) {
- SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t"));
+ SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
SContainmentLink containmentLink = node.getContainmentLink();
if (containmentLink == null) {
return true;
@@ -215,21 +254,15 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
private EditorCell createCustomFactory_3() {
return createCustomFactory_2(getEditorContext(), myNode);
}
- private EditorCell createConstant_0() {
- EditorCell_Constant editorCell = new EditorCell_Constant(getEditorContext(), myNode, "->");
- editorCell.setCellId("Constant_8otkf0_a1a");
- editorCell.setDefaultText("");
- return editorCell;
- }
- private EditorCell createRefNode_0() {
- SingleRoleCellProvider provider = new CCase_EditorBuilder_a.tSingleRoleHandler_8otkf0_c0(myNode, MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t"), getEditorContext());
+ private EditorCell createRefNode_1() {
+ SingleRoleCellProvider provider = new Anno_EditorBuilder_a.tySingleRoleHandler_mjsv7z_a2a(myNode, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"), getEditorContext());
return provider.createCell();
}
- private static class tSingleRoleHandler_8otkf0_c0 extends SingleRoleCellProvider {
+ private static class tySingleRoleHandler_mjsv7z_a2a extends SingleRoleCellProvider {
@NotNull
private SNode myNode;
- public tSingleRoleHandler_8otkf0_c0(SNode ownerNode, SContainmentLink containmentLink, EditorContext context) {
+ public tySingleRoleHandler_mjsv7z_a2a(SNode ownerNode, SContainmentLink containmentLink, EditorContext context) {
super(containmentLink, context);
myNode = ownerNode;
}
@@ -242,8 +275,8 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
protected EditorCell createChildCell(SNode child) {
EditorCell editorCell = getUpdateSession().updateChildNodeCell(child);
- editorCell.setAction(CellActionType.DELETE, new CellAction_DeleteSmart(getNode(), MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t"), child));
- editorCell.setAction(CellActionType.BACKSPACE, new CellAction_DeleteSmart(getNode(), MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t"), child));
+ editorCell.setAction(CellActionType.DELETE, new CellAction_DeleteSmart(getNode(), MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"), child));
+ editorCell.setAction(CellActionType.BACKSPACE, new CellAction_DeleteSmart(getNode(), MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"), child));
installCellInfo(child, editorCell, false);
return editorCell;
}
@@ -255,16 +288,16 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
editorCell.setSubstituteInfo((isEmpty ? new SEmptyContainmentSubstituteInfo(editorCell) : new SChildSubstituteInfo(editorCell)));
}
if (editorCell.getSRole() == null) {
- editorCell.setSRole(MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t"));
+ editorCell.setSRole(MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"));
}
}
@Override
protected EditorCell createEmptyCell() {
getCellFactory().pushCellContext();
- getCellFactory().setNodeLocation(new SNodeLocation.FromParentAndLink(getNode(), MetaAdapterFactory.getContainmentLink(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, 0x1a4a252762eba8afL, "t")));
+ getCellFactory().setNodeLocation(new SNodeLocation.FromParentAndLink(getNode(), MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty")));
try {
EditorCell editorCell = super.createEmptyCell();
- editorCell.setCellId("empty_t");
+ editorCell.setCellId("empty_ty");
installCellInfo(null, editorCell, true);
setCellContext(editorCell);
return editorCell;
@@ -273,7 +306,7 @@ import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
}
}
protected String getNoTargetText() {
- return "";
+ return "";
}
}
}
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/editor/App_Editor.java b/inca-translation/languages/STLCN/source_gen/STLCN/editor/App_Editor.java
new file mode 100644
index 0000000000000000000000000000000000000000..e08bf1fe555e64c77641d91b5ab66fda57147365
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/editor/App_Editor.java
@@ -0,0 +1,14 @@
+package STLCN.editor;
+
+/*Generated by MPS */
+
+import jetbrains.mps.nodeEditor.DefaultNodeEditor;
+import jetbrains.mps.openapi.editor.cells.EditorCell;
+import jetbrains.mps.openapi.editor.EditorContext;
+import org.jetbrains.mps.openapi.model.SNode;
+
+public class App_Editor extends DefaultNodeEditor {
+ public EditorCell createEditorCell(EditorContext editorContext, SNode node) {
+ return new App_EditorBuilder_a(editorContext, node).createCell();
+ }
+}
diff --git a/inca-translation/languages/STLCN/source_gen/STLCN/editor/App_EditorBuilder_a.java b/inca-translation/languages/STLCN/source_gen/STLCN/editor/App_EditorBuilder_a.java
new file mode 100644
index 0000000000000000000000000000000000000000..3acba20d505d0e56f43f789120cd3e7a075d941f
--- /dev/null
+++ b/inca-translation/languages/STLCN/source_gen/STLCN/editor/App_EditorBuilder_a.java
@@ -0,0 +1,377 @@
+package STLCN.editor;
+
+/*Generated by MPS */
+
+import jetbrains.mps.editor.runtime.descriptor.AbstractEditorBuilder;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.mps.openapi.model.SNode;
+import jetbrains.mps.openapi.editor.EditorContext;
+import jetbrains.mps.openapi.editor.cells.EditorCell;
+import jetbrains.mps.nodeEditor.cells.EditorCell_Collection;
+import jetbrains.mps.nodeEditor.cellLayout.CellLayout_Indent;
+import jetbrains.mps.lang.editor.cellProviders.SingleRoleCellProvider;
+import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
+import org.jetbrains.mps.openapi.language.SContainmentLink;
+import jetbrains.mps.openapi.editor.cells.CellActionType;
+import jetbrains.mps.editor.runtime.impl.cellActions.CellAction_DeleteSmart;
+import jetbrains.mps.openapi.editor.cells.DefaultSubstituteInfo;
+import jetbrains.mps.nodeEditor.cellMenu.SEmptyContainmentSubstituteInfo;
+import jetbrains.mps.nodeEditor.cellMenu.SChildSubstituteInfo;
+import jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation;
+import jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes;
+import com.mbeddr.mpsutil.grammarcells.runtime.CellActionWithReadAccess;
+import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations;
+import jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations;
+import jetbrains.mps.editor.runtime.selection.SelectionUtil;
+import jetbrains.mps.openapi.editor.selection.SelectionManager;
+import org.jetbrains.mps.openapi.language.SAbstractConcept;
+import jetbrains.mps.lang.smodel.generator.smodelAdapter.SConceptOperations;
+import jetbrains.mps.nodeEditor.cells.EditorCell_Constant;
+import com.mbeddr.mpsutil.grammarcells.runtime.GrammarCellsUtil;
+import jetbrains.mps.smodel.action.SNodeFactoryOperations;
+
+/*package*/ class App_EditorBuilder_a extends AbstractEditorBuilder {
+ @NotNull
+ private SNode myNode;
+
+ public App_EditorBuilder_a(@NotNull EditorContext context, @NotNull SNode node) {
+ super(context);
+ myNode = node;
+ }
+
+ @NotNull
+ @Override
+ public SNode getNode() {
+ return myNode;
+ }
+
+ /*package*/ EditorCell createCell() {
+ return createCollection_0();
+ }
+
+ private EditorCell createCollection_0() {
+ EditorCell_Collection editorCell = new EditorCell_Collection(getEditorContext(), myNode, new CellLayout_Indent());
+ editorCell.setCellId("Collection_g38wqt_a");
+ editorCell.setBig(true);
+ setCellContext(editorCell);
+ editorCell.addEditorCell(createRefNode_0());
+ editorCell.addEditorCell(createCustomFactory_1());
+ editorCell.addEditorCell(createCustomFactory_3());
+ editorCell.addEditorCell(createCustomFactory_5());
+ return editorCell;
+ }
+ private EditorCell createRefNode_0() {
+ SingleRoleCellProvider provider = new App_EditorBuilder_a.t1SingleRoleHandler_g38wqt_a0(myNode, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1"), getEditorContext());
+ return provider.createCell();
+ }
+ private static class t1SingleRoleHandler_g38wqt_a0 extends SingleRoleCellProvider {
+ @NotNull
+ private SNode myNode;
+
+ public t1SingleRoleHandler_g38wqt_a0(SNode ownerNode, SContainmentLink containmentLink, EditorContext context) {
+ super(containmentLink, context);
+ myNode = ownerNode;
+ }
+
+ @Override
+ @NotNull
+ public SNode getNode() {
+ return myNode;
+ }
+
+ protected EditorCell createChildCell(SNode child) {
+ EditorCell editorCell = getUpdateSession().updateChildNodeCell(child);
+ editorCell.setAction(CellActionType.DELETE, new CellAction_DeleteSmart(getNode(), MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1"), child));
+ editorCell.setAction(CellActionType.BACKSPACE, new CellAction_DeleteSmart(getNode(), MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1"), child));
+ installCellInfo(child, editorCell, false);
+ return editorCell;
+ }
+
+
+
+ private void installCellInfo(SNode child, EditorCell editorCell, boolean isEmpty) {
+ if (editorCell.getSubstituteInfo() == null || editorCell.getSubstituteInfo() instanceof DefaultSubstituteInfo) {
+ editorCell.setSubstituteInfo((isEmpty ? new SEmptyContainmentSubstituteInfo(editorCell) : new SChildSubstituteInfo(editorCell)));
+ }
+ if (editorCell.getSRole() == null) {
+ editorCell.setSRole(MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1"));
+ }
+ }
+ @Override
+ protected EditorCell createEmptyCell() {
+ getCellFactory().pushCellContext();
+ getCellFactory().setNodeLocation(new SNodeLocation.FromParentAndLink(getNode(), MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1")));
+ try {
+ EditorCell editorCell = super.createEmptyCell();
+ editorCell.setCellId("empty_t1");
+ installCellInfo(null, editorCell, true);
+ setCellContext(editorCell);
+ return editorCell;
+ } finally {
+ getCellFactory().popCellContext();
+ }
+ }
+ protected String getNoTargetText() {
+ return "";
+ }
+ }
+ private EditorCell createCustomFactory_0(final EditorContext editorContext, final SNode node) {
+
+
+ final EditorCell cell = createConstant_0();
+ EditorCell editorCell = new _FunctionTypes._return_P0_E0() {
+ public EditorCell invoke() {
+ cell.setAction(CellActionType.DELETE, new CellActionWithReadAccess() {
+ public void execute(EditorContext editorContext) {
+
+ SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1")));
+ boolean caretLeft = false;
+ if (caretLeft) {
+ SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.FIRST_CELL, 0);
+ } else {
+ SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.LAST_CELL, -1);
+ }
+ }
+ @Override
+ public boolean canExecute_inReadAction(EditorContext editorContext) {
+ SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1"));
+ SContainmentLink containmentLink = node.getContainmentLink();
+ if (containmentLink == null) {
+ return true;
+ }
+ SAbstractConcept expectedConcept = containmentLink.getTargetConcept();
+ return expectedConcept == null || SConceptOperations.isSubConceptOf(SNodeOperations.asSConcept(SNodeOperations.getConcept(replacement)), SNodeOperations.asSConcept(expectedConcept));
+ }
+ });
+ cell.setAction(CellActionType.BACKSPACE, new CellActionWithReadAccess() {
+ public void execute(EditorContext editorContext) {
+
+ SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1")));
+ boolean caretLeft = false;
+ if (caretLeft) {
+ SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.FIRST_CELL, 0);
+ } else {
+ SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.LAST_CELL, -1);
+ }
+ }
+ @Override
+ public boolean canExecute_inReadAction(EditorContext editorContext) {
+ SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1"));
+ SContainmentLink containmentLink = node.getContainmentLink();
+ if (containmentLink == null) {
+ return true;
+ }
+ SAbstractConcept expectedConcept = containmentLink.getTargetConcept();
+ return expectedConcept == null || SConceptOperations.isSubConceptOf(SNodeOperations.asSConcept(SNodeOperations.getConcept(replacement)), SNodeOperations.asSConcept(expectedConcept));
+ }
+ });
+ return cell;
+ }
+ }.invoke();
+ return editorCell;
+ }
+ private EditorCell createCustomFactory_1() {
+ return createCustomFactory_0(getEditorContext(), myNode);
+ }
+ private EditorCell createConstant_0() {
+ EditorCell_Constant editorCell = new EditorCell_Constant(getEditorContext(), myNode, "(");
+ editorCell.setCellId("Constant_g38wqt_a1a");
+ editorCell.setDefaultText("");
+ return editorCell;
+ }
+ private EditorCell createCustomFactory_2(final EditorContext editorContext, final SNode node) {
+
+
+ final EditorCell cell = createRefNode_1();
+ EditorCell editorCell = new _FunctionTypes._return_P0_E0() {
+ public EditorCell invoke() {
+ cell.setAction(CellActionType.DELETE, new CellActionWithReadAccess() {
+ public void execute(EditorContext editorContext) {
+ {
+ // replace with placeholder
+ SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"));
+ SAbstractConcept childConcept = SNodeOperations.getConcept(child);
+ if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb92d1L, "STLCN.structure.Term")))) {
+ SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"), null);
+ return;
+ }
+ }
+
+ SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1")));
+ boolean caretLeft = false;
+ if (caretLeft) {
+ SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.FIRST_CELL, 0);
+ } else {
+ SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.LAST_CELL, -1);
+ }
+ }
+ @Override
+ public boolean canExecute_inReadAction(EditorContext editorContext) {
+ SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1"));
+ SContainmentLink containmentLink = node.getContainmentLink();
+ if (containmentLink == null) {
+ return true;
+ }
+ SAbstractConcept expectedConcept = containmentLink.getTargetConcept();
+ return expectedConcept == null || SConceptOperations.isSubConceptOf(SNodeOperations.asSConcept(SNodeOperations.getConcept(replacement)), SNodeOperations.asSConcept(expectedConcept));
+ }
+ });
+ cell.setAction(CellActionType.BACKSPACE, new CellActionWithReadAccess() {
+ public void execute(EditorContext editorContext) {
+ {
+ // replace with placeholder
+ SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"));
+ SAbstractConcept childConcept = SNodeOperations.getConcept(child);
+ if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb92d1L, "STLCN.structure.Term")))) {
+ SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"), null);
+ return;
+ }
+ }
+
+ SNode unwrapped = SNodeOperations.replaceWithAnother(node, SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1")));
+ boolean caretLeft = false;
+ if (caretLeft) {
+ SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.FIRST_CELL, 0);
+ } else {
+ SelectionUtil.selectLabelCellAnSetCaret(editorContext, unwrapped, SelectionManager.LAST_CELL, -1);
+ }
+ }
+ @Override
+ public boolean canExecute_inReadAction(EditorContext editorContext) {
+ SNode replacement = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9374