[579313] Workaround inadequate metatype support
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib
index 7b3697e..53f5eca 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperativeLibrary.oclstdlib
@@ -2,11 +2,11 @@
 
 library qvtruntimelibrary : qvtrtlib = 'http://www.eclipse.org/qvt/2019/QVTruntimeLibrary'
 {
-type Model : TypedModel {
+type Model /* : Class TypedModel --FIXME Bug 579313 */ {
 	operation allObjects() : ocl::Set(ocl::OclElement) => 'org.eclipse.qvtd.runtime.library.model.AllObjectsOperation';
 	operation objectsOfKind(TT)(type : typeof(TT)) : ocl::Set(TT) => 'org.eclipse.qvtd.runtime.library.model.ModelObjectsOfKindOperation';
 	operation objectsOfType(TT)(type : typeof(TT)) : ocl::Set(TT) => 'org.eclipse.qvtd.runtime.library.model.ModelObjectsOfTypeOperation';
 	operation rootObjects() : ocl::Set(ocl::OclElement) => 'org.eclipse.qvtd.runtime.library.model.RootObjectsOperation';
 }
-type Transformation : Transformation {}
+type Transformation /* : Class Transformation --FIXME Bug 579313 */ {}
 }
diff --git a/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/qvtruntimelibrary/QVTruntimeLibraryPackage.java b/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/qvtruntimelibrary/QVTruntimeLibraryPackage.java
index b2daf79..9307340 100644
--- a/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/qvtruntimelibrary/QVTruntimeLibraryPackage.java
+++ b/plugins/org.eclipse.qvtd.runtime/emf-gen/org/eclipse/qvtd/runtime/qvtruntimelibrary/QVTruntimeLibraryPackage.java
@@ -295,11 +295,11 @@
 	protected void createEmofAnnotations() {
 		String source = "http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"; //$NON-NLS-1$
 		addAnnotation
-		  (getExtent_Elements(),
-		   source,
-		   new String[] {
-			   "body", "extent" //$NON-NLS-1$ //$NON-NLS-2$
-		   });
+		(getExtent_Elements(),
+			source,
+			new String[] {
+				"body", "extent" //$NON-NLS-1$ //$NON-NLS-2$
+		});
 	}
 
 	/**
diff --git a/plugins/org.eclipse.qvtd.runtime/model/QVTruntimeLibrary.oclstdlib b/plugins/org.eclipse.qvtd.runtime/model/QVTruntimeLibrary.oclstdlib
index 11ce6a0..573eafd 100644
--- a/plugins/org.eclipse.qvtd.runtime/model/QVTruntimeLibrary.oclstdlib
+++ b/plugins/org.eclipse.qvtd.runtime/model/QVTruntimeLibrary.oclstdlib
@@ -4,7 +4,7 @@
 
 library qvtruntimelibrary : qvtrtlib = 'http://www.eclipse.org/qvt/2019/QVTruntimeLibrary'
 {
-	type PseudoOperations : Class {
+	type PseudoOperations /* : Class --FIXME Bug 579313  */ {
 		/**
 		 * The PseudoOperations::collection(items) pseudo-operation provides items to allow a collection construction to be treated
 		 * as an Operation within QVTs.
@@ -65,9 +65,9 @@
 		 */
 		static operation _'type'(V)(_'type' : V[?]) : ocl::TypeExp[1];
 	}
-	type Extent : Class {
+	type Extent /* : Class --FIXME Bug 579313  */ {
 		property elements : ocl::OrderedSet(ocl::OclElement) opposite extent : Extent[?];
 	}
-	type Model : TypedModel {}
-	type Transformation : Transformation {}
+	type Model /* : TypedModel --FIXME Bug 579313 */ {}
+	type Transformation /* : Transformation --FIXME Bug 579313 */ {}
 }
diff --git a/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/QVTruntimeLibraryTests.java b/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/QVTruntimeLibraryTests.java
index 02e42df..2ac1b37 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/QVTruntimeLibraryTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/QVTruntimeLibraryTests.java
@@ -207,9 +207,9 @@
 		JavaClassScope.getAdapter(xtextResource, classLoader);
 		ocl.getEnvironmentFactory().adapt(xtextResource);
 		xtextResource.load(null);
+		assertNoResourceErrors("Load failed", xtextResource);
 		CS2AS cs2as = xtextResource.findCS2AS();
 		assert cs2as != null;
-		assertNoResourceErrors("Load failed", xtextResource);
 		Resource fileResource = cs2as.getASResource();
 		assertNoResourceErrors("File Model", fileResource);
 		assertNoUnresolvedProxies("File Model", fileResource);