[570407] Run more tests
diff --git a/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/compiler/CompiledUnit.java b/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/compiler/CompiledUnit.java
index f9aa1f0..60376a7 100644
--- a/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/compiler/CompiledUnit.java
+++ b/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/compiler/CompiledUnit.java
@@ -97,6 +97,9 @@
if(registry != null) {
rs.setPackageRegistry(registry);
}
+
+ rs.setURIResourceMap(new PlatformNamespaceUriResourceMap(rs));
+
return rs;
}
diff --git a/tests/org.eclipse.m2m.tests.qvt.oml/parserTestData/models/bug570407/bug570407.ecore b/tests/org.eclipse.m2m.tests.qvt.oml/parserTestData/models/bug570407/bug570407.ecore
new file mode 100644
index 0000000..63c201c
--- /dev/null
+++ b/tests/org.eclipse.m2m.tests.qvt.oml/parserTestData/models/bug570407/bug570407.ecore
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="bug570407" nsURI="http://www.bug570407.ecore" nsPrefix="bug570407">
+ <eClassifiers xsi:type="ecore:EClass" name="TestClass">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ref" eType="ecore:EClass platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.m2m.tests.qvt.oml/parserTestData/models/bug570407/bug570407.qvto b/tests/org.eclipse.m2m.tests.qvt.oml/parserTestData/models/bug570407/bug570407.qvto
new file mode 100644
index 0000000..3bfa4b6
--- /dev/null
+++ b/tests/org.eclipse.m2m.tests.qvt.oml/parserTestData/models/bug570407/bug570407.qvto
@@ -0,0 +1,14 @@
+modeltype bug570407 uses "http://www.bug570407.ecore";
+modeltype ECORE uses 'http://www.eclipse.org/emf/2002/Ecore';
+
+transformation bug570407;
+
+main() {
+ var c = object ecore::EClass {};
+
+ var tc = object TestClass {
+ ref := c;
+ };
+
+ assert fatal (tc.ref = c);
+}
diff --git a/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/transform/TransformTests.java b/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/transform/TransformTests.java
index c0a2c48..17871cc 100644
--- a/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/transform/TransformTests.java
+++ b/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/transform/TransformTests.java
@@ -596,7 +596,8 @@
blackboxRegistry.registerModule(AnnotatedJavaLibrary.class, "org.bar.Foo", "Bug566216_Lib");
}
},
- new PluginDependencyProjectData("bug573659", "bug573659_referenced") //$NON-NLS-1$ //$NON-NLS-2$
+ new PluginDependencyProjectData("bug573659", "bug573659_referenced"), //$NON-NLS-1$ //$NON-NLS-2$
+ new FilesToFilesData("bug570407").includeMetamodelFile("bug570407.ecore"),
};
}
diff --git a/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/transform/javaless/JavalessQvtTest.java b/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/transform/javaless/JavalessQvtTest.java
index e86c41a..4426738 100644
--- a/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/transform/javaless/JavalessQvtTest.java
+++ b/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/transform/javaless/JavalessQvtTest.java
@@ -153,8 +153,10 @@
"bug463572", //$NON-NLS-1$
// use of Eclipse project references or plug-in dependencies requires patching across multiple projects
- "bug433937", "bug573659" //$NON-NLS-1$ //$NON-NLS-2$
+ "bug433937", "bug573659", //$NON-NLS-1$ //$NON-NLS-2$
+ // use of custom metamodel that refers to Ecore by means of a platform URI
+ "bug570407" //$NON-NLS-1$
}));
private static final Set<String> JAVALESS_PATCH_OUTPUT = new HashSet<String>(Arrays.asList(new String[] {