blob: 48efbc5c401f820f69eb2fa3daf367e2fc4ff6f0 [file] [log] [blame]
<?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)&#xA;&#x9;&#x9;&#x9; 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>