Skip to content

Commit

Permalink
Revert "Clean up m3 metamodel (#917)" (#918)
Browse files Browse the repository at this point in the history
This reverts commit 2b94210.
pierredebelen authored Jan 15, 2025
1 parent e8bcebb commit 8da9c6c
Showing 7 changed files with 29 additions and 42 deletions.
Original file line number Diff line number Diff line change
@@ -2562,7 +2562,7 @@ private Constraint constraint(CoreInstance owner, ConstraintContext ctx, int pos
Instance.setValueForProperty(constraintFunctionLambda, M3Properties.classifierGenericType, lambdaGenericType, this.processorSupport);
Instance.setValueForProperty(functionType, M3Properties.function, constraintFunctionLambda, this.processorSupport);

Constraint constraint = ConstraintInstance.createPersistent(this.repository, null, null);
Constraint constraint = ConstraintInstance.createPersistent(this.repository, null, null, null);
constraint.setSourceInformation(constraintSourceInformation);
constraint._name(constraintName);
if (constraintOwner != null)

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -85,7 +85,7 @@ public void testPlatformSerialization() throws IOException
}
}
String m3BinaryPath = PureRepositoryJarTools.purePathToBinaryPath("/platform/pure/grammar/m3.pure");
for (String instancePath : Lists.mutable.with("meta", "meta::pure", "meta::pure::metamodel::relation", "meta::pure::functions", "meta::pure::functions::lang", "meta::pure::metamodel", "meta::pure::metamodel::constraint", "meta::pure::metamodel::extension", "meta::pure::metamodel::function", "meta::pure::metamodel::function::property", "meta::pure::metamodel::import", "meta::pure::metamodel::multiplicity", "meta::pure::metamodel::relationship", "meta::pure::metamodel::treepath", "meta::pure::metamodel::type", "meta::pure::metamodel::type::generics", "meta::pure::metamodel::valuespecification", "meta::pure::router", "meta::pure::tools", "system", "system::imports", "meta::pure::metamodel::testable"))
for (String instancePath : Lists.mutable.with("meta", "meta::pure", "meta::pure::metamodel::relation", "meta::pure::functions", "meta::pure::functions::lang", "meta::pure::metamodel", "meta::pure::metamodel::constraint", "meta::pure::metamodel::extension", "meta::pure::metamodel::function", "meta::pure::metamodel::function::property", "meta::pure::metamodel::import", "meta::pure::metamodel::multiplicity", "meta::pure::metamodel::relationship", "meta::pure::metamodel::treepath", "meta::pure::metamodel::type", "meta::pure::metamodel::type::generics", "meta::pure::metamodel::valuespecification", "meta::pure::router", "meta::pure::tools", "system", "system::imports", "meta::pure::test"))
{
expectedDefinitionIndex.put(instancePath, m3BinaryPath);
}
Original file line number Diff line number Diff line change
@@ -323,7 +323,7 @@ public void testTreePath()
public void testM3Serialization()
{
Source source = runtime.getSourceById("/platform/pure/grammar/m3.pure");
SetIterable<String> expectedInstances = collectInstancePaths(source.getNewInstances(), Sets.mutable.with("meta", "meta::pure", "meta::pure::metamodel::relation", "meta::pure::functions", "meta::pure::functions::lang", "meta::pure::metamodel", "meta::pure::metamodel::extension", "meta::pure::metamodel::function", "meta::pure::metamodel::function::property", "meta::pure::metamodel::import", "meta::pure::metamodel::multiplicity", "meta::pure::metamodel::relationship", "meta::pure::metamodel::treepath", "meta::pure::metamodel::type", "meta::pure::metamodel::type::generics", "meta::pure::metamodel::constraint", "meta::pure::metamodel::valuespecification", "meta::pure::router", "meta::pure::tools", "system", "system::imports", "meta::pure::metamodel::testable"));
SetIterable<String> expectedInstances = collectInstancePaths(source.getNewInstances(), Sets.mutable.with("meta", "meta::pure", "meta::pure::metamodel::relation", "meta::pure::functions", "meta::pure::functions::lang", "meta::pure::metamodel", "meta::pure::metamodel::extension", "meta::pure::metamodel::function", "meta::pure::metamodel::function::property", "meta::pure::metamodel::import", "meta::pure::metamodel::multiplicity", "meta::pure::metamodel::relationship", "meta::pure::metamodel::treepath", "meta::pure::metamodel::type", "meta::pure::metamodel::type::generics", "meta::pure::metamodel::constraint", "meta::pure::metamodel::valuespecification", "meta::pure::router", "meta::pure::tools", "system", "system::imports", "meta::pure::test"));
SetIterable<String> expectedReferences = Sets.mutable.with();

Pair<SourceSerializationResult, byte[]> serializationResult = serializeSource(source);
@@ -359,7 +359,7 @@ public void testPlatformSerialization()
expectedInstances.addAllIterable(importGroupsByBaseName.get(Source.formatForImportGroupId(source.getId())));
if ("/platform/pure/grammar/m3.pure".equals(source.getId()))
{
expectedInstances.addAllIterable(Lists.mutable.with("meta", "meta::pure", "meta::pure::functions", "meta::pure::metamodel::relation", "meta::pure::functions::lang", "meta::pure::metamodel", "meta::pure::metamodel::constraint", "meta::pure::metamodel::extension", "meta::pure::metamodel::function", "meta::pure::metamodel::function::property", "meta::pure::metamodel::import", "meta::pure::metamodel::multiplicity", "meta::pure::metamodel::relationship", "meta::pure::metamodel::treepath", "meta::pure::metamodel::type", "meta::pure::metamodel::type::generics", "meta::pure::metamodel::valuespecification", "meta::pure::router", "meta::pure::tools", "system", "system::imports", "meta::pure::metamodel::testable"));
expectedInstances.addAllIterable(Lists.mutable.with("meta", "meta::pure", "meta::pure::functions", "meta::pure::metamodel::relation", "meta::pure::functions::lang", "meta::pure::metamodel", "meta::pure::metamodel::constraint", "meta::pure::metamodel::extension", "meta::pure::metamodel::function", "meta::pure::metamodel::function::property", "meta::pure::metamodel::import", "meta::pure::metamodel::multiplicity", "meta::pure::metamodel::relationship", "meta::pure::metamodel::treepath", "meta::pure::metamodel::type", "meta::pure::metamodel::type::generics", "meta::pure::metamodel::valuespecification", "meta::pure::router", "meta::pure::tools", "system", "system::imports", "meta::pure::test"));
}

Pair<SourceSerializationResult, byte[]> serializationResult = serializeSource(source);
Original file line number Diff line number Diff line change
@@ -116,7 +116,7 @@ public void testLineInfoForDynamicInstanceGeneratedM3()
CoreInstance classifierGenericType = propertiesByName.get("classifierGenericType");
Assert.assertNotNull(classifierGenericType);
// Note: these source coordinates may change if m3.pure changes
assertSourceInformation("/platform/pure/grammar/m3.pure", 1096, 13, 1096, 126, 1103, 17, classifierGenericType.getSourceInformation());
assertSourceInformation("/platform/pure/grammar/m3.pure", 1092, 13, 1092, 126, 1099, 17, classifierGenericType.getSourceInformation());

// Test function
CoreInstance func = runtime.getCoreInstance("pkg1::pkg2::printSomething__Any_1_");
@@ -136,7 +136,7 @@ public void testLineInfoForDynamicInstanceGeneratedM3()
Assert.assertNotNull(funcType);
Assert.assertEquals(M3Paths.ConcreteFunctionDefinition, PackageableElement.getUserPathForPackageableElement(funcType, "::"));
// Note: these source coordinates may change if m3.pure changes
assertSourceInformation("/platform/pure/grammar/m3.pure", 2355, 1, 2355, 88, 2379, 1, funcType.getSourceInformation());
assertSourceInformation("/platform/pure/grammar/m3.pure", 2350, 1, 2350, 88, 2374, 1, funcType.getSourceInformation());
}

@Test
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ import meta::pure::store::*;
import meta::pure::tools::*;
import meta::pure::functions::collection::*;
import meta::pure::mapping::aggregationAware::*;
import meta::pure::metamodel::testable::*;
import meta::pure::test::*;
import meta::pure::metamodel::relation::*;

// Mapping
Original file line number Diff line number Diff line change
@@ -38,7 +38,7 @@ public void testKeyIndex()
.withKey("Root::meta::pure::metamodel::extension::ElementWithConstraints", "constraints")
.withKey("Root::meta::pure::metamodel::extension::ElementWithStereotypes", "stereotypes")
.withKey("Root::meta::pure::metamodel::extension::ElementWithTaggedValues", "taggedValues")
.withKey("Root::meta::pure::metamodel::testable::Testable", "tests")
.withKey("Root::meta::pure::test::Testable", "tests")
.withKeys("Root::meta::pure::metamodel::type::Type", "generalizations", "name", "specializations")
.withKeys("Root::meta::pure::metamodel::type::Class", "multiplicityParameters", "originalMilestonedProperties", "properties", "propertiesFromAssociations", "qualifiedProperties", "qualifiedPropertiesFromAssociations", "typeParameters")
.withKeys("Root::meta::pure::metamodel::PackageableElement", "package", "referenceUsages")
@@ -62,7 +62,7 @@ public void testKeyIndex()
index.getRealKeyByName("taggedValues"));

Assert.assertEquals(
Lists.immutable.with("Root", "children", "meta", "children", "pure", "children", "metamodel", "children", "testable", "children", "Testable", "properties", "tests"),
Lists.immutable.with("Root", "children", "meta", "children", "pure", "children", "test", "children", "Testable", "properties", "tests"),
index.getRealKeyByName("tests"));

Assert.assertEquals(

0 comments on commit 8da9c6c

Please sign in to comment.