diff --git a/.mps/modules.xml b/.mps/modules.xml
index 3168245..c52372a 100644
--- a/.mps/modules.xml
+++ b/.mps/modules.xml
@@ -10,6 +10,7 @@
+
diff --git a/build.xml b/build.xml
index ec64d39..fef4905 100644
--- a/build.xml
+++ b/build.xml
@@ -2820,6 +2820,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3011,6 +3070,7 @@
+
@@ -3030,6 +3090,7 @@
+
@@ -3171,7 +3232,7 @@
-
+
@@ -3333,6 +3394,7 @@
+
@@ -5594,6 +5656,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5769,7 +5874,7 @@
-
+
@@ -5810,6 +5915,7 @@
+
@@ -6062,6 +6168,7 @@
+
@@ -6157,6 +6264,7 @@
+
diff --git a/languages/io.lionweb.mps.converter.TestEnum/io.lionweb.mps.converter.TestEnum.mpl b/languages/io.lionweb.mps.converter.TestEnum/io.lionweb.mps.converter.TestEnum.mpl
new file mode 100644
index 0000000..f99025d
--- /dev/null
+++ b/languages/io.lionweb.mps.converter.TestEnum/io.lionweb.mps.converter.TestEnum.mpl
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/languages/io.lionweb.mps.converter.TestEnum/models/io.lionweb.mps.converter.TestEnum.behavior.mps b/languages/io.lionweb.mps.converter.TestEnum/models/io.lionweb.mps.converter.TestEnum.behavior.mps
new file mode 100644
index 0000000..b3649d3
--- /dev/null
+++ b/languages/io.lionweb.mps.converter.TestEnum/models/io.lionweb.mps.converter.TestEnum.behavior.mps
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/languages/io.lionweb.mps.converter.TestEnum/models/io.lionweb.mps.converter.TestEnum.structure.mps b/languages/io.lionweb.mps.converter.TestEnum/models/io.lionweb.mps.converter.TestEnum.structure.mps
new file mode 100644
index 0000000..e584b14
--- /dev/null
+++ b/languages/io.lionweb.mps.converter.TestEnum/models/io.lionweb.mps.converter.TestEnum.structure.mps
@@ -0,0 +1,331 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/solutions/io.lionweb.mps.build/models/io.lionweb.mps.build.mps b/solutions/io.lionweb.mps.build/models/io.lionweb.mps.build.mps
index 1d881ff..bd09621 100644
--- a/solutions/io.lionweb.mps.build/models/io.lionweb.mps.build.mps
+++ b/solutions/io.lionweb.mps.build/models/io.lionweb.mps.build.mps
@@ -3585,6 +3585,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3942,6 +3997,11 @@
+
+
+
+
+
diff --git a/solutions/io.lionweb.mps.json.test.support/models/io.lionweb.mps.json.test.support.mps b/solutions/io.lionweb.mps.json.test.support/models/io.lionweb.mps.json.test.support.mps
index bd478da..397cf84 100644
--- a/solutions/io.lionweb.mps.json.test.support/models/io.lionweb.mps.json.test.support.mps
+++ b/solutions/io.lionweb.mps.json.test.support/models/io.lionweb.mps.json.test.support.mps
@@ -26,6 +26,7 @@
+
@@ -80,6 +81,7 @@
+
@@ -96,6 +98,7 @@
+
@@ -120,6 +123,7 @@
+
@@ -180,6 +184,7 @@
+
@@ -318,6 +323,7 @@
+
@@ -880,6 +886,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -907,6 +929,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -986,6 +1027,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1083,6 +1157,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1623,7 +1861,523 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/solutions/io.lionweb.mps.json.test/io.lionweb.mps.json.test.msd b/solutions/io.lionweb.mps.json.test/io.lionweb.mps.json.test.msd
index e5ee174..cc0f370 100644
--- a/solutions/io.lionweb.mps.json.test/io.lionweb.mps.json.test.msd
+++ b/solutions/io.lionweb.mps.json.test/io.lionweb.mps.json.test.msd
@@ -34,6 +34,7 @@
3ecd737b-418b-4a70-a991-f6b83f0e3247(io.lionweb.mps.converter.TestAbstract)
3f233e7f-b8a6-46d2-a57f-795d56775243(Annotations)
60791ea2-7a1d-4862-a1ef-f87878cc3b6e(io.lionweb.mps.converter.TestComputedProperty)
+ 1ec6d5e7-6402-4c18-95d0-6e0906eb1ff1(io.lionweb.mps.converter.TestEnum)
@@ -41,6 +42,7 @@
+
@@ -72,6 +74,7 @@
+
diff --git a/solutions/io.lionweb.mps.json.test/models/io.lionweb.mps.json.test.json2lionweb@tests.mps b/solutions/io.lionweb.mps.json.test/models/io.lionweb.mps.json.test.json2lionweb@tests.mps
index 8ee848c..416d208 100644
--- a/solutions/io.lionweb.mps.json.test/models/io.lionweb.mps.json.test.json2lionweb@tests.mps
+++ b/solutions/io.lionweb.mps.json.test/models/io.lionweb.mps.json.test.json2lionweb@tests.mps
@@ -19,12 +19,13 @@
+
-
+
@@ -40,6 +41,9 @@
+
+
+
@@ -118,6 +122,10 @@
+
+
+
+
@@ -453,6 +461,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -550,6 +590,9 @@
+
+
+
@@ -1770,6 +1813,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1944,6 +2037,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2488,6 +2631,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2672,6 +2865,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7479,6 +7722,273 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -9921,5 +10431,995 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/solutions/io.lionweb.mps.json.test/resources/TestLang-instance.json b/solutions/io.lionweb.mps.json.test/resources/TestLang-instance.json
index 0ff6a06..6881b86 100644
--- a/solutions/io.lionweb.mps.json.test/resources/TestLang-instance.json
+++ b/solutions/io.lionweb.mps.json.test/resources/TestLang-instance.json
@@ -45,7 +45,7 @@
"version": "0",
"key": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDY0NTEvMjU4NTM3ODE2NTk3MzIwODMyMA"
},
- "value": "2fx6VTSSzTB/TestLiteral1"
+ "value": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDQ1ODIvMjU4NTM3ODE2NTk3MzIwNDU4Mw"
},
{
"property": {
@@ -134,7 +134,7 @@
"version": "0",
"key": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDY0NTEvMjU4NTM3ODE2NTk3MzIwODMyMA"
},
- "value": "2fx6VTSSzUf/TestLiteral2"
+ "value": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDQ1ODIvMjU4NTM3ODE2NTk3MzIwNDYyMw"
},
{
"property": {
@@ -245,7 +245,7 @@
"version": "0",
"key": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDY0NTEvMjU4NTM3ODE2NTk3MzIwODMyMA"
},
- "value": "2fx6VTSSzTB/TestLiteral1"
+ "value": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDQ1ODIvMjU4NTM3ODE2NTk3MzIwNDU4Mw"
},
{
"property": {
@@ -358,7 +358,7 @@
"version": "0",
"key": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDY0NTEvMjU4NTM3ODE2NTk3MzIwODMyMA"
},
- "value": "2fx6VTSSzUf/TestLiteral2"
+ "value": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDQ1ODIvMjU4NTM3ODE2NTk3MzIwNDYyMw"
},
{
"property": {
@@ -483,7 +483,7 @@
"version": "0",
"key": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDY0NTEvMjU4NTM3ODE2NTk3MzIwODMyMA"
},
- "value": "2fx6VTSSzTB/TestLiteral1"
+ "value": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDQ1ODIvMjU4NTM3ODE2NTk3MzIwNDU4Mw"
},
{
"property": {
@@ -580,7 +580,7 @@
"version": "0",
"key": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDY0NTEvMjU4NTM3ODE2NTk3MzIwODMyMA"
},
- "value": "2fx6VTSSzUf/TestLiteral2"
+ "value": "MDhjYWFkNzUtODI0Ni00NDI3LWJiNGQtODQ0NGI2YzVjNzI5LzI1ODUzNzgxNjU5NzMyMDQ1ODIvMjU4NTM3ODE2NTk3MzIwNDYyMw"
},
{
"property": {
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyOptional_setWithKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyOptional_setWithKey.json
new file mode 100644
index 0000000..10095ce
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyOptional_setWithKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODE"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithKeyOptional_setWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODEvMzI0MDQ3NTQxMDMzMjk1MTcwOA"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODEvMzI0MDQ3NTQxMDMzMjk1MTcxMg"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODEvMzI0MDQ3NTQxMDMzMjk1MTcxOA"
+ },
+ "value": "key-literalWithKey"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyOptional_setWithoutKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyOptional_setWithoutKey.json
new file mode 100644
index 0000000..3672480
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyOptional_setWithoutKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODE"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithKeyOptional_setWithoutKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODEvMzI0MDQ3NTQxMDMzMjk1MTcwOA"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2ODMvMzI0MDQ3NTQxMDMzMjk1MTY4Ng"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODEvMzI0MDQ3NTQxMDMzMjk1MTcxMg"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2ODgvMzI0MDQ3NTQxMDMzMjk1MTY5MQ"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODEvMzI0MDQ3NTQxMDMzMjk1MTcxOA"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODQvMzI0MDQ3NTQxMDMzMjk1MTI4Ng"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyOptional_unset.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyOptional_unset.json
new file mode 100644
index 0000000..b28e9f9
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyOptional_unset.json
@@ -0,0 +1,53 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODE"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithKeyOptional_unset"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODEvMzI0MDQ3NTQxMDMzMjk1MTcwOA"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODEvMzI0MDQ3NTQxMDMzMjk1MTcxMg"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2ODgvMzI0MDQ3NTQxMDMzMjk1MTY5MQ"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyRequired_setWithKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyRequired_setWithKey.json
new file mode 100644
index 0000000..eabb0b5
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyRequired_setWithKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjY"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithKeyRequired_setWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjYvMzI0MDQ3NTQxMDMzMjk1MTcyNw"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjYvMzI0MDQ3NTQxMDMzMjk1MTcyOQ"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjYvMzI0MDQ3NTQxMDMzMjk1MTczMQ"
+ },
+ "value": "key-literalWithKey"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyRequired_setWithoutKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyRequired_setWithoutKey.json
new file mode 100644
index 0000000..f559821
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyRequired_setWithoutKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjY"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithKeyRequired_setWithoutKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjYvMzI0MDQ3NTQxMDMzMjk1MTcyNw"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2ODMvMzI0MDQ3NTQxMDMzMjk1MTY4Ng"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjYvMzI0MDQ3NTQxMDMzMjk1MTcyOQ"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2ODgvMzI0MDQ3NTQxMDMzMjk1MTY5MQ"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjYvMzI0MDQ3NTQxMDMzMjk1MTczMQ"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODQvMzI0MDQ3NTQxMDMzMjk1MTI4Ng"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyRequired_unset.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyRequired_unset.json
new file mode 100644
index 0000000..e95f334
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyRequired_unset.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjY"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithKeyRequired_unset"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjYvMzI0MDQ3NTQxMDMzMjk1MTcyNw"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjYvMzI0MDQ3NTQxMDMzMjk1MTcyOQ"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2ODgvMzI0MDQ3NTQxMDMzMjk1MTY5MQ"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MjYvMzI0MDQ3NTQxMDMzMjk1MTczMQ"
+ },
+ "value": null
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyUnset_setWithKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyUnset_setWithKey.json
new file mode 100644
index 0000000..d026b32
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyUnset_setWithKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzc"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithKeyUnset_setWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzcvMzI0MDQ3NTQxMDMzMjk5MzM0MA"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzcvMzI0MDQ3NTQxMDMzMjk5MzM0Mg"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzcvMzI0MDQ3NTQxMDMzMjk5MzMzOA"
+ },
+ "value": "key-literalWithKey"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyUnset_setWithoutKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyUnset_setWithoutKey.json
new file mode 100644
index 0000000..d8b63de
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyUnset_setWithoutKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzc"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithKeyUnset_setWithoutKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzcvMzI0MDQ3NTQxMDMzMjk5MzM0MA"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2ODgvMzI0MDQ3NTQxMDMzMjk1MTY5MQ"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzcvMzI0MDQ3NTQxMDMzMjk5MzM0Mg"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTEyODQvMzI0MDQ3NTQxMDMzMjk1MTI4Ng"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzcvMzI0MDQ3NTQxMDMzMjk5MzMzOA"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2ODMvMzI0MDQ3NTQxMDMzMjk1MTY4Ng"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyUnset_unset.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyUnset_unset.json
new file mode 100644
index 0000000..9725339
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithKeyUnset_unset.json
@@ -0,0 +1,53 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzc"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithKeyUnset_unset"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzcvMzI0MDQ3NTQxMDMzMjk5MzM0MA"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2ODgvMzI0MDQ3NTQxMDMzMjk1MTY5MQ"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzMzcvMzI0MDQ3NTQxMDMzMjk5MzMzOA"
+ },
+ "value": "key-literalWithKey"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyOptional_setWithKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyOptional_setWithKey.json
new file mode 100644
index 0000000..1c77ead
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyOptional_setWithKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQ"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithoutKeyOptional_setWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQvMzI0MDQ3NTQxMDMzMjk1MTczNQ"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQvMzI0MDQ3NTQxMDMzMjk1MTczNw"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQvMzI0MDQ3NTQxMDMzMjk1MTczOQ"
+ },
+ "value": "key-literalWithKey"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyOptional_setWithoutKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyOptional_setWithoutKey.json
new file mode 100644
index 0000000..e68392e
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyOptional_setWithoutKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQ"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithoutKeyOptional_setWithoutKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQvMzI0MDQ3NTQxMDMzMjk1MTczNQ"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2OTMvMzI0MDQ3NTQxMDMzMjk1MTY5Ng"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQvMzI0MDQ3NTQxMDMzMjk1MTczNw"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2OTgvMzI0MDQ3NTQxMDMzMjk1MTcwMQ"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQvMzI0MDQ3NTQxMDMzMjk1MTczOQ"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MDMvMzI0MDQ3NTQxMDMzMjk1MTcwNg"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyOptional_unset.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyOptional_unset.json
new file mode 100644
index 0000000..180111f
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyOptional_unset.json
@@ -0,0 +1,53 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQ"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithoutKeyOptional_unset"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQvMzI0MDQ3NTQxMDMzMjk1MTczNQ"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MzQvMzI0MDQ3NTQxMDMzMjk1MTczNw"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2OTgvMzI0MDQ3NTQxMDMzMjk1MTcwMQ"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyRequired_setWithKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyRequired_setWithKey.json
new file mode 100644
index 0000000..9c33139
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyRequired_setWithKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDI"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithoutKeyRequired_setWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDIvMzI0MDQ3NTQxMDMzMjk1MTc0Mw"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDIvMzI0MDQ3NTQxMDMzMjk1MTc0NQ"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDIvMzI0MDQ3NTQxMDMzMjk1MTc0Nw"
+ },
+ "value": "key-literalWithKey"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyRequired_setWithoutKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyRequired_setWithoutKey.json
new file mode 100644
index 0000000..85b1a34
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyRequired_setWithoutKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDI"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithoutKeyRequired_setWithoutKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDIvMzI0MDQ3NTQxMDMzMjk1MTc0Mw"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2OTMvMzI0MDQ3NTQxMDMzMjk1MTY5Ng"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDIvMzI0MDQ3NTQxMDMzMjk1MTc0NQ"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2OTgvMzI0MDQ3NTQxMDMzMjk1MTcwMQ"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDIvMzI0MDQ3NTQxMDMzMjk1MTc0Nw"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MDMvMzI0MDQ3NTQxMDMzMjk1MTcwNg"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyRequired_unset.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyRequired_unset.json
new file mode 100644
index 0000000..600762d
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyRequired_unset.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDI"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithoutKeyRequired_unset"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDIvMzI0MDQ3NTQxMDMzMjk1MTc0Mw"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDIvMzI0MDQ3NTQxMDMzMjk1MTc0NQ"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2OTgvMzI0MDQ3NTQxMDMzMjk1MTcwMQ"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3NDIvMzI0MDQ3NTQxMDMzMjk1MTc0Nw"
+ },
+ "value": null
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyUnset_setWithKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyUnset_setWithKey.json
new file mode 100644
index 0000000..b7eae7b
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyUnset_setWithKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTM"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithoutKeyUnset_setWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTMvMzI0MDQ3NTQxMDMzMjk5MzM1NA"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTMvMzI0MDQ3NTQxMDMzMjk5MzM1Ng"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTMvMzI0MDQ3NTQxMDMzMjk5MzM1OA"
+ },
+ "value": "key-literalWithKey"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyUnset_setWithoutKey.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyUnset_setWithoutKey.json
new file mode 100644
index 0000000..34c6e57
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyUnset_setWithoutKey.json
@@ -0,0 +1,61 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTM"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithoutKeyUnset_setWithoutKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTMvMzI0MDQ3NTQxMDMzMjk5MzM1NA"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2OTMvMzI0MDQ3NTQxMDMzMjk1MTY5Ng"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTMvMzI0MDQ3NTQxMDMzMjk5MzM1Ng"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2OTgvMzI0MDQ3NTQxMDMzMjk1MTcwMQ"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTMvMzI0MDQ3NTQxMDMzMjk5MzM1OA"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE3MDMvMzI0MDQ3NTQxMDMzMjk1MTcwNg"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyUnset_unset.json b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyUnset_unset.json
new file mode 100644
index 0000000..0b9b653
--- /dev/null
+++ b/solutions/io.lionweb.mps.json.test/resources/enumLiterals-EnumHostWithoutKeyUnset_unset.json
@@ -0,0 +1,53 @@
+{
+ "serializationFormatVersion": "2023.1",
+ "languages": [
+ {
+ "key": "LionCore-builtins",
+ "version": "2023.1"
+ },
+ {
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0"
+ }
+ ],
+ "nodes": [
+ {
+ "id": "{id-host}",
+ "classifier": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTM"
+ },
+ "properties": [
+ {
+ "property": {
+ "language": "LionCore-builtins",
+ "version": "2023.1",
+ "key": "LionCore-builtins-INamed-name"
+ },
+ "value": "EnumHostWithoutKeyUnset_unset"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTMvMzI0MDQ3NTQxMDMzMjk5MzM1NA"
+ },
+ "value": "key-literalWithKey"
+ },
+ {
+ "property": {
+ "language": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYx",
+ "version": "0",
+ "key": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5OTMzNTMvMzI0MDQ3NTQxMDMzMjk5MzM1Ng"
+ },
+ "value": "MWVjNmQ1ZTctNjQwMi00YzE4LTk1ZDAtNmUwOTA2ZWIxZmYxLzMyNDA0NzU0MTAzMzI5NTE2OTgvMzI0MDQ3NTQxMDMzMjk1MTcwMQ"
+ }
+ ],
+ "containments": [],
+ "references": [],
+ "annotations": [],
+ "parent": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/solutions/io.lionweb.mps.json.test/resources/test2-keyed.json b/solutions/io.lionweb.mps.json.test/resources/test2-keyed.json
index b53f456..30fc4e6 100644
--- a/solutions/io.lionweb.mps.json.test/resources/test2-keyed.json
+++ b/solutions/io.lionweb.mps.json.test/resources/test2-keyed.json
@@ -25,7 +25,7 @@
"version": "0",
"key": "My-KeyedProp"
},
- "value": "4R9pospAHRH/keyed"
+ "value": "My-EnumLiteralKeyed"
},
{
"property": {
@@ -33,7 +33,7 @@
"version": "0",
"key": "NDhkMGY2ZWItNjE4Ni00Y2VjLTgzZDEtN2NhZWRiMDVhNDk0LzU2MDUxMjI4NDIxNTg3NDI5MzIvNTYwNTEyMjg0MjE2Mzg1NzA0OA"
},
- "value": "4R9pospAHRA/keyed"
+ "value": "My-EnumLiteralUnkeyed"
}
],
"containments": [
diff --git a/solutions/io.lionweb.mps.json.test/resources/test2-unkeyed.json b/solutions/io.lionweb.mps.json.test/resources/test2-unkeyed.json
index d1c5d17..b5ee3a2 100644
--- a/solutions/io.lionweb.mps.json.test/resources/test2-unkeyed.json
+++ b/solutions/io.lionweb.mps.json.test/resources/test2-unkeyed.json
@@ -25,7 +25,7 @@
"version": "0",
"key": "My-UnkeyedProp"
},
- "value": "4R9pospAHRG/unkeyed"
+ "value": "NDhkMGY2ZWItNjE4Ni00Y2VjLTgzZDEtN2NhZWRiMDVhNDk0LzU2MDUxMjI4NDIxNjM4NjMwMTkvNTYwNTEyMjg0MjE2Mzg2MzAyMA"
},
{
"property": {
@@ -33,7 +33,7 @@
"version": "0",
"key": "NDhkMGY2ZWItNjE4Ni00Y2VjLTgzZDEtN2NhZWRiMDVhNDk0LzU2MDUxMjI4NDIxNTg3ODAyODAvNTYwNTEyMjg0MjE2Mzg1NzA2OA"
},
- "value": "4R9pospAHR_/unkeyed"
+ "value": "NDhkMGY2ZWItNjE4Ni00Y2VjLTgzZDEtN2NhZWRiMDVhNDk0LzU2MDUxMjI4NDIxNjM4NjMwMTIvNTYwNTEyMjg0MjE2Mzg2MzAxMw"
}
],
"containments": [
diff --git a/solutions/io.lionweb.mps.json.test/resources/test3-keyed.json b/solutions/io.lionweb.mps.json.test/resources/test3-keyed.json
index 28649a3..6dd474b 100644
--- a/solutions/io.lionweb.mps.json.test/resources/test3-keyed.json
+++ b/solutions/io.lionweb.mps.json.test/resources/test3-keyed.json
@@ -21,7 +21,7 @@
"version": "0",
"key": "MDk5NDkwYTMtMWUzOS00ZWQxLWJlYmMtODAyNzY2NWNlY2Y5LzU2MDUxMjI4NDIxNTg3NDI5MzIvNTYwNTEyMjg0MjE2Mzg1NzA0OA"
},
- "value": "4R9pospAHRA/keyed"
+ "value": "My-EnumLiteralUnkeyed"
},
{
"property": {
@@ -29,7 +29,7 @@
"version": "0",
"key": "My-KeyedProp"
},
- "value": "4R9pospAHRH/keyed"
+ "value": "My-EnumLiteralKeyed"
}
],
"containments": [
diff --git a/solutions/io.lionweb.mps.json.test/resources/test3-unkeyed.json b/solutions/io.lionweb.mps.json.test/resources/test3-unkeyed.json
index 4873009..55ae67a 100644
--- a/solutions/io.lionweb.mps.json.test/resources/test3-unkeyed.json
+++ b/solutions/io.lionweb.mps.json.test/resources/test3-unkeyed.json
@@ -21,7 +21,7 @@
"version": "0",
"key": "MDk5NDkwYTMtMWUzOS00ZWQxLWJlYmMtODAyNzY2NWNlY2Y5LzU2MDUxMjI4NDIxNTg3ODAyODAvNTYwNTEyMjg0MjE2Mzg1NzA2OA"
},
- "value": "4R9pospAHR_/unkeyed"
+ "value": "MDk5NDkwYTMtMWUzOS00ZWQxLWJlYmMtODAyNzY2NWNlY2Y5LzU2MDUxMjI4NDIxNjM4NjMwMTIvNTYwNTEyMjg0MjE2Mzg2MzAxMw"
},
{
"property": {
@@ -29,7 +29,7 @@
"version": "0",
"key": "My-UnkeyedProp"
},
- "value": "4R9pospAHRG/unkeyed"
+ "value": "MDk5NDkwYTMtMWUzOS00ZWQxLWJlYmMtODAyNzY2NWNlY2Y5LzU2MDUxMjI4NDIxNjM4NjMwMTkvNTYwNTEyMjg0MjE2Mzg2MzAyMA"
}
],
"containments": [
diff --git a/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.instance.lionweb2mps.mps b/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.instance.lionweb2mps.mps
index 5601ed3..73e0613 100644
--- a/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.instance.lionweb2mps.mps
+++ b/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.instance.lionweb2mps.mps
@@ -1004,22 +1004,102 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.instance.mps2lionweb.mps b/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.instance.mps2lionweb.mps
index c783a3d..3169ecb 100644
--- a/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.instance.mps2lionweb.mps
+++ b/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.instance.mps2lionweb.mps
@@ -340,6 +340,14 @@
+
+
+
+
+
+
+
+
@@ -566,6 +574,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -658,6 +679,15 @@
+
+
+
+
+
+
+
+
+
@@ -2163,6 +2193,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2196,8 +2256,23 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3889,6 +3964,9 @@
+
+
+
@@ -3912,6 +3990,15 @@
+
+
+
+
+
+
+
+
+
@@ -4137,6 +4224,9 @@
+
+
+
@@ -4160,6 +4250,15 @@
+
+
+
+
+
+
+
+
+
@@ -4373,6 +4472,9 @@
+
+
+
@@ -4396,6 +4498,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.mps b/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.mps
index eb08e7e..59d2503 100644
--- a/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.mps
+++ b/solutions/io.lionweb.mps.json/models/io.lionweb.mps.json.mps
@@ -3202,6 +3202,9 @@
+
+
+
@@ -3244,6 +3247,9 @@
+
+
+
@@ -3287,6 +3293,9 @@
+
+
+