blob: 38fe48a500487002da69f4b6445689b4e767c486 [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="model"
nsURI="http://www.eclipse.org/dltk/javascript/typeinfo.ecore" nsPrefix="ti">
<eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
iD="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//JSType"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="directType" eType="#//Type"
volatile="true" transient="true" derived="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="#//NamedElement">
<eOperations name="getAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
<eParameters name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="setAttribute">
<eParameters name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="visible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
eType="#//AttributeEntry" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="hideAllowed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Type" eSuperTypes="#//Element">
<eOperations name="isProxy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1"
eType="#//Member" containment="true" resolveProxies="false" eOpposite="#//Member/declaringType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//TypeKind"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="superType" eType="#//Type"
volatile="true" transient="true" derived="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="superTypeExpr" eType="#//SimpleType"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="staticConstructor" eType="#//Constructor"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="traits" upperBound="-1"
eType="#//Type"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="constructors" upperBound="-1"
eType="#//Constructor" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="instantiable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="inheritConstructors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="inheritStaticMembers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="metaType" eType="#//MetaType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeAlias">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
iD="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Type"
resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Member" abstract="true" eSuperTypes="#//Element #//TypedElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="declaringType" eType="#//Type"
changeable="false" eOpposite="#//Type/members">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The type in which this member is declared."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" eType="#//Visibility"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Method" eSuperTypes="#//Member">
<eOperations name="getParameter" eType="#//Parameter">
<eParameters name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getParameterFor" eType="#//Parameter">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Returns the parameter matching the specified position (e.g. it can return vararg parameter if position exceeds the number of declared parameters) or null if position is not correct."/>
</eAnnotations>
<eParameters name="position" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//Parameter" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//NamedElement #//TypedElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ParameterKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Constructor" eSuperTypes="#//Method"/>
<eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//Member">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="readOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="TypeKind">
<eLiterals name="DEFAULT"/>
<eLiterals name="UNRESOLVED" value="-2"/>
<eLiterals name="UNKNOWN" value="-1"/>
<eLiterals name="PREDEFINED"/>
<eLiterals name="JAVASCRIPT" value="1" literal="JAVASCRIPT"/>
<eLiterals name="JAVA" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ParameterKind">
<eLiterals name="NORMAL" literal="NORMAL"/>
<eLiterals name="OPTIONAL" value="1"/>
<eLiterals name="VARARGS" value="2" literal="VARARGS"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttributeEntry" instanceClassName="java.util.Map$Entry">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="JSType" abstract="true" interface="true">
<eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eOperations name="toRType" eType="#//IRType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Creates the corresponding {@link IRType} instance for this type expression."/>
</eAnnotations>
<eParameters name="typeSystem" eType="#//ITypeSystem"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FunctionType" eSuperTypes="#//JSType">
<eStructuralFeatures xsi:type="ecore:EReference" name="returnType" eType="#//JSType"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//Parameter" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SimpleType" eSuperTypes="#//JSType">
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Type"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ArrayType" eSuperTypes="#//JSType">
<eStructuralFeatures xsi:type="ecore:EReference" name="itemType" eType="#//JSType"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AnyType" eSuperTypes="#//JSType"/>
<eClassifiers xsi:type="ecore:EClass" name="UnionType" eSuperTypes="#//JSType">
<eStructuralFeatures xsi:type="ecore:EReference" name="targets" upperBound="-1"
eType="#//JSType" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParameterizedType" eSuperTypes="#//SimpleType">
<eOperations name="getRawName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="actualTypeArguments" upperBound="-1"
eType="#//JSType" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MapType" eSuperTypes="#//JSType">
<eStructuralFeatures xsi:type="ecore:EReference" name="keyType" eType="#//JSType"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="valueType" eType="#//JSType"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RecordType" eSuperTypes="#//JSType">
<eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1"
eType="#//Member" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RecordMember" abstract="true" interface="true"
eSuperTypes="#//Member">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RecordProperty" eSuperTypes="#//Property #//RecordMember"/>
<eClassifiers xsi:type="ecore:EClass" name="ClassType" eSuperTypes="#//JSType">
<eOperations name="getRawName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Type"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UndefinedType" eSuperTypes="#//JSType"/>
<eClassifiers xsi:type="ecore:EEnum" name="Visibility">
<eLiterals name="PUBLIC"/>
<eLiterals name="PROTECTED" value="50"/>
<eLiterals name="INTERNAL" value="75"/>
<eLiterals name="PRIVATE" value="100"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeVariable" eSuperTypes="#//NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="bound" eType="#//JSType"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GenericType" eSuperTypes="#//Type">
<eStructuralFeatures xsi:type="ecore:EReference" name="typeParameters" upperBound="-1"
eType="#//TypeVariable" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeVariableReference" eSuperTypes="#//JSType">
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//TypeVariable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="IRType" instanceClassName="org.eclipse.dltk.javascript.typeinfo.IRType"
serializable="false"/>
<eClassifiers xsi:type="ecore:EClass" name="RType" eSuperTypes="#//JSType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="runtimeType" eType="#//IRType"
transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GenericMethod" eSuperTypes="#//Method">
<eStructuralFeatures xsi:type="ecore:EReference" name="typeParameters" upperBound="-1"
eType="#//TypeVariable" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeLiteral">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
iD="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Type"
resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeVariableClassType" eSuperTypes="#//JSType">
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//TypeVariable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="MetaType" instanceClassName="org.eclipse.dltk.javascript.typeinfo.MetaType"/>
<eClassifiers xsi:type="ecore:EDataType" name="ITypeSystem" instanceClassName="org.eclipse.dltk.javascript.typeinfo.ITypeSystem"
serializable="false"/>
</ecore:EPackage>