Pārlūkot izejas kodu

Added getOriginType to TypeAlias

Andreas Mülder 10 gadi atpakaļ
vecāks
revīzija
6a3c86eeaf

+ 3 - 1
plugins/org.yakindu.base.types/model/types.ecore

@@ -68,5 +68,7 @@
   <eClassifiers xsi:type="ecore:EClass" name="Domain">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="domainID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TypeAlias" eSuperTypes="#//TypedElement #//Type"/>
+  <eClassifiers xsi:type="ecore:EClass" name="TypeAlias" eSuperTypes="#//TypedElement #//Type">
+    <eOperations name="getOriginType" eType="#//Type"/>
+  </eClassifiers>
 </ecore:EPackage>

+ 8 - 0
plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/TypeAlias.java

@@ -15,4 +15,12 @@ import org.yakindu.base.base.NamedElement;
  * @generated
  */
 public interface TypeAlias extends TypedElement, Type {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation"
+	 * @generated
+	 */
+	Type getOriginType();
 } // TypeAlias

+ 170 - 146
plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/impl/TypeAliasImpl.java

@@ -5,43 +5,37 @@ package org.yakindu.base.types.impl;
 import java.util.Collection;
 
 import org.eclipse.emf.common.notify.Notification;
-
 import org.eclipse.emf.common.notify.NotificationChain;
 import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
-
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
 import org.eclipse.emf.ecore.impl.EObjectImpl;
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-
 import org.eclipse.emf.ecore.util.InternalEList;
 import org.yakindu.base.base.BasePackage;
 import org.yakindu.base.base.NamedElement;
-import org.yakindu.base.base.impl.NamedElementImpl;
-
 import org.yakindu.base.types.PackageMember;
 import org.yakindu.base.types.Type;
 import org.yakindu.base.types.TypeAlias;
 import org.yakindu.base.types.TypeConstraint;
-import org.yakindu.base.types.TypedElement;
 import org.yakindu.base.types.TypesPackage;
 
 /**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Type Alias</b></em>'.
- * <!-- end-user-doc -->
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Type Alias</b></em>'. <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#getType <em>Type</em>}</li>
- *   <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#getTypeArguments <em>Type Arguments</em>}</li>
- *   <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#getConstraint <em>Constraint</em>}</li>
- *   <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#isAbstract <em>Abstract</em>}</li>
+ * <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#getTypeArguments <em>
+ * Type Arguments</em>}</li>
+ * <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#getConstraint <em>
+ * Constraint</em>}</li>
+ * <li>{@link org.yakindu.base.types.impl.TypeAliasImpl#isAbstract <em>Abstract
+ * </em>}</li>
  * </ul>
  * </p>
  *
@@ -50,8 +44,8 @@ import org.yakindu.base.types.TypesPackage;
 public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	/**
 	 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @see #getType()
 	 * @generated
 	 * @ordered
@@ -59,9 +53,10 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	protected Type type;
 
 	/**
-	 * The cached value of the '{@link #getTypeArguments() <em>Type Arguments</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * The cached value of the '{@link #getTypeArguments()
+	 * <em>Type Arguments</em>}' reference list. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * 
 	 * @see #getTypeArguments()
 	 * @generated
 	 * @ordered
@@ -70,8 +65,8 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 
 	/**
 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @see #getName()
 	 * @generated
 	 * @ordered
@@ -80,8 +75,8 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 
 	/**
 	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @see #getName()
 	 * @generated
 	 * @ordered
@@ -89,9 +84,9 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	protected String name = NAME_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getConstraint() <em>Constraint</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * The cached value of the '{@link #getConstraint() <em>Constraint</em>}'
+	 * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @see #getConstraint()
 	 * @generated
 	 * @ordered
@@ -99,9 +94,9 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	protected EList<TypeConstraint> constraint;
 
 	/**
-	 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * The default value of the '{@link #isAbstract() <em>Abstract</em>}'
+	 * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @see #isAbstract()
 	 * @generated
 	 * @ordered
@@ -109,9 +104,9 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	protected static final boolean ABSTRACT_EDEFAULT = false;
 
 	/**
-	 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}'
+	 * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @see #isAbstract()
 	 * @generated
 	 * @ordered
@@ -119,8 +114,8 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	protected boolean abstract_ = ABSTRACT_EDEFAULT;
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	protected TypeAliasImpl() {
@@ -128,8 +123,8 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -138,25 +133,26 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	public Type getType() {
 		if (type != null && type.eIsProxy()) {
-			InternalEObject oldType = (InternalEObject)type;
-			type = (Type)eResolveProxy(oldType);
+			InternalEObject oldType = (InternalEObject) type;
+			type = (Type) eResolveProxy(oldType);
 			if (type != oldType) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, TypesPackage.TYPE_ALIAS__TYPE, oldType, type));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, TypesPackage.TYPE_ALIAS__TYPE, oldType,
+							type));
 			}
 		}
 		return type;
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	public Type basicGetType() {
@@ -164,8 +160,8 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	public void setType(Type newType) {
@@ -176,8 +172,8 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	public EList<Type> getTypeArguments() {
@@ -188,8 +184,8 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	public String getName() {
@@ -197,8 +193,8 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	public void setName(String newName) {
@@ -209,20 +205,21 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	public EList<TypeConstraint> getConstraint() {
 		if (constraint == null) {
-			constraint = new EObjectContainmentEList<TypeConstraint>(TypeConstraint.class, this, TypesPackage.TYPE_ALIAS__CONSTRAINT);
+			constraint = new EObjectContainmentEList<TypeConstraint>(TypeConstraint.class, this,
+					TypesPackage.TYPE_ALIAS__CONSTRAINT);
 		}
 		return constraint;
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	public boolean isAbstract() {
@@ -230,197 +227,224 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	public void setAbstract(boolean newAbstract) {
 		boolean oldAbstract = abstract_;
 		abstract_ = newAbstract;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, TypesPackage.TYPE_ALIAS__ABSTRACT, oldAbstract, abstract_));
+			eNotify(new ENotificationImpl(this, Notification.SET, TypesPackage.TYPE_ALIAS__ABSTRACT, oldAbstract,
+					abstract_));
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	public Type getOriginType() {
+		Type baseType = getType();
+		if (baseType instanceof TypeAlias && baseType != this)
+			return ((TypeAlias) baseType).getOriginType();
+		return baseType;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case TypesPackage.TYPE_ALIAS__CONSTRAINT:
-				return ((InternalEList<?>)getConstraint()).basicRemove(otherEnd, msgs);
+		case TypesPackage.TYPE_ALIAS__CONSTRAINT:
+			return ((InternalEList<?>) getConstraint()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case TypesPackage.TYPE_ALIAS__TYPE:
-				if (resolve) return getType();
-				return basicGetType();
-			case TypesPackage.TYPE_ALIAS__TYPE_ARGUMENTS:
-				return getTypeArguments();
-			case TypesPackage.TYPE_ALIAS__NAME:
-				return getName();
-			case TypesPackage.TYPE_ALIAS__CONSTRAINT:
-				return getConstraint();
-			case TypesPackage.TYPE_ALIAS__ABSTRACT:
-				return isAbstract();
+		case TypesPackage.TYPE_ALIAS__TYPE:
+			if (resolve)
+				return getType();
+			return basicGetType();
+		case TypesPackage.TYPE_ALIAS__TYPE_ARGUMENTS:
+			return getTypeArguments();
+		case TypesPackage.TYPE_ALIAS__NAME:
+			return getName();
+		case TypesPackage.TYPE_ALIAS__CONSTRAINT:
+			return getConstraint();
+		case TypesPackage.TYPE_ALIAS__ABSTRACT:
+			return isAbstract();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case TypesPackage.TYPE_ALIAS__TYPE:
-				setType((Type)newValue);
-				return;
-			case TypesPackage.TYPE_ALIAS__TYPE_ARGUMENTS:
-				getTypeArguments().clear();
-				getTypeArguments().addAll((Collection<? extends Type>)newValue);
-				return;
-			case TypesPackage.TYPE_ALIAS__NAME:
-				setName((String)newValue);
-				return;
-			case TypesPackage.TYPE_ALIAS__CONSTRAINT:
-				getConstraint().clear();
-				getConstraint().addAll((Collection<? extends TypeConstraint>)newValue);
-				return;
-			case TypesPackage.TYPE_ALIAS__ABSTRACT:
-				setAbstract((Boolean)newValue);
-				return;
+		case TypesPackage.TYPE_ALIAS__TYPE:
+			setType((Type) newValue);
+			return;
+		case TypesPackage.TYPE_ALIAS__TYPE_ARGUMENTS:
+			getTypeArguments().clear();
+			getTypeArguments().addAll((Collection<? extends Type>) newValue);
+			return;
+		case TypesPackage.TYPE_ALIAS__NAME:
+			setName((String) newValue);
+			return;
+		case TypesPackage.TYPE_ALIAS__CONSTRAINT:
+			getConstraint().clear();
+			getConstraint().addAll((Collection<? extends TypeConstraint>) newValue);
+			return;
+		case TypesPackage.TYPE_ALIAS__ABSTRACT:
+			setAbstract((Boolean) newValue);
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case TypesPackage.TYPE_ALIAS__TYPE:
-				setType((Type)null);
-				return;
-			case TypesPackage.TYPE_ALIAS__TYPE_ARGUMENTS:
-				getTypeArguments().clear();
-				return;
-			case TypesPackage.TYPE_ALIAS__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case TypesPackage.TYPE_ALIAS__CONSTRAINT:
-				getConstraint().clear();
-				return;
-			case TypesPackage.TYPE_ALIAS__ABSTRACT:
-				setAbstract(ABSTRACT_EDEFAULT);
-				return;
+		case TypesPackage.TYPE_ALIAS__TYPE:
+			setType((Type) null);
+			return;
+		case TypesPackage.TYPE_ALIAS__TYPE_ARGUMENTS:
+			getTypeArguments().clear();
+			return;
+		case TypesPackage.TYPE_ALIAS__NAME:
+			setName(NAME_EDEFAULT);
+			return;
+		case TypesPackage.TYPE_ALIAS__CONSTRAINT:
+			getConstraint().clear();
+			return;
+		case TypesPackage.TYPE_ALIAS__ABSTRACT:
+			setAbstract(ABSTRACT_EDEFAULT);
+			return;
 		}
 		super.eUnset(featureID);
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case TypesPackage.TYPE_ALIAS__TYPE:
-				return type != null;
-			case TypesPackage.TYPE_ALIAS__TYPE_ARGUMENTS:
-				return typeArguments != null && !typeArguments.isEmpty();
-			case TypesPackage.TYPE_ALIAS__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case TypesPackage.TYPE_ALIAS__CONSTRAINT:
-				return constraint != null && !constraint.isEmpty();
-			case TypesPackage.TYPE_ALIAS__ABSTRACT:
-				return abstract_ != ABSTRACT_EDEFAULT;
+		case TypesPackage.TYPE_ALIAS__TYPE:
+			return type != null;
+		case TypesPackage.TYPE_ALIAS__TYPE_ARGUMENTS:
+			return typeArguments != null && !typeArguments.isEmpty();
+		case TypesPackage.TYPE_ALIAS__NAME:
+			return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		case TypesPackage.TYPE_ALIAS__CONSTRAINT:
+			return constraint != null && !constraint.isEmpty();
+		case TypesPackage.TYPE_ALIAS__ABSTRACT:
+			return abstract_ != ABSTRACT_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
 		if (baseClass == NamedElement.class) {
 			switch (derivedFeatureID) {
-				case TypesPackage.TYPE_ALIAS__NAME: return BasePackage.NAMED_ELEMENT__NAME;
-				default: return -1;
+			case TypesPackage.TYPE_ALIAS__NAME:
+				return BasePackage.NAMED_ELEMENT__NAME;
+			default:
+				return -1;
 			}
 		}
 		if (baseClass == PackageMember.class) {
 			switch (derivedFeatureID) {
-				default: return -1;
+			default:
+				return -1;
 			}
 		}
 		if (baseClass == Type.class) {
 			switch (derivedFeatureID) {
-				case TypesPackage.TYPE_ALIAS__CONSTRAINT: return TypesPackage.TYPE__CONSTRAINT;
-				case TypesPackage.TYPE_ALIAS__ABSTRACT: return TypesPackage.TYPE__ABSTRACT;
-				default: return -1;
+			case TypesPackage.TYPE_ALIAS__CONSTRAINT:
+				return TypesPackage.TYPE__CONSTRAINT;
+			case TypesPackage.TYPE_ALIAS__ABSTRACT:
+				return TypesPackage.TYPE__ABSTRACT;
+			default:
+				return -1;
 			}
 		}
 		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
 		if (baseClass == NamedElement.class) {
 			switch (baseFeatureID) {
-				case BasePackage.NAMED_ELEMENT__NAME: return TypesPackage.TYPE_ALIAS__NAME;
-				default: return -1;
+			case BasePackage.NAMED_ELEMENT__NAME:
+				return TypesPackage.TYPE_ALIAS__NAME;
+			default:
+				return -1;
 			}
 		}
 		if (baseClass == PackageMember.class) {
 			switch (baseFeatureID) {
-				default: return -1;
+			default:
+				return -1;
 			}
 		}
 		if (baseClass == Type.class) {
 			switch (baseFeatureID) {
-				case TypesPackage.TYPE__CONSTRAINT: return TypesPackage.TYPE_ALIAS__CONSTRAINT;
-				case TypesPackage.TYPE__ABSTRACT: return TypesPackage.TYPE_ALIAS__ABSTRACT;
-				default: return -1;
+			case TypesPackage.TYPE__CONSTRAINT:
+				return TypesPackage.TYPE_ALIAS__CONSTRAINT;
+			case TypesPackage.TYPE__ABSTRACT:
+				return TypesPackage.TYPE_ALIAS__ABSTRACT;
+			default:
+				return -1;
 			}
 		}
 		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public String toString() {
-		if (eIsProxy()) return super.toString();
+		if (eIsProxy())
+			return super.toString();
 
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (name: ");
@@ -431,4 +455,4 @@ public class TypeAliasImpl extends EObjectImpl implements TypeAlias {
 		return result.toString();
 	}
 
-} //TypeAliasImpl
+} // TypeAliasImpl

+ 2 - 0
plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/impl/TypesPackageImpl.java

@@ -763,6 +763,8 @@ public class TypesPackageImpl extends EPackageImpl implements TypesPackage {
 
 		initEClass(typeAliasEClass, TypeAlias.class, "TypeAlias", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
+		addEOperation(typeAliasEClass, this.getType(), "getOriginType", 0, 1, IS_UNIQUE, IS_ORDERED);
+
 		// Create resource
 		createResource(eNS_URI);
 	}