diff --git a/plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/TypesPackage.java b/plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/TypesPackage.java
index 260ad412f6..e00f82c065 100644
--- a/plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/TypesPackage.java
+++ b/plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/TypesPackage.java
@@ -135,6 +135,15 @@ public interface TypesPackage extends EPackage {
*/
int PACKAGE_MEMBER__NAME = BasePackage.NAMED_ELEMENT__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_MEMBER__ANNOTATIONS = BasePackage.NAMED_ELEMENT_FEATURE_COUNT + 0;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -142,7 +151,7 @@ public interface TypesPackage extends EPackage {
* @generated
* @ordered
*/
- int PACKAGE_MEMBER__ID = BasePackage.NAMED_ELEMENT_FEATURE_COUNT + 0;
+ int PACKAGE_MEMBER__ID = BasePackage.NAMED_ELEMENT_FEATURE_COUNT + 1;
/**
* The number of structural features of the 'Package Member' class.
@@ -151,7 +160,7 @@ public interface TypesPackage extends EPackage {
* @generated
* @ordered
*/
- int PACKAGE_MEMBER_FEATURE_COUNT = BasePackage.NAMED_ELEMENT_FEATURE_COUNT + 1;
+ int PACKAGE_MEMBER_FEATURE_COUNT = BasePackage.NAMED_ELEMENT_FEATURE_COUNT + 2;
/**
* The meta object id for the '{@link org.yakindu.base.types.impl.TypeImpl Type}' class.
@@ -212,6 +221,15 @@ public interface TypesPackage extends EPackage {
*/
int TYPE__NAME = PACKAGE_MEMBER__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPE__ANNOTATIONS = PACKAGE_MEMBER__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -321,6 +339,15 @@ public interface TypesPackage extends EPackage {
*/
int DECLARATION__NAME = TYPED_ELEMENT_FEATURE_COUNT + 0;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DECLARATION__ANNOTATIONS = TYPED_ELEMENT_FEATURE_COUNT + 1;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -328,7 +355,7 @@ public interface TypesPackage extends EPackage {
* @generated
* @ordered
*/
- int DECLARATION__ID = TYPED_ELEMENT_FEATURE_COUNT + 1;
+ int DECLARATION__ID = TYPED_ELEMENT_FEATURE_COUNT + 2;
/**
* The number of structural features of the 'Declaration' class.
@@ -337,7 +364,7 @@ public interface TypesPackage extends EPackage {
* @generated
* @ordered
*/
- int DECLARATION_FEATURE_COUNT = TYPED_ELEMENT_FEATURE_COUNT + 2;
+ int DECLARATION_FEATURE_COUNT = TYPED_ELEMENT_FEATURE_COUNT + 3;
/**
* The feature id for the 'Type' reference.
@@ -366,6 +393,15 @@ public interface TypesPackage extends EPackage {
*/
int OPERATION__NAME = DECLARATION__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION__ANNOTATIONS = DECLARATION__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -420,6 +456,15 @@ public interface TypesPackage extends EPackage {
*/
int PROPERTY__NAME = DECLARATION__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY__ANNOTATIONS = DECLARATION__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -548,6 +593,15 @@ public interface TypesPackage extends EPackage {
*/
int EVENT__NAME = DECLARATION__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int EVENT__ANNOTATIONS = DECLARATION__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -605,6 +659,15 @@ public interface TypesPackage extends EPackage {
*/
int PRIMITIVE_TYPE__NAME = TYPE__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE__ANNOTATIONS = TYPE__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -668,6 +731,15 @@ public interface TypesPackage extends EPackage {
*/
int ENUMERATION_TYPE__NAME = PRIMITIVE_TYPE__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_TYPE__ANNOTATIONS = PRIMITIVE_TYPE__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -750,6 +822,15 @@ public interface TypesPackage extends EPackage {
*/
int PARAMETERIZED_TYPE__NAME = TYPE__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PARAMETERIZED_TYPE__ANNOTATIONS = TYPE__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -823,6 +904,15 @@ public interface TypesPackage extends EPackage {
*/
int COMPLEX_TYPE__NAME = PARAMETERIZED_TYPE__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_TYPE__ANNOTATIONS = PARAMETERIZED_TYPE__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -932,6 +1022,15 @@ public interface TypesPackage extends EPackage {
*/
int ENUMERATOR__NAME = DECLARATION__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATOR__ANNOTATIONS = DECLARATION__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -1016,6 +1115,15 @@ public interface TypesPackage extends EPackage {
*/
int TYPE_PARAMETER__NAME = TYPE__NAME;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPE_PARAMETER__ANNOTATIONS = TYPE__ANNOTATIONS;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -1181,6 +1289,15 @@ public interface TypesPackage extends EPackage {
*/
int TYPE_ALIAS__NAME = TYPED_ELEMENT_FEATURE_COUNT + 0;
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPE_ALIAS__ANNOTATIONS = TYPED_ELEMENT_FEATURE_COUNT + 1;
+
/**
* The feature id for the 'Id' attribute.
*
@@ -1188,7 +1305,7 @@ public interface TypesPackage extends EPackage {
* @generated
* @ordered
*/
- int TYPE_ALIAS__ID = TYPED_ELEMENT_FEATURE_COUNT + 1;
+ int TYPE_ALIAS__ID = TYPED_ELEMENT_FEATURE_COUNT + 2;
/**
* The feature id for the 'Constraint' containment reference list.
@@ -1197,7 +1314,7 @@ public interface TypesPackage extends EPackage {
* @generated
* @ordered
*/
- int TYPE_ALIAS__CONSTRAINT = TYPED_ELEMENT_FEATURE_COUNT + 2;
+ int TYPE_ALIAS__CONSTRAINT = TYPED_ELEMENT_FEATURE_COUNT + 3;
/**
* The feature id for the 'Abstract' attribute.
@@ -1206,7 +1323,7 @@ public interface TypesPackage extends EPackage {
* @generated
* @ordered
*/
- int TYPE_ALIAS__ABSTRACT = TYPED_ELEMENT_FEATURE_COUNT + 3;
+ int TYPE_ALIAS__ABSTRACT = TYPED_ELEMENT_FEATURE_COUNT + 4;
/**
* The feature id for the 'Visible' attribute.
@@ -1215,7 +1332,7 @@ public interface TypesPackage extends EPackage {
* @generated
* @ordered
*/
- int TYPE_ALIAS__VISIBLE = TYPED_ELEMENT_FEATURE_COUNT + 4;
+ int TYPE_ALIAS__VISIBLE = TYPED_ELEMENT_FEATURE_COUNT + 5;
/**
* The number of structural features of the 'Type Alias' class.
@@ -1224,7 +1341,99 @@ public interface TypesPackage extends EPackage {
* @generated
* @ordered
*/
- int TYPE_ALIAS_FEATURE_COUNT = TYPED_ELEMENT_FEATURE_COUNT + 5;
+ int TYPE_ALIAS_FEATURE_COUNT = TYPED_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.yakindu.base.types.impl.AnnotationImpl Annotation}' class.
+ *
+ *
+ * @see org.yakindu.base.types.impl.AnnotationImpl
+ * @see org.yakindu.base.types.impl.TypesPackageImpl#getAnnotation()
+ * @generated
+ */
+ int ANNOTATION = 19;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__NAME = PACKAGE_MEMBER__NAME;
+
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__ANNOTATIONS = PACKAGE_MEMBER__ANNOTATIONS;
+
+ /**
+ * The feature id for the 'Id' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__ID = PACKAGE_MEMBER__ID;
+
+ /**
+ * The feature id for the 'Properties' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__PROPERTIES = PACKAGE_MEMBER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Targets' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__TARGETS = PACKAGE_MEMBER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the 'Annotation' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION_FEATURE_COUNT = PACKAGE_MEMBER_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.yakindu.base.types.impl.AnnotatableElementImpl Annotatable Element}' class.
+ *
+ *
+ * @see org.yakindu.base.types.impl.AnnotatableElementImpl
+ * @see org.yakindu.base.types.impl.TypesPackageImpl#getAnnotatableElement()
+ * @generated
+ */
+ int ANNOTATABLE_ELEMENT = 20;
+
+ /**
+ * The feature id for the 'Annotations' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATABLE_ELEMENT__ANNOTATIONS = 0;
+
+ /**
+ * The number of structural features of the 'Annotatable Element' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATABLE_ELEMENT_FEATURE_COUNT = 1;
/**
* The meta object id for the '{@link org.yakindu.base.types.Direction Direction}' enum.
@@ -1234,7 +1443,7 @@ public interface TypesPackage extends EPackage {
* @see org.yakindu.base.types.impl.TypesPackageImpl#getDirection()
* @generated
*/
- int DIRECTION = 19;
+ int DIRECTION = 21;
/**
* Returns the meta object for class '{@link org.yakindu.base.types.Package Package}'.
@@ -1723,6 +1932,59 @@ public interface TypesPackage extends EPackage {
*/
EClass getTypeAlias();
+ /**
+ * Returns the meta object for class '{@link org.yakindu.base.types.Annotation Annotation}'.
+ *
+ *
+ * @return the meta object for class 'Annotation'.
+ * @see org.yakindu.base.types.Annotation
+ * @generated
+ */
+ EClass getAnnotation();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.yakindu.base.types.Annotation#getProperties Properties}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Properties'.
+ * @see org.yakindu.base.types.Annotation#getProperties()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EReference getAnnotation_Properties();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.yakindu.base.types.Annotation#getTargets Targets}'.
+ *
+ *
+ * @return the meta object for the reference list 'Targets'.
+ * @see org.yakindu.base.types.Annotation#getTargets()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EReference getAnnotation_Targets();
+
+ /**
+ * Returns the meta object for class '{@link org.yakindu.base.types.AnnotatableElement Annotatable Element}'.
+ *
+ *
+ * @return the meta object for class 'Annotatable Element'.
+ * @see org.yakindu.base.types.AnnotatableElement
+ * @generated
+ */
+ EClass getAnnotatableElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.yakindu.base.types.AnnotatableElement#getAnnotations Annotations}'.
+ *
+ *
+ * @return the meta object for the reference list 'Annotations'.
+ * @see org.yakindu.base.types.AnnotatableElement#getAnnotations()
+ * @see #getAnnotatableElement()
+ * @generated
+ */
+ EReference getAnnotatableElement_Annotations();
+
/**
* Returns the meta object for enum '{@link org.yakindu.base.types.Direction Direction}'.
*
@@ -2161,6 +2423,50 @@ interface Literals {
*/
EClass TYPE_ALIAS = eINSTANCE.getTypeAlias();
+ /**
+ * The meta object literal for the '{@link org.yakindu.base.types.impl.AnnotationImpl Annotation}' class.
+ *
+ *
+ * @see org.yakindu.base.types.impl.AnnotationImpl
+ * @see org.yakindu.base.types.impl.TypesPackageImpl#getAnnotation()
+ * @generated
+ */
+ EClass ANNOTATION = eINSTANCE.getAnnotation();
+
+ /**
+ * The meta object literal for the 'Properties' containment reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference ANNOTATION__PROPERTIES = eINSTANCE.getAnnotation_Properties();
+
+ /**
+ * The meta object literal for the 'Targets' reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference ANNOTATION__TARGETS = eINSTANCE.getAnnotation_Targets();
+
+ /**
+ * The meta object literal for the '{@link org.yakindu.base.types.impl.AnnotatableElementImpl Annotatable Element}' class.
+ *
+ *
+ * @see org.yakindu.base.types.impl.AnnotatableElementImpl
+ * @see org.yakindu.base.types.impl.TypesPackageImpl#getAnnotatableElement()
+ * @generated
+ */
+ EClass ANNOTATABLE_ELEMENT = eINSTANCE.getAnnotatableElement();
+
+ /**
+ * The meta object literal for the 'Annotations' reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference ANNOTATABLE_ELEMENT__ANNOTATIONS = eINSTANCE.getAnnotatableElement_Annotations();
+
/**
* The meta object literal for the '{@link org.yakindu.base.types.Direction Direction}' enum.
*
diff --git a/plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/impl/AnnotationImpl.java b/plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/impl/AnnotationImpl.java
index 3c27df2e3e..a506094e0d 100644
--- a/plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/impl/AnnotationImpl.java
+++ b/plugins/org.yakindu.base.types/src-gen/org/yakindu/base/types/impl/AnnotationImpl.java
@@ -4,13 +4,11 @@
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.EObject;
import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.InternalEList;