blob: ae8810817a0aee1826505a4105c32cc4ef5a12f5 [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="dom"
nsURI="http:///org/eclipse/dltk/javascript/core/dom/dom.ecore" nsPrefix="org.eclipse.dltk.javascript.core.dom">
<eClassifiers xsi:type="ecore:EClass" name="Node" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="begin" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="-1"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="end" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="-1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Identifier" eSuperTypes="#//Node #//IPropertyName #//IPropertySelector #//IProperty">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations>
<details key="value" value="1"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VariableReference" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" lowerBound="1"
eType="#//Identifier" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Label" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations>
<details key="value" value="1"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" eSuperTypes="#//Node #//IArrayElement #//IForInitializer"/>
<eClassifiers xsi:type="ecore:EClass" name="NullLiteral" eSuperTypes="#//Expression"/>
<eClassifiers xsi:type="ecore:EClass" name="BooleanLiteral" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations>
<details key="value" value="1"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NumericLiteral" eSuperTypes="#//Expression #//IPropertyName">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations>
<details key="value" value="1"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Expression #//IPropertyName">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations>
<details key="value" value="1"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RegularExpressionLiteral" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations>
<details key="value" value="1"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ThisExpression" eSuperTypes="#//Expression"/>
<eClassifiers xsi:type="ecore:EClass" name="ArrayLiteral" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
eType="#//IArrayElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IArrayElement" abstract="true" interface="true"
eSuperTypes="#//Node"/>
<eClassifiers xsi:type="ecore:EClass" name="Elision" eSuperTypes="#//IArrayElement"/>
<eClassifiers xsi:type="ecore:EClass" name="ObjectLiteral" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
eType="#//PropertyAssignment" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PropertyAssignment" abstract="true"
eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EReference" name="name" lowerBound="1" eType="#//IPropertyName"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IPropertyName" abstract="true" interface="true"
eSuperTypes="#//Node"/>
<eClassifiers xsi:type="ecore:EClass" name="SimplePropertyAssignment" eSuperTypes="#//PropertyAssignment">
<eStructuralFeatures xsi:type="ecore:EReference" name="initializer" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AccessorAssignment" abstract="true"
eSuperTypes="#//PropertyAssignment">
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//BlockStatement"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GetterAssignment" eSuperTypes="#//AccessorAssignment"/>
<eClassifiers xsi:type="ecore:EClass" name="SetterAssignment" eSuperTypes="#//AccessorAssignment">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
eType="#//Identifier" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParenthesizedExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="enclosed" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ArrayAccessExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="array" lowerBound="1" eType="#//Expression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="index" lowerBound="1" eType="#//Expression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PropertyAccessExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="property" lowerBound="1"
eType="#//IProperty" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NewExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="constructor" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CallExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="applicant" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="argument" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" lowerBound="1"
eType="#//UnaryOperator"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="UnaryOperator">
<eLiterals name="postfixInc" value="1"/>
<eLiterals name="postfixDec" value="2" literal="postfixDec"/>
<eLiterals name="delete" value="3"/>
<eLiterals name="void" value="4" literal="void"/>
<eLiterals name="typeof" value="5"/>
<eLiterals name="prefixInc" value="6" literal="++"/>
<eLiterals name="prefixDec" value="7" literal="--"/>
<eLiterals name="unaryPlus" value="8" literal="+"/>
<eLiterals name="numNeg" value="9" literal="-"/>
<eLiterals name="bwNot" value="10" literal="~"/>
<eLiterals name="not" value="11" literal="!"/>
<eLiterals name="yield" value="12" literal="yield"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="left" lowerBound="1" eType="#//Expression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="right" lowerBound="1" eType="#//Expression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" lowerBound="1"
eType="#//BinaryOperator"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operatorPosition" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator">
<eLiterals name="mul" value="1" literal="*"/>
<eLiterals name="div" value="2" literal="/"/>
<eLiterals name="mod" value="3" literal="%"/>
<eLiterals name="add" value="4" literal="+"/>
<eLiterals name="sub" value="5" literal="-"/>
<eLiterals name="lsh" value="6" literal="&lt;&lt;"/>
<eLiterals name="rsh" value="7" literal=">>"/>
<eLiterals name="ursh" value="8" literal=">>>"/>
<eLiterals name="less" value="9" literal="&lt;"/>
<eLiterals name="greater" value="10" literal=">"/>
<eLiterals name="leq" value="11" literal="&lt;="/>
<eLiterals name="geq" value="12" literal=">="/>
<eLiterals name="instanceof" value="13"/>
<eLiterals name="in" value="14"/>
<eLiterals name="eq" value="15" literal="=="/>
<eLiterals name="neq" value="16" literal="!="/>
<eLiterals name="same" value="17" literal="==="/>
<eLiterals name="nsame" value="18" literal="!=="/>
<eLiterals name="bwAnd" value="19" literal="&amp;"/>
<eLiterals name="bwXor" value="20" literal="^"/>
<eLiterals name="bwOr" value="21" literal="|"/>
<eLiterals name="logAnd" value="22" literal="&amp;&amp;"/>
<eLiterals name="logOr" value="23" literal="||"/>
<eLiterals name="assign" value="24" literal="="/>
<eLiterals name="mulAssign" value="25" literal="*="/>
<eLiterals name="divAssign" value="26" literal="/="/>
<eLiterals name="modAssign" value="27" literal="%="/>
<eLiterals name="addAssign" value="28" literal="+="/>
<eLiterals name="subAssign" value="29" literal="-="/>
<eLiterals name="lshAssign" value="30" literal="&lt;&lt;="/>
<eLiterals name="rshAssign" value="31" literal=">>="/>
<eLiterals name="urshAssign" value="32" literal=">>>="/>
<eLiterals name="andAssign" value="33" literal="&amp;="/>
<eLiterals name="xorAssign" value="34" literal="^="/>
<eLiterals name="orAssign" value="35" literal="|="/>
<eLiterals name="comma" value="36" literal=","/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConditionalExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="predicate" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="consequent" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="alternative" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" eSuperTypes="#//Node"/>
<eClassifiers xsi:type="ecore:EClass" name="BlockStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
eType="#//Statement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VariableStatement" eSuperTypes="#//Statement #//IForInitializer">
<eStructuralFeatures xsi:type="ecore:EReference" name="declarations" lowerBound="1"
upperBound="-1" eType="#//VariableDeclaration" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VariableDeclaration" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EReference" name="identifier" lowerBound="1"
eType="#//Identifier" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="initializer" eType="#//Expression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EmptyStatement" eSuperTypes="#//Statement"/>
<eClassifiers xsi:type="ecore:EClass" name="ExpressionStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IfStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="predicate" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="consequent" lowerBound="1"
eType="#//Statement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="alternative" eType="#//Statement"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IterationStatement" abstract="true"
eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//Statement"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DoStatement" eSuperTypes="#//IterationStatement">
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WhileStatement" eSuperTypes="#//IterationStatement">
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ForStatement" eSuperTypes="#//IterationStatement">
<eStructuralFeatures xsi:type="ecore:EReference" name="initialization" lowerBound="1"
eType="#//IForInitializer" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="increment" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IForInitializer" abstract="true" interface="true"
eSuperTypes="#//Node"/>
<eClassifiers xsi:type="ecore:EClass" name="ForInStatement" eSuperTypes="#//IterationStatement">
<eStructuralFeatures xsi:type="ecore:EReference" name="item" lowerBound="1" eType="#//IForInitializer"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="collection" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ContinueStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="label" eType="#//Label"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BreakStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="label" eType="#//Label"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReturnStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WithStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1"
eType="#//Statement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SwitchStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="selector" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
eType="#//SwitchElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SwitchElement" abstract="true" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
eType="#//Statement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CaseClause" eSuperTypes="#//SwitchElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DefaultClause" eSuperTypes="#//SwitchElement"/>
<eClassifiers xsi:type="ecore:EClass" name="LabeledStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="label" lowerBound="1" eType="#//Label"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1"
eType="#//Statement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ThrowStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="exception" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TryStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//BlockStatement"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="catches" upperBound="-1"
eType="#//CatchClause" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="finallyClause" eType="#//FinallyClause"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CatchClause" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EReference" name="exception" lowerBound="1"
eType="#//Identifier" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="filter" eType="#//Expression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//BlockStatement"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FinallyClause" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//BlockStatement"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FunctionExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="documentation" eType="#//Comment"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="identifier" eType="#//Identifier"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//Parameter" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//BlockStatement"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="parametersPosition" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EReference" name="name" lowerBound="1" eType="#//Identifier"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Source" eSuperTypes="#//Node">
<eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
eType="#//Statement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConstStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="declarations" lowerBound="1"
upperBound="-1" eType="#//VariableDeclaration" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PropertyIdentifier" abstract="true"
eSuperTypes="#//Expression #//IProperty"/>
<eClassifiers xsi:type="ecore:EClass" name="IProperty" abstract="true" interface="true"
eSuperTypes="#//Node"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlInitializer" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="fragments" lowerBound="1"
upperBound="-1" eType="#//XmlFragment" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttributeIdentifier" eSuperTypes="#//PropertyIdentifier">
<eStructuralFeatures xsi:type="ecore:EReference" name="selector" lowerBound="1"
eType="#//ISelector" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ISelector" abstract="true" interface="true"
eSuperTypes="#//Node"/>
<eClassifiers xsi:type="ecore:EClass" name="QualifiedIdentifier" eSuperTypes="#//PropertyIdentifier #//ISelector">
<eStructuralFeatures xsi:type="ecore:EReference" name="namespace" lowerBound="1"
eType="#//IPropertySelector" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="member" lowerBound="1"
eType="#//IUnqualifiedSelector" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IUnqualifiedSelector" abstract="true"
interface="true" eSuperTypes="#//ISelector"/>
<eClassifiers xsi:type="ecore:EClass" name="WildcardIdentifier" eSuperTypes="#//PropertyIdentifier #//IPropertySelector"/>
<eClassifiers xsi:type="ecore:EClass" name="IPropertySelector" abstract="true" interface="true"
eSuperTypes="#//IUnqualifiedSelector"/>
<eClassifiers xsi:type="ecore:EClass" name="ExpressionSelector" eSuperTypes="#//IUnqualifiedSelector">
<eStructuralFeatures xsi:type="ecore:EReference" name="index" lowerBound="1" eType="#//Expression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XmlFragment" abstract="true" eSuperTypes="#//Node"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlTextFragment" eSuperTypes="#//XmlFragment">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XmlExpressionFragment" eSuperTypes="#//XmlFragment">
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DescendantAccessExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="property" lowerBound="1"
eType="#//IProperty" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FilterExpression" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
eType="#//Expression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="filter" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DefaultXmlNamespaceStatement" eSuperTypes="#//Statement">
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ForEachInStatement" eSuperTypes="#//IterationStatement">
<eStructuralFeatures xsi:type="ecore:EReference" name="item" lowerBound="1" eType="#//IForInitializer"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="collection" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
</ecore:EPackage>