Просмотр исходного кода

TypCastExpressions type Type is Type

Andreas Mülder 11 лет назад
Родитель
Сommit
1b41e70d3c

+ 4 - 4
plugins/org.yakindu.base.expressions/emf-gen/org/yakindu/base/expressions/expressions/TypeCastExpression.java

@@ -2,7 +2,7 @@
  */
 package org.yakindu.base.expressions.expressions;
 
-import org.eclipse.emf.ecore.EObject;
+import org.yakindu.base.types.Type;
 
 /**
  * <!-- begin-user-doc -->
@@ -57,12 +57,12 @@ public interface TypeCastExpression extends Expression {
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Type</em>' reference.
-	 * @see #setType(EObject)
+	 * @see #setType(Type)
 	 * @see org.yakindu.base.expressions.expressions.ExpressionsPackage#getTypeCastExpression_Type()
 	 * @model
 	 * @generated
 	 */
-	EObject getType();
+	Type getType();
 
 	/**
 	 * Sets the value of the '{@link org.yakindu.base.expressions.expressions.TypeCastExpression#getType <em>Type</em>}' reference.
@@ -72,6 +72,6 @@ public interface TypeCastExpression extends Expression {
 	 * @see #getType()
 	 * @generated
 	 */
-	void setType(EObject value);
+	void setType(Type value);
 
 } // TypeCastExpression

+ 8 - 1
plugins/org.yakindu.base.expressions/emf-gen/org/yakindu/base/expressions/expressions/impl/ExpressionsPackageImpl.java

@@ -44,6 +44,7 @@ import org.yakindu.base.expressions.expressions.ShiftOperator;
 import org.yakindu.base.expressions.expressions.StringLiteral;
 import org.yakindu.base.expressions.expressions.TypeCastExpression;
 import org.yakindu.base.expressions.expressions.UnaryOperator;
+import org.yakindu.base.types.TypesPackage;
 
 /**
  * <!-- begin-user-doc -->
@@ -322,6 +323,9 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
 
 		isInited = true;
 
+		// Initialize simple dependencies
+		TypesPackage.eINSTANCE.eClass();
+
 		// Create package meta-data objects
 		theExpressionsPackage.createPackageContents();
 
@@ -1207,6 +1211,9 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
 		setNsPrefix(eNS_PREFIX);
 		setNsURI(eNS_URI);
 
+		// Obtain other dependent packages
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
 		// Create type parameters
 
 		// Set bounds for type parameters
@@ -1335,7 +1342,7 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
 
 		initEClass(typeCastExpressionEClass, TypeCastExpression.class, "TypeCastExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getTypeCastExpression_Operand(), this.getExpression(), null, "operand", null, 0, 1, TypeCastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getTypeCastExpression_Type(), ecorePackage.getEObject(), null, "type", null, 0, 1, TypeCastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getTypeCastExpression_Type(), theTypesPackage.getType(), null, "type", null, 0, 1, TypeCastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		// Initialize enums and add enum literals
 		initEEnum(assignmentOperatorEEnum, AssignmentOperator.class, "AssignmentOperator");

+ 9 - 12
plugins/org.yakindu.base.expressions/emf-gen/org/yakindu/base/expressions/expressions/impl/TypeCastExpressionImpl.java

@@ -4,16 +4,13 @@ package org.yakindu.base.expressions.expressions.impl;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
-
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.InternalEObject;
-
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
 import org.yakindu.base.expressions.expressions.Expression;
 import org.yakindu.base.expressions.expressions.ExpressionsPackage;
 import org.yakindu.base.expressions.expressions.TypeCastExpression;
+import org.yakindu.base.types.Type;
 
 /**
  * <!-- begin-user-doc -->
@@ -48,7 +45,7 @@ public class TypeCastExpressionImpl extends ExpressionImpl implements TypeCastEx
 	 * @generated
 	 * @ordered
 	 */
-	protected EObject type;
+	protected Type type;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -117,10 +114,10 @@ public class TypeCastExpressionImpl extends ExpressionImpl implements TypeCastEx
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EObject getType() {
+	public Type getType() {
 		if (type != null && type.eIsProxy()) {
 			InternalEObject oldType = (InternalEObject)type;
-			type = eResolveProxy(oldType);
+			type = (Type)eResolveProxy(oldType);
 			if (type != oldType) {
 				if (eNotificationRequired())
 					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExpressionsPackage.TYPE_CAST_EXPRESSION__TYPE, oldType, type));
@@ -134,7 +131,7 @@ public class TypeCastExpressionImpl extends ExpressionImpl implements TypeCastEx
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EObject basicGetType() {
+	public Type basicGetType() {
 		return type;
 	}
 
@@ -143,8 +140,8 @@ public class TypeCastExpressionImpl extends ExpressionImpl implements TypeCastEx
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setType(EObject newType) {
-		EObject oldType = type;
+	public void setType(Type newType) {
+		Type oldType = type;
 		type = newType;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET, ExpressionsPackage.TYPE_CAST_EXPRESSION__TYPE, oldType, type));
@@ -193,7 +190,7 @@ public class TypeCastExpressionImpl extends ExpressionImpl implements TypeCastEx
 				setOperand((Expression)newValue);
 				return;
 			case ExpressionsPackage.TYPE_CAST_EXPRESSION__TYPE:
-				setType((EObject)newValue);
+				setType((Type)newValue);
 				return;
 		}
 		super.eSet(featureID, newValue);
@@ -211,7 +208,7 @@ public class TypeCastExpressionImpl extends ExpressionImpl implements TypeCastEx
 				setOperand((Expression)null);
 				return;
 			case ExpressionsPackage.TYPE_CAST_EXPRESSION__TYPE:
-				setType((EObject)null);
+				setType((Type)null);
 				return;
 		}
 		super.eUnset(featureID);

+ 1 - 1
plugins/org.yakindu.base.expressions/model/Expressions.ecore

@@ -166,6 +166,6 @@
   <eClassifiers xsi:type="ecore:EClass" name="TypeCastExpression" eSuperTypes="#//Expression">
     <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//Expression"
         containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Type"/>
   </eClassifiers>
 </ecore:EPackage>

+ 10 - 2
plugins/org.yakindu.base.expressions/model/Expressions.genmodel

@@ -3,8 +3,11 @@
     xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.yakindu.base.expressions/emf-gen" editDirectory="/org.yakindu.base.expressions.edit/src"
     editorDirectory="/org.yakindu.base.expressions.editor/src" modelPluginID="org.yakindu.base.expressions"
     forceOverwrite="true" modelName="Expressions" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
-    complianceLevel="5.0" copyrightFields="false" editPluginID="org.yakindu.base.expressions.edit"
-    editorPluginID="org.yakindu.base.expressions.editor" runtimeVersion="2.9">
+    importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+    editPluginID="org.yakindu.base.expressions.edit" editorPluginID="org.yakindu.base.expressions.editor"
+    runtimeVersion="2.9" usedGenPackages="../../org.yakindu.base.types/model/base.genmodel#//base ../../org.yakindu.base.types/model/types.genmodel#//types">
+  <foreignModel>Expressions.ecore</foreignModel>
+  <foreignModel>../../org.yakindu.base.types/model/types.ecore</foreignModel>
   <genPackages prefix="Expressions" basePackage="org.yakindu.base.expressions" disposableProviderFactory="true"
       fileExtensions="exp" ecorePackage="Expressions.ecore#/">
     <genEnums typeSafeEnumCompatible="false" ecoreEnum="Expressions.ecore#//AssignmentOperator">
@@ -63,6 +66,7 @@
     <genClasses ecoreClass="Expressions.ecore#//StringLiteral">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Expressions.ecore#//StringLiteral/value"/>
     </genClasses>
+    <genClasses ecoreClass="Expressions.ecore#//NullLiteral"/>
     <genClasses ecoreClass="Expressions.ecore#//AssignmentExpression">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Expressions.ecore#//AssignmentExpression/varRef"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Expressions.ecore#//AssignmentExpression/operator"/>
@@ -137,5 +141,9 @@
     <genClasses ecoreClass="Expressions.ecore#//ParenthesizedExpression">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Expressions.ecore#//ParenthesizedExpression/expression"/>
     </genClasses>
+    <genClasses ecoreClass="Expressions.ecore#//TypeCastExpression">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Expressions.ecore#//TypeCastExpression/operand"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Expressions.ecore#//TypeCastExpression/type"/>
+    </genClasses>
   </genPackages>
 </genmodel:GenModel>