| <?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="bug543187" nsURI="http://Bug543187" nsPrefix="bug543187"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/> |
| <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/> |
| <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/> |
| </eAnnotations> |
| <eClassifiers xsi:type="ecore:EClass" name="ModelElement" abstract="true" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="referenced" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
| changeable="false" volatile="true" transient="true" defaultValueLiteral="false" derived="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="derivation" value="self.Link->notEmpty()"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Link" abstract="true" eSuperTypes="#//NamedElement"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="IsReferenced"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="IsReferenced" value="to.referenced = true"/> |
| </eAnnotations> |
| <eTypeParameters name="T"> |
| <eBounds eClassifier="#//ModelElement"/> |
| </eTypeParameters> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1"> |
| <eGenericType eTypeParameter="#//Link/T"/> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Mapping"> |
| <eTypeParameters name="T"> |
| <eBounds eClassifier="#//ModelElement"/> |
| </eTypeParameters> |
| <eGenericSuperTypes eClassifier="#//Link"> |
| <eTypeArguments eTypeParameter="#//Mapping/T"/> |
| </eGenericSuperTypes> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="MyElement" eSuperTypes="#//ModelElement"/> |
| <eClassifiers xsi:type="ecore:EClass" name="MyMapping"> |
| <eGenericSuperTypes eClassifier="#//Mapping"> |
| <eTypeArguments eClassifier="#//ModelElement"/> |
| </eGenericSuperTypes> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Root"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="UnReferenced"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="UnReferenced" value="let links = elements->selectByKind(Link), modelElements = elements->selectByKind(ModelElement)
			 in modelElements->excludingAll(links.to->asSet())->forAll(not referenced)"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="elements" ordered="false" upperBound="-1" eType="#//NamedElement" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| </ecore:EPackage> |