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

changed STexts Feature Calls to refer simple EObjects instead of base.Features

Andreas Mülder 14 лет назад
Родитель
Сommit
74941cb227
90 измененных файлов с 39809 добавлено и 40324 удалено
  1. 51 45
      plugins/org.yakindu.sct.model.sexec/.project
  2. 6 6
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/ModelSequencer.xtend
  3. 2 2
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.xtend
  4. 4 9
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/SexecElementMapping.xtend
  5. 27 27
      plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/ModelSequencer.java
  6. 3 3
      plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.java
  7. 13 14
      plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/SexecElementMapping.java
  8. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateAssignmentExpression_expression_ElementReferenceExpression.gif
  9. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateAssignmentExpression_varRef_ElementReferenceExpression.gif
  10. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_ActiveStateReferenceExpression.gif
  11. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_AssignmentExpression.gif
  12. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_BitwiseAndExpression.gif
  13. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_BitwiseOrExpression.gif
  14. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_BitwiseXorExpression.gif
  15. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_ConditionalExpression.gif
  16. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_ElementReferenceExpression.gif
  17. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_EventRaisingExpression.gif
  18. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_EventValueReferenceExpression.gif
  19. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_Expression.gif
  20. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_FeatureCall.gif
  21. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_LogicalAndExpression.gif
  22. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_LogicalNotExpression.gif
  23. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_LogicalOrExpression.gif
  24. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_LogicalRelationExpression.gif
  25. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_NumericalAddSubtractExpression.gif
  26. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_NumericalMultiplyDivideExpression.gif
  27. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_NumericalUnaryExpression.gif
  28. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_PrimitiveValueExpression.gif
  29. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_ShiftExpression.gif
  30. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateEventRaisingExpression_event_ElementReferenceExpression.gif
  31. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateEventRaisingExpression_value_ElementReferenceExpression.gif
  32. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateEventValueReferenceExpression_value_ElementReferenceExpression.gif
  33. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateFeatureCall_args_ElementReferenceExpression.gif
  34. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateFeatureCall_owner_ElementReferenceExpression.gif
  35. BIN
      plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateRegularEventSpec_event_ElementReferenceExpression.gif
  36. 3 0
      plugins/org.yakindu.sct.model.stext.edit/plugin.properties
  37. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/AssignmentExpressionItemProvider.java
  38. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/BitwiseAndExpressionItemProvider.java
  39. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/BitwiseOrExpressionItemProvider.java
  40. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/BitwiseXorExpressionItemProvider.java
  41. 3 3
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/ConditionalExpressionItemProvider.java
  42. 39 39
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/TypedElementReferenceExpressionItemProvider.java
  43. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/EventDerivationItemProvider.java
  44. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/EventRaisingExpressionItemProvider.java
  45. 1 1
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/EventValueReferenceExpressionItemProvider.java
  46. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/FeatureCallItemProvider.java
  47. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/LogicalAndExpressionItemProvider.java
  48. 1 1
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/LogicalNotExpressionItemProvider.java
  49. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/LogicalOrExpressionItemProvider.java
  50. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/LogicalRelationExpressionItemProvider.java
  51. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/NumericalAddSubtractExpressionItemProvider.java
  52. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/NumericalMultiplyDivideExpressionItemProvider.java
  53. 1 1
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/NumericalUnaryExpressionItemProvider.java
  54. 1 1
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/ReactionEffectItemProvider.java
  55. 1 1
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/ReactionTriggerItemProvider.java
  56. 1 1
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/RegularEventSpecItemProvider.java
  57. 2 2
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/ShiftExpressionItemProvider.java
  58. 8 8
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/StextItemProviderAdapterFactory.java
  59. 1 1
      plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/VariableDefinitionItemProvider.java
  60. 4 4
      plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/AbstractSTextProposalProvider.java
  61. 8 8
      plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/STextParser.java
  62. 96 96
      plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/internal/InternalSText.g
  63. 154 154
      plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/internal/InternalSText.tokens
  64. 3430 3429
      plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/internal/InternalSTextLexer.java
  65. 35500 35500
      plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/internal/InternalSTextParser.java
  66. 4 4
      plugins/org.yakindu.sct.model.stext.ui/src/org/yakindu/sct/model/stext/ui/contentassist/STextProposalProvider.java
  67. 3 3
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore
  68. 4 4
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.genmodel
  69. 6 6
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.xmi
  70. 112 112
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parseTreeConstruction/STextParsetreeConstructor.java
  71. 22 22
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g
  72. 53 53
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSTextParser.java
  73. 34 34
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/services/STextGrammarAccess.java
  74. 16 16
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/TypedElementReferenceExpression.java
  75. 4 4
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/FeatureCall.java
  76. 3 3
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/StextFactory.java
  77. 32 32
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/StextPackage.java
  78. 35 36
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/impl/TypedElementReferenceExpressionImpl.java
  79. 9 10
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/impl/FeatureCallImpl.java
  80. 4 4
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/impl/StextFactoryImpl.java
  81. 20 20
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/impl/StextPackageImpl.java
  82. 5 5
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/util/StextAdapterFactory.java
  83. 8 8
      plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/util/StextSwitch.java
  84. 3 3
      plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/SText.xtext
  85. 4 5
      plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/STextScopeProvider.java
  86. 35 27
      plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/validation/STextJavaValidator.java
  87. 3 3
      plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/validation/TypeInferrer.xtend
  88. 0 523
      plugins/org.yakindu.sct.model.stext/xtend-gen/org/yakindu/sct/model/stext/validation/TypeInferrer.java
  89. 0 1
      test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/STextJavaValidatorTest.java
  90. 6 6
      test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/util/StextTestFactory.java

+ 51 - 45
plugins/org.yakindu.sct.model.sexec/.project

@@ -1,45 +1,51 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.yakindu.sct.model.sexec</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
-	</natures>
-	<filteredResources>
-		<filter>
-			<id>1325593636766</id>
-			<name>target</name>
-			<type>10</type>
-			<matcher>
-				<id>org.eclipse.ui.ide.multiFilter</id>
-				<arguments>1.0-name-matches-false-false-classes</arguments>
-			</matcher>
-		</filter>
-	</filteredResources>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.yakindu.sct.model.sexec</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.xtend.shared.ui.xtendBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+		<nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>1325593636766</id>
+			<name>target</name>
+			<type>10</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-classes</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>

+ 6 - 6
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/ModelSequencer.xtend

@@ -158,12 +158,12 @@ class ModelSequencer {
 		val allContent = EcoreUtil2::eAllContentsAsList(flow)
 		val declared = allContent.filter(e | e instanceof EventDefinition || e instanceof VariableDefinition || e instanceof OperationDefinition).toSet
 		
-		allContent.filter(typeof(TypedElementReferenceExpression)).forEach( ere | ere.retarget(declared) )
+		allContent.filter(typeof(ElementReferenceExpression)).forEach( ere | ere.retarget(declared) )
 		allContent.filter(typeof(FeatureCall)).forEach( call|call.retarget(declared))
 	}
 	
 	
-	def retarget(TypedElementReferenceExpression ere, Collection<EObject> declared) {
+	def retarget(ElementReferenceExpression ere, Collection<EObject> declared) {
 		if (ere.reference != null && ! declared.contains(ere.reference) ) {
 			val r = ere.reference.replaced 
 			if (r != null) ere.reference = r
@@ -178,14 +178,14 @@ class ModelSequencer {
 	}
 	
 	
-	def dispatch Declaration replaced(NamedElement ne) {
+	def dispatch Declaration replaced(EObject ne) {
 		try {
-			println("Replace with unknown NamedElement called: "+if (ne ==null) "null" else ne.name)
+			println("Replace with unknown eObject called: "+if (ne ==null) "null" else ne.fullyQualifiedName)
 			
-			LogFactory::getLog(typeof(ModelSequencer)).error("Replace with unknown NamedElement called: "+if (ne ==null) "null" else ne.name)
+			LogFactory::getLog(typeof(ModelSequencer)).error("Replace with unknown NamedElement called: "+if (ne ==null) "null" else ne.fullyQualifiedName)
 		} catch (LogConfigurationException e) {
 			e.printStackTrace
-			println("Replace with unknown NamedElement called: "+if (ne ==null) "null" else ne.name)
+			println("Replace with unknown NamedElement called: "+if (ne ==null) "null" else ne.fullyQualifiedName)
 		}
 		null;
 	}

+ 2 - 2
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.xtend

@@ -1,5 +1,5 @@
 package org.yakindu.sct.model.sexec.transformation
- 
+
 import static extension org.eclipse.xtext.xtend2.lib.EObjectExtensions.*
 import static extension org.eclipse.emf.ecore.util.EcoreUtil.*
 import org.yakindu.sct.model.sexec.ExecutionFlow
@@ -380,7 +380,7 @@ class SequenceBuilder {
 	def createInitialization(VariableDefinition vd) {
 		val execution = sexec.factory.createExecution
 		val assignment = stext.factory.createAssignmentExpression 
-		val reference = stext.factory.createTypedElementReferenceExpression
+		val reference = stext.factory.createElementReferenceExpression
 		reference.reference = vd
 		assignment.varRef = reference
 		assignment.operator = AssignmentOperator::ASSIGN

+ 4 - 9
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/SexecElementMapping.xtend

@@ -65,6 +65,7 @@ import org.yakindu.sct.model.stext.stext.OperationDefinition
 import org.eclipse.xtext.util.Strings
 import org.eclipse.xtext.EcoreUtil2
 import org.yakindu.sct.model.sgraph.CompositeElement
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression
  
 
 @Singleton class SexecElementMapping {
@@ -209,13 +210,7 @@ import org.yakindu.sct.model.sgraph.CompositeElement
 	}
 
 	def dispatch Expression raised(RegularEventSpec e) {
-		val r = stext.factory.createTypedElementReferenceExpression
-//		val event = e.event
-//		val target = switch (event) {
-//			FeatureCall: event.feature
-//			TypedElementReferenceExpression: event.reference
-//		}
-//		r.reference = (target as EventDefinition).create
+		val r = stext.factory.createElementReferenceExpression
 		r.reference = e.resolveRegularEventSpec(e.eContainer)
 		return r
 	} 	 
@@ -223,12 +218,12 @@ import org.yakindu.sct.model.sgraph.CompositeElement
 	def dispatch NamedElement resolveRegularEventSpec(Object o, Object context) { null }
 	def dispatch NamedElement resolveRegularEventSpec(RegularEventSpec re, Object context) { if ( re.event != null ) re.event.resolveRegularEventSpec(re) }
 	def dispatch NamedElement resolveRegularEventSpec(FeatureCall fc, Object context) { if (fc.feature != null) fc.feature.resolveRegularEventSpec(fc) }
-	def dispatch NamedElement resolveRegularEventSpec(TypedElementReferenceExpression ter, Object context) { if (ter.reference != null) ter.reference.resolveRegularEventSpec(ter) }
+	def dispatch NamedElement resolveRegularEventSpec(ElementReferenceExpression ter, Object context) { if (ter.reference != null) ter.reference.resolveRegularEventSpec(ter) }
 	def dispatch NamedElement resolveRegularEventSpec(EventDefinition ed, Object context) { ed.create }
 	
 	
 	def dispatch Expression raised(TimeEventSpec e) {
-		val r = stext.factory.createTypedElementReferenceExpression
+		val r = stext.factory.createElementReferenceExpression
 		r.reference = e.createDerivedEvent
 		return r
 	}

+ 27 - 27
plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/ModelSequencer.java

@@ -11,13 +11,13 @@ import org.apache.commons.logging.LogFactory;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.xtext.EcoreUtil2;
 import org.eclipse.xtext.naming.IQualifiedNameProvider;
+import org.eclipse.xtext.naming.QualifiedName;
 import org.eclipse.xtext.xbase.lib.BooleanExtensions;
 import org.eclipse.xtext.xbase.lib.Functions.Function1;
 import org.eclipse.xtext.xbase.lib.InputOutput;
 import org.eclipse.xtext.xbase.lib.IterableExtensions;
 import org.eclipse.xtext.xbase.lib.ObjectExtensions;
 import org.eclipse.xtext.xbase.lib.StringExtensions;
-import org.yakindu.base.base.NamedElement;
 import org.yakindu.base.types.Feature;
 import org.yakindu.sct.model.sexec.ExecutionFlow;
 import org.yakindu.sct.model.sexec.TimeEvent;
@@ -34,10 +34,10 @@ import org.yakindu.sct.model.sexec.transformation.StructureMapping;
 import org.yakindu.sct.model.sexec.transformation.TraceExtensions;
 import org.yakindu.sct.model.sgraph.Declaration;
 import org.yakindu.sct.model.sgraph.Statechart;
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.EventDefinition;
 import org.yakindu.sct.model.stext.stext.FeatureCall;
 import org.yakindu.sct.model.stext.stext.OperationDefinition;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.VariableDefinition;
 
 @SuppressWarnings("all")
@@ -138,14 +138,14 @@ public class ModelSequencer {
       Iterable<EObject> _filter = IterableExtensions.<EObject>filter(allContent, _function);
       Set<EObject> _set = IterableExtensions.<EObject>toSet(_filter);
       final Set<EObject> declared = _set;
-      Iterable<TypedElementReferenceExpression> _filter_1 = IterableExtensions.<TypedElementReferenceExpression>filter(allContent, org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression.class);
-      final Function1<TypedElementReferenceExpression,Object> _function_1 = new Function1<TypedElementReferenceExpression,Object>() {
-          public Object apply(final TypedElementReferenceExpression ere) {
+      Iterable<ElementReferenceExpression> _filter_1 = IterableExtensions.<ElementReferenceExpression>filter(allContent, org.yakindu.sct.model.stext.stext.ElementReferenceExpression.class);
+      final Function1<ElementReferenceExpression,Object> _function_1 = new Function1<ElementReferenceExpression,Object>() {
+          public Object apply(final ElementReferenceExpression ere) {
             Object _retarget = ModelSequencer.this.retarget(ere, declared);
             return _retarget;
           }
         };
-      IterableExtensions.<TypedElementReferenceExpression>forEach(_filter_1, _function_1);
+      IterableExtensions.<ElementReferenceExpression>forEach(_filter_1, _function_1);
       Iterable<FeatureCall> _filter_2 = IterableExtensions.<FeatureCall>filter(allContent, org.yakindu.sct.model.stext.stext.FeatureCall.class);
       final Function1<FeatureCall,Object> _function_2 = new Function1<FeatureCall,Object>() {
           public Object apply(final FeatureCall call) {
@@ -157,15 +157,15 @@ public class ModelSequencer {
     }
   }
   
-  public Object retarget(final TypedElementReferenceExpression ere, final Collection<EObject> declared) {
+  public Object retarget(final ElementReferenceExpression ere, final Collection<EObject> declared) {
     Object _xifexpression = null;
     boolean _operator_and = false;
-    NamedElement _reference = ere.getReference();
+    EObject _reference = ere.getReference();
     boolean _operator_notEquals = ObjectExtensions.operator_notEquals(_reference, null);
     if (!_operator_notEquals) {
       _operator_and = false;
     } else {
-      NamedElement _reference_1 = ere.getReference();
+      EObject _reference_1 = ere.getReference();
       boolean _contains = declared.contains(_reference_1);
       boolean _operator_not = BooleanExtensions.operator_not(_contains);
       _operator_and = BooleanExtensions.operator_and(_operator_notEquals, _operator_not);
@@ -173,7 +173,7 @@ public class ModelSequencer {
     if (_operator_and) {
       Object _xblockexpression = null;
       {
-        NamedElement _reference_2 = ere.getReference();
+        EObject _reference_2 = ere.getReference();
         Declaration _replaced = this.replaced(_reference_2);
         final Declaration r = _replaced;
         Object _xifexpression_1 = null;
@@ -191,12 +191,12 @@ public class ModelSequencer {
   public Object retarget(final FeatureCall call, final Collection<EObject> declared) {
     Object _xifexpression = null;
     boolean _operator_and = false;
-    Feature _feature = call.getFeature();
+    EObject _feature = call.getFeature();
     boolean _operator_notEquals = ObjectExtensions.operator_notEquals(_feature, null);
     if (!_operator_notEquals) {
       _operator_and = false;
     } else {
-      Feature _feature_1 = call.getFeature();
+      EObject _feature_1 = call.getFeature();
       boolean _contains = declared.contains(_feature_1);
       boolean _operator_not = BooleanExtensions.operator_not(_contains);
       _operator_and = BooleanExtensions.operator_and(_operator_notEquals, _operator_not);
@@ -204,7 +204,7 @@ public class ModelSequencer {
     if (_operator_and) {
       Object _xblockexpression = null;
       {
-        Feature _feature_2 = call.getFeature();
+        EObject _feature_2 = call.getFeature();
         Declaration _replaced = this.replaced(_feature_2);
         final Declaration r = _replaced;
         Object _xifexpression_1 = null;
@@ -219,29 +219,29 @@ public class ModelSequencer {
     return _xifexpression;
   }
   
-  protected Declaration _replaced(final NamedElement ne) {
+  protected Declaration _replaced(final EObject ne) {
     Declaration _xblockexpression = null;
     {
       try {
         {
-          String _xifexpression = null;
+          Comparable<? extends Object> _xifexpression = null;
           boolean _operator_equals = ObjectExtensions.operator_equals(ne, null);
           if (_operator_equals) {
             _xifexpression = "null";
           } else {
-            String _name = ne.getName();
-            _xifexpression = _name;
+            QualifiedName _fullyQualifiedName = this.qfnProvider.getFullyQualifiedName(ne);
+            _xifexpression = _fullyQualifiedName;
           }
-          String _operator_plus = StringExtensions.operator_plus("Replace with unknown NamedElement called: ", _xifexpression);
+          String _operator_plus = StringExtensions.operator_plus("Replace with unknown eObject called: ", _xifexpression);
           InputOutput.<String>println(_operator_plus);
           Log _log = LogFactory.getLog(org.yakindu.sct.model.sexec.transformation.ModelSequencer.class);
-          String _xifexpression_1 = null;
+          Comparable<? extends Object> _xifexpression_1 = null;
           boolean _operator_equals_1 = ObjectExtensions.operator_equals(ne, null);
           if (_operator_equals_1) {
             _xifexpression_1 = "null";
           } else {
-            String _name_1 = ne.getName();
-            _xifexpression_1 = _name_1;
+            QualifiedName _fullyQualifiedName_1 = this.qfnProvider.getFullyQualifiedName(ne);
+            _xifexpression_1 = _fullyQualifiedName_1;
           }
           String _operator_plus_1 = StringExtensions.operator_plus("Replace with unknown NamedElement called: ", _xifexpression_1);
           _log.error(_operator_plus_1);
@@ -249,13 +249,13 @@ public class ModelSequencer {
       } catch (final LogConfigurationException e) { 
         {
           e.printStackTrace();
-          String _xifexpression_2 = null;
+          Comparable<? extends Object> _xifexpression_2 = null;
           boolean _operator_equals_2 = ObjectExtensions.operator_equals(ne, null);
           if (_operator_equals_2) {
             _xifexpression_2 = "null";
           } else {
-            String _name_2 = ne.getName();
-            _xifexpression_2 = _name_2;
+            QualifiedName _fullyQualifiedName_2 = this.qfnProvider.getFullyQualifiedName(ne);
+            _xifexpression_2 = _fullyQualifiedName_2;
           }
           String _operator_plus_2 = StringExtensions.operator_plus("Replace with unknown NamedElement called: ", _xifexpression_2);
           InputOutput.<String>println(_operator_plus_2);
@@ -285,7 +285,7 @@ public class ModelSequencer {
     return ed;
   }
   
-  public Declaration replaced(final NamedElement ed) {
+  public Declaration replaced(final EObject ed) {
     if ((ed instanceof TimeEvent)) {
       return _replaced((TimeEvent)ed);
     } else if ((ed instanceof EventDefinition)) {
@@ -294,8 +294,8 @@ public class ModelSequencer {
       return _replaced((OperationDefinition)ed);
     } else if ((ed instanceof VariableDefinition)) {
       return _replaced((VariableDefinition)ed);
-    } else if ((ed instanceof NamedElement)) {
-      return _replaced((NamedElement)ed);
+    } else if ((ed instanceof EObject)) {
+      return _replaced((EObject)ed);
     } else {
       throw new IllegalArgumentException("Unhandled parameter types: " +
         java.util.Arrays.<Object>asList(ed).toString());

+ 3 - 3
plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.java

@@ -53,9 +53,9 @@ import org.yakindu.sct.model.sgraph.Variable;
 import org.yakindu.sct.model.sgraph.Vertex;
 import org.yakindu.sct.model.stext.stext.AssignmentExpression;
 import org.yakindu.sct.model.stext.stext.AssignmentOperator;
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.Expression;
 import org.yakindu.sct.model.stext.stext.StextFactory;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.VariableDefinition;
 
 @SuppressWarnings("all")
@@ -760,8 +760,8 @@ public class SequenceBuilder {
       AssignmentExpression _createAssignmentExpression = _factory_1.createAssignmentExpression();
       final AssignmentExpression assignment = _createAssignmentExpression;
       StextFactory _factory_2 = this.stext.factory();
-      TypedElementReferenceExpression _createTypedElementReferenceExpression = _factory_2.createTypedElementReferenceExpression();
-      final TypedElementReferenceExpression reference = _createTypedElementReferenceExpression;
+      ElementReferenceExpression _createElementReferenceExpression = _factory_2.createElementReferenceExpression();
+      final ElementReferenceExpression reference = _createElementReferenceExpression;
       reference.setReference(vd);
       assignment.setVarRef(reference);
       assignment.setOperator(AssignmentOperator.ASSIGN);

+ 13 - 14
plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/SexecElementMapping.java

@@ -17,7 +17,6 @@ import org.eclipse.xtext.xbase.lib.IterableExtensions;
 import org.eclipse.xtext.xbase.lib.ObjectExtensions;
 import org.eclipse.xtext.xbase.lib.StringExtensions;
 import org.yakindu.base.base.NamedElement;
-import org.yakindu.base.types.Feature;
 import org.yakindu.sct.model.sexec.Call;
 import org.yakindu.sct.model.sexec.Check;
 import org.yakindu.sct.model.sexec.CheckRef;
@@ -54,6 +53,7 @@ import org.yakindu.sct.model.sgraph.Vertex;
 import org.yakindu.sct.model.stext.stext.AlwaysEvent;
 import org.yakindu.sct.model.stext.stext.BoolLiteral;
 import org.yakindu.sct.model.stext.stext.DefaultEvent;
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.EventDefinition;
 import org.yakindu.sct.model.stext.stext.EventSpec;
 import org.yakindu.sct.model.stext.stext.Expression;
@@ -69,7 +69,6 @@ import org.yakindu.sct.model.stext.stext.RegularEventSpec;
 import org.yakindu.sct.model.stext.stext.StextFactory;
 import org.yakindu.sct.model.stext.stext.TimeEventSpec;
 import org.yakindu.sct.model.stext.stext.TimeEventType;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.VariableDefinition;
 
 @SuppressWarnings("all")
@@ -583,8 +582,8 @@ public class SexecElementMapping {
   protected Expression _raised(final RegularEventSpec e) {
     {
       StextFactory _factory = this.stext.factory();
-      TypedElementReferenceExpression _createTypedElementReferenceExpression = _factory.createTypedElementReferenceExpression();
-      final TypedElementReferenceExpression r = _createTypedElementReferenceExpression;
+      ElementReferenceExpression _createElementReferenceExpression = _factory.createElementReferenceExpression();
+      final ElementReferenceExpression r = _createElementReferenceExpression;
       EObject _eContainer = e.eContainer();
       NamedElement _resolveRegularEventSpec = this.resolveRegularEventSpec(e, _eContainer);
       r.setReference(_resolveRegularEventSpec);
@@ -610,22 +609,22 @@ public class SexecElementMapping {
   
   protected NamedElement _resolveRegularEventSpec(final FeatureCall fc, final Object context) {
     NamedElement _xifexpression = null;
-    Feature _feature = fc.getFeature();
+    EObject _feature = fc.getFeature();
     boolean _operator_notEquals = ObjectExtensions.operator_notEquals(_feature, null);
     if (_operator_notEquals) {
-      Feature _feature_1 = fc.getFeature();
+      EObject _feature_1 = fc.getFeature();
       NamedElement _resolveRegularEventSpec = this.resolveRegularEventSpec(_feature_1, fc);
       _xifexpression = _resolveRegularEventSpec;
     }
     return _xifexpression;
   }
   
-  protected NamedElement _resolveRegularEventSpec(final TypedElementReferenceExpression ter, final Object context) {
+  protected NamedElement _resolveRegularEventSpec(final ElementReferenceExpression ter, final Object context) {
     NamedElement _xifexpression = null;
-    NamedElement _reference = ter.getReference();
+    EObject _reference = ter.getReference();
     boolean _operator_notEquals = ObjectExtensions.operator_notEquals(_reference, null);
     if (_operator_notEquals) {
-      NamedElement _reference_1 = ter.getReference();
+      EObject _reference_1 = ter.getReference();
       NamedElement _resolveRegularEventSpec = this.resolveRegularEventSpec(_reference_1, ter);
       _xifexpression = _resolveRegularEventSpec;
     }
@@ -640,8 +639,8 @@ public class SexecElementMapping {
   protected Expression _raised(final TimeEventSpec e) {
     {
       StextFactory _factory = this.stext.factory();
-      TypedElementReferenceExpression _createTypedElementReferenceExpression = _factory.createTypedElementReferenceExpression();
-      final TypedElementReferenceExpression r = _createTypedElementReferenceExpression;
+      ElementReferenceExpression _createElementReferenceExpression = _factory.createElementReferenceExpression();
+      final ElementReferenceExpression r = _createElementReferenceExpression;
       TimeEvent _createDerivedEvent = this.createDerivedEvent(e);
       r.setReference(_createDerivedEvent);
       return r;
@@ -732,12 +731,12 @@ public class SexecElementMapping {
     if ((ed instanceof EventDefinition)
          && (context instanceof Object)) {
       return _resolveRegularEventSpec((EventDefinition)ed, (Object)context);
+    } else if ((ed instanceof ElementReferenceExpression)
+         && (context instanceof Object)) {
+      return _resolveRegularEventSpec((ElementReferenceExpression)ed, (Object)context);
     } else if ((ed instanceof FeatureCall)
          && (context instanceof Object)) {
       return _resolveRegularEventSpec((FeatureCall)ed, (Object)context);
-    } else if ((ed instanceof TypedElementReferenceExpression)
-         && (context instanceof Object)) {
-      return _resolveRegularEventSpec((TypedElementReferenceExpression)ed, (Object)context);
     } else if ((ed instanceof RegularEventSpec)
          && (context instanceof Object)) {
       return _resolveRegularEventSpec((RegularEventSpec)ed, (Object)context);

BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateAssignmentExpression_expression_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateAssignmentExpression_varRef_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_ActiveStateReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_AssignmentExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_BitwiseAndExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_BitwiseOrExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_BitwiseXorExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_ConditionalExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_EventRaisingExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_EventValueReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_Expression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_FeatureCall.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_LogicalAndExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_LogicalNotExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_LogicalOrExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_LogicalRelationExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_NumericalAddSubtractExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_NumericalMultiplyDivideExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_NumericalUnaryExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_PrimitiveValueExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateElementReferenceExpression_args_ShiftExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateEventRaisingExpression_event_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateEventRaisingExpression_value_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateEventValueReferenceExpression_value_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateFeatureCall_args_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateFeatureCall_owner_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.stext.edit/icons/full/ctool16/CreateRegularEventSpec_event_ElementReferenceExpression.gif


+ 3 - 0
plugins/org.yakindu.sct.model.stext.edit/plugin.properties

@@ -221,3 +221,6 @@ _UI_Expression_operationCall_feature = Operation Call
 _UI_Expression_args_feature = Args
 _UI_TypedElementReferenceExpression_operationCall_feature = Operation Call
 _UI_TypedElementReferenceExpression_args_feature = Args
+_UI_ElementReferenceExpression_reference_feature = Reference
+_UI_ElementReferenceExpression_operationCall_feature = Operation Call
+_UI_ElementReferenceExpression_args_feature = Args

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/AssignmentExpressionItemProvider.java

@@ -284,7 +284,7 @@ public class AssignmentExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.ASSIGNMENT_EXPRESSION__VAR_REF,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -384,7 +384,7 @@ public class AssignmentExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.ASSIGNMENT_EXPRESSION__EXPRESSION,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/BitwiseAndExpressionItemProvider.java

@@ -249,7 +249,7 @@ public class BitwiseAndExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.BITWISE_AND_EXPRESSION__LEFT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -349,7 +349,7 @@ public class BitwiseAndExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.BITWISE_AND_EXPRESSION__RIGHT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/BitwiseOrExpressionItemProvider.java

@@ -249,7 +249,7 @@ public class BitwiseOrExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.BITWISE_OR_EXPRESSION__LEFT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -349,7 +349,7 @@ public class BitwiseOrExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.BITWISE_OR_EXPRESSION__RIGHT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/BitwiseXorExpressionItemProvider.java

@@ -249,7 +249,7 @@ public class BitwiseXorExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.BITWISE_XOR_EXPRESSION__LEFT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -349,7 +349,7 @@ public class BitwiseXorExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.BITWISE_XOR_EXPRESSION__RIGHT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 3 - 3
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/ConditionalExpressionItemProvider.java

@@ -251,7 +251,7 @@ public class ConditionalExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.CONDITIONAL_EXPRESSION__CONDITION,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -351,7 +351,7 @@ public class ConditionalExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.CONDITIONAL_EXPRESSION__TRUE_CASE,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -451,7 +451,7 @@ public class ConditionalExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.CONDITIONAL_EXPRESSION__FALSE_CASE,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 39 - 39
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/TypedElementReferenceExpressionItemProvider.java

@@ -25,17 +25,17 @@ import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.StextFactory;
 import org.yakindu.sct.model.stext.stext.StextPackage;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 
 /**
- * This is the item provider adapter for a {@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression} object.
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class TypedElementReferenceExpressionItemProvider
+public class ElementReferenceExpressionItemProvider
   extends ExpressionItemProvider
   implements
     IEditingDomainItemProvider,
@@ -50,7 +50,7 @@ public class TypedElementReferenceExpressionItemProvider
    * <!-- end-user-doc -->
    * @generated
    */
-  public TypedElementReferenceExpressionItemProvider(AdapterFactory adapterFactory)
+  public ElementReferenceExpressionItemProvider(AdapterFactory adapterFactory)
   {
     super(adapterFactory);
   }
@@ -86,9 +86,9 @@ public class TypedElementReferenceExpressionItemProvider
       (createItemPropertyDescriptor
         (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
          getResourceLocator(),
-         getString("_UI_TypedElementReferenceExpression_reference_feature"),
-         getString("_UI_PropertyDescriptor_description", "_UI_TypedElementReferenceExpression_reference_feature", "_UI_TypedElementReferenceExpression_type"),
-         StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
+         getString("_UI_ElementReferenceExpression_reference_feature"),
+         getString("_UI_PropertyDescriptor_description", "_UI_ElementReferenceExpression_reference_feature", "_UI_ElementReferenceExpression_type"),
+         StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
          true,
          false,
          true,
@@ -109,9 +109,9 @@ public class TypedElementReferenceExpressionItemProvider
       (createItemPropertyDescriptor
         (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
          getResourceLocator(),
-         getString("_UI_TypedElementReferenceExpression_operationCall_feature"),
-         getString("_UI_PropertyDescriptor_description", "_UI_TypedElementReferenceExpression_operationCall_feature", "_UI_TypedElementReferenceExpression_type"),
-         StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL,
+         getString("_UI_ElementReferenceExpression_operationCall_feature"),
+         getString("_UI_PropertyDescriptor_description", "_UI_ElementReferenceExpression_operationCall_feature", "_UI_ElementReferenceExpression_type"),
+         StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL,
          true,
          false,
          false,
@@ -134,7 +134,7 @@ public class TypedElementReferenceExpressionItemProvider
     if (childrenFeatures == null)
     {
       super.getChildrenFeatures(object);
-      childrenFeatures.add(StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS);
+      childrenFeatures.add(StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS);
     }
     return childrenFeatures;
   }
@@ -154,7 +154,7 @@ public class TypedElementReferenceExpressionItemProvider
   }
 
   /**
-   * This returns TypedElementReferenceExpression.gif.
+   * This returns ElementReferenceExpression.gif.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
@@ -162,7 +162,7 @@ public class TypedElementReferenceExpressionItemProvider
   @Override
   public Object getImage(Object object)
   {
-    return overlayImage(object, getResourceLocator().getImage("full/obj16/TypedElementReferenceExpression"));
+    return overlayImage(object, getResourceLocator().getImage("full/obj16/ElementReferenceExpression"));
   }
 
   /**
@@ -174,8 +174,8 @@ public class TypedElementReferenceExpressionItemProvider
   @Override
   public String getText(Object object)
   {
-    TypedElementReferenceExpression typedElementReferenceExpression = (TypedElementReferenceExpression)object;
-    return getString("_UI_TypedElementReferenceExpression_type") + " " + typedElementReferenceExpression.isOperationCall();
+    ElementReferenceExpression elementReferenceExpression = (ElementReferenceExpression)object;
+    return getString("_UI_ElementReferenceExpression_type") + " " + elementReferenceExpression.isOperationCall();
   }
 
   /**
@@ -190,12 +190,12 @@ public class TypedElementReferenceExpressionItemProvider
   {
     updateChildren(notification);
 
-    switch (notification.getFeatureID(TypedElementReferenceExpression.class))
+    switch (notification.getFeatureID(ElementReferenceExpression.class))
     {
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
         fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
         return;
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__ARGS:
         fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
         return;
     }
@@ -216,102 +216,102 @@ public class TypedElementReferenceExpressionItemProvider
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createEventRaisingExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createAssignmentExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createConditionalExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createLogicalOrExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createLogicalAndExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createLogicalNotExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createBitwiseXorExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createBitwiseOrExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createBitwiseAndExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createLogicalRelationExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createShiftExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createNumericalAddSubtractExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createNumericalMultiplyDivideExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createNumericalUnaryExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createPrimitiveValueExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createFeatureCall()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createEventValueReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
-        (StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS,
+        (StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__ARGS,
          StextFactory.eINSTANCE.createActiveStateReferenceExpression()));
   }
 

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/EventDerivationItemProvider.java

@@ -252,7 +252,7 @@ public class EventDerivationItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.EVENT_DERIVATION__CONDITION,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -352,7 +352,7 @@ public class EventDerivationItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.EVENT_DERIVATION__VALUE,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/EventRaisingExpressionItemProvider.java

@@ -250,7 +250,7 @@ public class EventRaisingExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.EVENT_RAISING_EXPRESSION__EVENT,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -350,7 +350,7 @@ public class EventRaisingExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.EVENT_RAISING_EXPRESSION__VALUE,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 1 - 1
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/EventValueReferenceExpressionItemProvider.java

@@ -247,7 +247,7 @@ public class EventValueReferenceExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.EVENT_VALUE_REFERENCE_EXPRESSION__VALUE,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/FeatureCallItemProvider.java

@@ -304,7 +304,7 @@ public class FeatureCallItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.FEATURE_CALL__OWNER,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -404,7 +404,7 @@ public class FeatureCallItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.FEATURE_CALL__ARGS,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/LogicalAndExpressionItemProvider.java

@@ -249,7 +249,7 @@ public class LogicalAndExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.LOGICAL_AND_EXPRESSION__LEFT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -349,7 +349,7 @@ public class LogicalAndExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.LOGICAL_AND_EXPRESSION__RIGHT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 1 - 1
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/LogicalNotExpressionItemProvider.java

@@ -247,7 +247,7 @@ public class LogicalNotExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.LOGICAL_NOT_EXPRESSION__OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/LogicalOrExpressionItemProvider.java

@@ -249,7 +249,7 @@ public class LogicalOrExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.LOGICAL_OR_EXPRESSION__LEFT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -349,7 +349,7 @@ public class LogicalOrExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.LOGICAL_OR_EXPRESSION__RIGHT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/LogicalRelationExpressionItemProvider.java

@@ -283,7 +283,7 @@ public class LogicalRelationExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.LOGICAL_RELATION_EXPRESSION__LEFT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -383,7 +383,7 @@ public class LogicalRelationExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.LOGICAL_RELATION_EXPRESSION__RIGHT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/NumericalAddSubtractExpressionItemProvider.java

@@ -283,7 +283,7 @@ public class NumericalAddSubtractExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.NUMERICAL_ADD_SUBTRACT_EXPRESSION__LEFT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -383,7 +383,7 @@ public class NumericalAddSubtractExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.NUMERICAL_ADD_SUBTRACT_EXPRESSION__RIGHT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/NumericalMultiplyDivideExpressionItemProvider.java

@@ -283,7 +283,7 @@ public class NumericalMultiplyDivideExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.NUMERICAL_MULTIPLY_DIVIDE_EXPRESSION__LEFT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -383,7 +383,7 @@ public class NumericalMultiplyDivideExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.NUMERICAL_MULTIPLY_DIVIDE_EXPRESSION__RIGHT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 1 - 1
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/NumericalUnaryExpressionItemProvider.java

@@ -281,7 +281,7 @@ public class NumericalUnaryExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.NUMERICAL_UNARY_EXPRESSION__OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 1 - 1
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/ReactionEffectItemProvider.java

@@ -251,7 +251,7 @@ public class ReactionEffectItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.REACTION_EFFECT__ACTIONS,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 1 - 1
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/ReactionTriggerItemProvider.java

@@ -298,7 +298,7 @@ public class ReactionTriggerItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.REACTION_TRIGGER__GUARD_EXPRESSION,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 1 - 1
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/RegularEventSpecItemProvider.java

@@ -247,7 +247,7 @@ public class RegularEventSpecItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.REGULAR_EVENT_SPEC__EVENT,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 2 - 2
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/ShiftExpressionItemProvider.java

@@ -283,7 +283,7 @@ public class ShiftExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.SHIFT_EXPRESSION__LEFT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter
@@ -383,7 +383,7 @@ public class ShiftExpressionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.SHIFT_EXPRESSION__RIGHT_OPERAND,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 8 - 8
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/StextItemProviderAdapterFactory.java

@@ -1527,28 +1527,28 @@ public class StextItemProviderAdapterFactory extends StextAdapterFactory impleme
   }
 
   /**
-   * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression} instances.
+   * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression} instances.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  protected TypedElementReferenceExpressionItemProvider typedElementReferenceExpressionItemProvider;
+  protected ElementReferenceExpressionItemProvider elementReferenceExpressionItemProvider;
 
   /**
-   * This creates an adapter for a {@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression}.
+   * This creates an adapter for a {@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression}.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
   @Override
-  public Adapter createTypedElementReferenceExpressionAdapter()
+  public Adapter createElementReferenceExpressionAdapter()
   {
-    if (typedElementReferenceExpressionItemProvider == null)
+    if (elementReferenceExpressionItemProvider == null)
     {
-      typedElementReferenceExpressionItemProvider = new TypedElementReferenceExpressionItemProvider(this);
+      elementReferenceExpressionItemProvider = new ElementReferenceExpressionItemProvider(this);
     }
 
-    return typedElementReferenceExpressionItemProvider;
+    return elementReferenceExpressionItemProvider;
   }
 
   /**
@@ -1770,7 +1770,7 @@ public class StextItemProviderAdapterFactory extends StextAdapterFactory impleme
     if (numericalUnaryExpressionItemProvider != null) numericalUnaryExpressionItemProvider.dispose();
     if (primitiveValueExpressionItemProvider != null) primitiveValueExpressionItemProvider.dispose();
     if (featureCallItemProvider != null) featureCallItemProvider.dispose();
-    if (typedElementReferenceExpressionItemProvider != null) typedElementReferenceExpressionItemProvider.dispose();
+    if (elementReferenceExpressionItemProvider != null) elementReferenceExpressionItemProvider.dispose();
     if (eventValueReferenceExpressionItemProvider != null) eventValueReferenceExpressionItemProvider.dispose();
     if (activeStateReferenceExpressionItemProvider != null) activeStateReferenceExpressionItemProvider.dispose();
   }

+ 1 - 1
plugins/org.yakindu.sct.model.stext.edit/src/org/yakindu/sct/model/stext/stext/provider/VariableDefinitionItemProvider.java

@@ -334,7 +334,7 @@ public class VariableDefinitionItemProvider
     newChildDescriptors.add
       (createChildParameter
         (StextPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-         StextFactory.eINSTANCE.createTypedElementReferenceExpression()));
+         StextFactory.eINSTANCE.createElementReferenceExpression()));
 
     newChildDescriptors.add
       (createChildParameter

+ 4 - 4
plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/AbstractSTextProposalProvider.java

@@ -243,13 +243,13 @@ public class AbstractSTextProposalProvider extends TerminalsProposalProvider {
 	public void completeFeatureCall_Args(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeTypedElementReferenceExpression_Reference(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeElementReferenceExpression_Reference(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeTypedElementReferenceExpression_OperationCall(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeElementReferenceExpression_OperationCall(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
-	public void completeTypedElementReferenceExpression_Args(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeElementReferenceExpression_Args(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeEventValueReferenceExpression_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -481,7 +481,7 @@ public class AbstractSTextProposalProvider extends TerminalsProposalProvider {
 	public void complete_FeatureCall(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
-	public void complete_TypedElementReferenceExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void complete_ElementReferenceExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
 	public void complete_EventValueReferenceExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {

+ 8 - 8
plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/STextParser.java

@@ -144,10 +144,10 @@ public class STextParser extends AbstractContentAssistParser {
 					put(grammarAccess.getFeatureCallAccess().getGroup_1_3(), "rule__FeatureCall__Group_1_3__0");
 					put(grammarAccess.getFeatureCallAccess().getGroup_1_3_1(), "rule__FeatureCall__Group_1_3_1__0");
 					put(grammarAccess.getFeatureCallAccess().getGroup_1_3_1_1(), "rule__FeatureCall__Group_1_3_1_1__0");
-					put(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup(), "rule__TypedElementReferenceExpression__Group__0");
-					put(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2(), "rule__TypedElementReferenceExpression__Group_2__0");
-					put(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2_1(), "rule__TypedElementReferenceExpression__Group_2_1__0");
-					put(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2_1_1(), "rule__TypedElementReferenceExpression__Group_2_1_1__0");
+					put(grammarAccess.getElementReferenceExpressionAccess().getGroup(), "rule__ElementReferenceExpression__Group__0");
+					put(grammarAccess.getElementReferenceExpressionAccess().getGroup_2(), "rule__ElementReferenceExpression__Group_2__0");
+					put(grammarAccess.getElementReferenceExpressionAccess().getGroup_2_1(), "rule__ElementReferenceExpression__Group_2_1__0");
+					put(grammarAccess.getElementReferenceExpressionAccess().getGroup_2_1_1(), "rule__ElementReferenceExpression__Group_2_1_1__0");
 					put(grammarAccess.getEventValueReferenceExpressionAccess().getGroup(), "rule__EventValueReferenceExpression__Group__0");
 					put(grammarAccess.getActiveStateReferenceExpressionAccess().getGroup(), "rule__ActiveStateReferenceExpression__Group__0");
 					put(grammarAccess.getBoolLiteralAccess().getGroup(), "rule__BoolLiteral__Group__0");
@@ -232,10 +232,10 @@ public class STextParser extends AbstractContentAssistParser {
 					put(grammarAccess.getFeatureCallAccess().getOperationCallAssignment_1_3_0(), "rule__FeatureCall__OperationCallAssignment_1_3_0");
 					put(grammarAccess.getFeatureCallAccess().getArgsAssignment_1_3_1_0(), "rule__FeatureCall__ArgsAssignment_1_3_1_0");
 					put(grammarAccess.getFeatureCallAccess().getArgsAssignment_1_3_1_1_1(), "rule__FeatureCall__ArgsAssignment_1_3_1_1_1");
-					put(grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceAssignment_1(), "rule__TypedElementReferenceExpression__ReferenceAssignment_1");
-					put(grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallAssignment_2_0(), "rule__TypedElementReferenceExpression__OperationCallAssignment_2_0");
-					put(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsAssignment_2_1_0(), "rule__TypedElementReferenceExpression__ArgsAssignment_2_1_0");
-					put(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsAssignment_2_1_1_1(), "rule__TypedElementReferenceExpression__ArgsAssignment_2_1_1_1");
+					put(grammarAccess.getElementReferenceExpressionAccess().getReferenceAssignment_1(), "rule__ElementReferenceExpression__ReferenceAssignment_1");
+					put(grammarAccess.getElementReferenceExpressionAccess().getOperationCallAssignment_2_0(), "rule__ElementReferenceExpression__OperationCallAssignment_2_0");
+					put(grammarAccess.getElementReferenceExpressionAccess().getArgsAssignment_2_1_0(), "rule__ElementReferenceExpression__ArgsAssignment_2_1_0");
+					put(grammarAccess.getElementReferenceExpressionAccess().getArgsAssignment_2_1_1_1(), "rule__ElementReferenceExpression__ArgsAssignment_2_1_1_1");
 					put(grammarAccess.getEventValueReferenceExpressionAccess().getValueAssignment_3(), "rule__EventValueReferenceExpression__ValueAssignment_3");
 					put(grammarAccess.getActiveStateReferenceExpressionAccess().getValueAssignment_3(), "rule__ActiveStateReferenceExpression__ValueAssignment_3");
 					put(grammarAccess.getBoolLiteralAccess().getValueAssignment_1(), "rule__BoolLiteral__ValueAssignment_1");

+ 96 - 96
plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/internal/InternalSText.g

@@ -1699,25 +1699,25 @@ finally {
 
 
 
-// Entry rule entryRuleTypedElementReferenceExpression
-entryRuleTypedElementReferenceExpression 
+// Entry rule entryRuleElementReferenceExpression
+entryRuleElementReferenceExpression 
 :
-{ before(grammarAccess.getTypedElementReferenceExpressionRule()); }
-	 ruleTypedElementReferenceExpression
-{ after(grammarAccess.getTypedElementReferenceExpressionRule()); } 
+{ before(grammarAccess.getElementReferenceExpressionRule()); }
+	 ruleElementReferenceExpression
+{ after(grammarAccess.getElementReferenceExpressionRule()); } 
 	 EOF 
 ;
 
-// Rule TypedElementReferenceExpression
-ruleTypedElementReferenceExpression
+// Rule ElementReferenceExpression
+ruleElementReferenceExpression
     @init {
 		int stackSize = keepStackSize();
     }
 	:
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup()); }
-(rule__TypedElementReferenceExpression__Group__0)
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getGroup()); }
+(rule__ElementReferenceExpression__Group__0)
+{ after(grammarAccess.getElementReferenceExpressionAccess().getGroup()); }
 )
 
 ;
@@ -9116,9 +9116,9 @@ rule__FeatureCall__Group__0__Impl
     }
 :
 (
-{ before(grammarAccess.getFeatureCallAccess().getTypedElementReferenceExpressionParserRuleCall_0()); }
-	ruleTypedElementReferenceExpression
-{ after(grammarAccess.getFeatureCallAccess().getTypedElementReferenceExpressionParserRuleCall_0()); }
+{ before(grammarAccess.getFeatureCallAccess().getElementReferenceExpressionParserRuleCall_0()); }
+	ruleElementReferenceExpression
+{ after(grammarAccess.getFeatureCallAccess().getElementReferenceExpressionParserRuleCall_0()); }
 )
 
 ;
@@ -9504,29 +9504,29 @@ finally {
 
 
 
-rule__TypedElementReferenceExpression__Group__0
+rule__ElementReferenceExpression__Group__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group__0__Impl
-	rule__TypedElementReferenceExpression__Group__1
+	rule__ElementReferenceExpression__Group__0__Impl
+	rule__ElementReferenceExpression__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group__0__Impl
+rule__ElementReferenceExpression__Group__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0()); }
 (
 
 )
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0()); }
+{ after(grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0()); }
 )
 
 ;
@@ -9535,27 +9535,27 @@ finally {
 }
 
 
-rule__TypedElementReferenceExpression__Group__1
+rule__ElementReferenceExpression__Group__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group__1__Impl
-	rule__TypedElementReferenceExpression__Group__2
+	rule__ElementReferenceExpression__Group__1__Impl
+	rule__ElementReferenceExpression__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group__1__Impl
+rule__ElementReferenceExpression__Group__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceAssignment_1()); }
-(rule__TypedElementReferenceExpression__ReferenceAssignment_1)
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceAssignment_1()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getReferenceAssignment_1()); }
+(rule__ElementReferenceExpression__ReferenceAssignment_1)
+{ after(grammarAccess.getElementReferenceExpressionAccess().getReferenceAssignment_1()); }
 )
 
 ;
@@ -9564,26 +9564,26 @@ finally {
 }
 
 
-rule__TypedElementReferenceExpression__Group__2
+rule__ElementReferenceExpression__Group__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group__2__Impl
+	rule__ElementReferenceExpression__Group__2__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group__2__Impl
+rule__ElementReferenceExpression__Group__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2()); }
-(rule__TypedElementReferenceExpression__Group_2__0)?
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getGroup_2()); }
+(rule__ElementReferenceExpression__Group_2__0)?
+{ after(grammarAccess.getElementReferenceExpressionAccess().getGroup_2()); }
 )
 
 ;
@@ -9598,27 +9598,27 @@ finally {
 
 
 
-rule__TypedElementReferenceExpression__Group_2__0
+rule__ElementReferenceExpression__Group_2__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group_2__0__Impl
-	rule__TypedElementReferenceExpression__Group_2__1
+	rule__ElementReferenceExpression__Group_2__0__Impl
+	rule__ElementReferenceExpression__Group_2__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group_2__0__Impl
+rule__ElementReferenceExpression__Group_2__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallAssignment_2_0()); }
-(rule__TypedElementReferenceExpression__OperationCallAssignment_2_0)
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallAssignment_2_0()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getOperationCallAssignment_2_0()); }
+(rule__ElementReferenceExpression__OperationCallAssignment_2_0)
+{ after(grammarAccess.getElementReferenceExpressionAccess().getOperationCallAssignment_2_0()); }
 )
 
 ;
@@ -9627,27 +9627,27 @@ finally {
 }
 
 
-rule__TypedElementReferenceExpression__Group_2__1
+rule__ElementReferenceExpression__Group_2__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group_2__1__Impl
-	rule__TypedElementReferenceExpression__Group_2__2
+	rule__ElementReferenceExpression__Group_2__1__Impl
+	rule__ElementReferenceExpression__Group_2__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group_2__1__Impl
+rule__ElementReferenceExpression__Group_2__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2_1()); }
-(rule__TypedElementReferenceExpression__Group_2_1__0)?
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2_1()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getGroup_2_1()); }
+(rule__ElementReferenceExpression__Group_2_1__0)?
+{ after(grammarAccess.getElementReferenceExpressionAccess().getGroup_2_1()); }
 )
 
 ;
@@ -9656,28 +9656,28 @@ finally {
 }
 
 
-rule__TypedElementReferenceExpression__Group_2__2
+rule__ElementReferenceExpression__Group_2__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group_2__2__Impl
+	rule__ElementReferenceExpression__Group_2__2__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group_2__2__Impl
+rule__ElementReferenceExpression__Group_2__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2()); }
 
 	')' 
 
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2()); }
+{ after(grammarAccess.getElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2()); }
 )
 
 ;
@@ -9692,27 +9692,27 @@ finally {
 
 
 
-rule__TypedElementReferenceExpression__Group_2_1__0
+rule__ElementReferenceExpression__Group_2_1__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group_2_1__0__Impl
-	rule__TypedElementReferenceExpression__Group_2_1__1
+	rule__ElementReferenceExpression__Group_2_1__0__Impl
+	rule__ElementReferenceExpression__Group_2_1__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group_2_1__0__Impl
+rule__ElementReferenceExpression__Group_2_1__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsAssignment_2_1_0()); }
-(rule__TypedElementReferenceExpression__ArgsAssignment_2_1_0)
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsAssignment_2_1_0()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getArgsAssignment_2_1_0()); }
+(rule__ElementReferenceExpression__ArgsAssignment_2_1_0)
+{ after(grammarAccess.getElementReferenceExpressionAccess().getArgsAssignment_2_1_0()); }
 )
 
 ;
@@ -9721,26 +9721,26 @@ finally {
 }
 
 
-rule__TypedElementReferenceExpression__Group_2_1__1
+rule__ElementReferenceExpression__Group_2_1__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group_2_1__1__Impl
+	rule__ElementReferenceExpression__Group_2_1__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group_2_1__1__Impl
+rule__ElementReferenceExpression__Group_2_1__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2_1_1()); }
-(rule__TypedElementReferenceExpression__Group_2_1_1__0)*
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2_1_1()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getGroup_2_1_1()); }
+(rule__ElementReferenceExpression__Group_2_1_1__0)*
+{ after(grammarAccess.getElementReferenceExpressionAccess().getGroup_2_1_1()); }
 )
 
 ;
@@ -9753,29 +9753,29 @@ finally {
 
 
 
-rule__TypedElementReferenceExpression__Group_2_1_1__0
+rule__ElementReferenceExpression__Group_2_1_1__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group_2_1_1__0__Impl
-	rule__TypedElementReferenceExpression__Group_2_1_1__1
+	rule__ElementReferenceExpression__Group_2_1_1__0__Impl
+	rule__ElementReferenceExpression__Group_2_1_1__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group_2_1_1__0__Impl
+rule__ElementReferenceExpression__Group_2_1_1__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0()); }
 
 	',' 
 
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0()); }
+{ after(grammarAccess.getElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0()); }
 )
 
 ;
@@ -9784,26 +9784,26 @@ finally {
 }
 
 
-rule__TypedElementReferenceExpression__Group_2_1_1__1
+rule__ElementReferenceExpression__Group_2_1_1__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__TypedElementReferenceExpression__Group_2_1_1__1__Impl
+	rule__ElementReferenceExpression__Group_2_1_1__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__Group_2_1_1__1__Impl
+rule__ElementReferenceExpression__Group_2_1_1__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsAssignment_2_1_1_1()); }
-(rule__TypedElementReferenceExpression__ArgsAssignment_2_1_1_1)
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsAssignment_2_1_1_1()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getArgsAssignment_2_1_1_1()); }
+(rule__ElementReferenceExpression__ArgsAssignment_2_1_1_1)
+{ after(grammarAccess.getElementReferenceExpressionAccess().getArgsAssignment_2_1_1_1()); }
 )
 
 ;
@@ -11698,12 +11698,12 @@ rule__FeatureCall__FeatureAssignment_1_2
     }
 :
 (
-{ before(grammarAccess.getFeatureCallAccess().getFeatureFeatureCrossReference_1_2_0()); }
+{ before(grammarAccess.getFeatureCallAccess().getFeatureEObjectCrossReference_1_2_0()); }
 (
-{ before(grammarAccess.getFeatureCallAccess().getFeatureFeatureIDTerminalRuleCall_1_2_0_1()); }
-	RULE_ID{ after(grammarAccess.getFeatureCallAccess().getFeatureFeatureIDTerminalRuleCall_1_2_0_1()); }
+{ before(grammarAccess.getFeatureCallAccess().getFeatureEObjectIDTerminalRuleCall_1_2_0_1()); }
+	RULE_ID{ after(grammarAccess.getFeatureCallAccess().getFeatureEObjectIDTerminalRuleCall_1_2_0_1()); }
 )
-{ after(grammarAccess.getFeatureCallAccess().getFeatureFeatureCrossReference_1_2_0()); }
+{ after(grammarAccess.getFeatureCallAccess().getFeatureEObjectCrossReference_1_2_0()); }
 )
 
 ;
@@ -11764,18 +11764,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__ReferenceAssignment_1
+rule__ElementReferenceExpression__ReferenceAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceNamedElementCrossReference_1_0()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getReferenceEObjectCrossReference_1_0()); }
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceNamedElementIDTerminalRuleCall_1_0_1()); }
-	RULE_ID{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceNamedElementIDTerminalRuleCall_1_0_1()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getReferenceEObjectIDTerminalRuleCall_1_0_1()); }
+	RULE_ID{ after(grammarAccess.getElementReferenceExpressionAccess().getReferenceEObjectIDTerminalRuleCall_1_0_1()); }
 )
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceNamedElementCrossReference_1_0()); }
+{ after(grammarAccess.getElementReferenceExpressionAccess().getReferenceEObjectCrossReference_1_0()); }
 )
 
 ;
@@ -11783,22 +11783,22 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__OperationCallAssignment_2_0
+rule__ElementReferenceExpression__OperationCallAssignment_2_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0()); }
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0()); }
 
 	'(' 
 
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0()); }
+{ after(grammarAccess.getElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0()); }
 )
 
-{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0()); }
+{ after(grammarAccess.getElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0()); }
 )
 
 ;
@@ -11806,14 +11806,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__ArgsAssignment_2_1_0
+rule__ElementReferenceExpression__ArgsAssignment_2_1_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0()); }
-	ruleExpression{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0()); }
+	ruleExpression{ after(grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0()); }
 )
 
 ;
@@ -11821,14 +11821,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__TypedElementReferenceExpression__ArgsAssignment_2_1_1_1
+rule__ElementReferenceExpression__ArgsAssignment_2_1_1_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0()); }
-	ruleExpression{ after(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0()); }
+{ before(grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0()); }
+	ruleExpression{ after(grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0()); }
 )
 
 ;

+ 154 - 154
plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/internal/InternalSText.tokens

@@ -1,154 +1,154 @@
-T__68=68
-T__69=69
-RULE_ID=4
-T__66=66
-T__67=67
-T__64=64
-T__29=29
-T__65=65
-T__28=28
-T__62=62
-T__27=27
-T__63=63
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=13
-T__21=21
-T__20=20
-RULE_BOOL=6
-T__61=61
-T__60=60
-T__55=55
-T__56=56
-T__19=19
-T__57=57
-RULE_HEX=8
-T__58=58
-T__16=16
-T__51=51
-T__15=15
-T__52=52
-T__18=18
-T__53=53
-T__54=54
-T__17=17
-T__14=14
-T__59=59
-RULE_INT=5
-T__50=50
-T__42=42
-T__43=43
-T__40=40
-T__41=41
-T__80=80
-T__46=46
-T__81=81
-T__47=47
-T__82=82
-T__44=44
-T__83=83
-T__45=45
-T__48=48
-T__49=49
-RULE_FLOAT=7
-T__85=85
-RULE_SL_COMMENT=11
-T__84=84
-RULE_ML_COMMENT=10
-T__30=30
-T__31=31
-RULE_STRING=9
-T__32=32
-T__71=71
-T__33=33
-T__72=72
-T__34=34
-T__35=35
-T__70=70
-T__36=36
-T__37=37
-T__38=38
-T__39=39
-RULE_WS=12
-T__76=76
-T__75=75
-T__74=74
-T__73=73
-T__79=79
-T__78=78
-T__77=77
-'#'=66
-'out'=18
-'>='=43
-'internal'=56
-'~'=39
-'/'=37
-'=='=44
-'/='=23
-'%='=24
-'>'=42
-'event'=57
-'||'=76
-'&&'=77
-';'=69
-'raise'=74
-'+'=34
-'active'=83
-'.'=65
-'^'=79
-'>>'=33
-'else'=15
-'^='=30
-'+='=25
-'readonly'=84
-'>>='=28
-'?'=75
-'var'=58
-'&='=29
-'s'=46
-':'=55
-'('=60
-'exit'=71
-'-'=35
-','=62
-'default'=14
-'in'=17
-'-='=26
-']'=68
-'<<='=27
-'ns'=49
-'!'=78
-'|'=80
-'ms'=47
-'every'=20
-'|='=31
-'@@statechart@@'=50
-'exitpoint'=64
-'@@state@@'=51
-'='=21
-'always'=73
-'oncycle'=72
-')'=61
-'*='=22
-'entry'=70
-'%'=38
-'operation'=59
-'after'=19
-'entrypoint'=63
-'us'=48
-'namespace'=53
-'<<'=32
-'<='=41
-'valueof'=82
-'!='=45
-'@@transition@@'=52
-'external'=85
-'<'=40
-'['=67
-'*'=36
-'local'=16
-'&'=81
-'interface'=54
+T__68=68
+T__69=69
+RULE_ID=4
+T__66=66
+T__67=67
+T__64=64
+T__29=29
+T__65=65
+T__28=28
+T__62=62
+T__27=27
+T__63=63
+T__26=26
+T__25=25
+T__24=24
+T__23=23
+T__22=22
+RULE_ANY_OTHER=13
+T__21=21
+T__20=20
+RULE_BOOL=6
+T__61=61
+T__60=60
+T__55=55
+T__56=56
+T__19=19
+T__57=57
+RULE_HEX=8
+T__58=58
+T__16=16
+T__51=51
+T__15=15
+T__52=52
+T__18=18
+T__53=53
+T__54=54
+T__17=17
+T__14=14
+T__59=59
+RULE_INT=5
+T__50=50
+T__42=42
+T__43=43
+T__40=40
+T__41=41
+T__80=80
+T__46=46
+T__81=81
+T__47=47
+T__82=82
+T__44=44
+T__83=83
+T__45=45
+T__48=48
+T__49=49
+RULE_FLOAT=7
+T__85=85
+RULE_SL_COMMENT=11
+T__84=84
+RULE_ML_COMMENT=10
+T__30=30
+T__31=31
+RULE_STRING=9
+T__32=32
+T__71=71
+T__33=33
+T__72=72
+T__34=34
+T__35=35
+T__70=70
+T__36=36
+T__37=37
+T__38=38
+T__39=39
+RULE_WS=12
+T__76=76
+T__75=75
+T__74=74
+T__73=73
+T__79=79
+T__78=78
+T__77=77
+'#'=66
+'out'=18
+'>='=43
+'internal'=56
+'~'=39
+'/'=37
+'=='=44
+'/='=23
+'%='=24
+'>'=42
+'event'=57
+'||'=76
+'&&'=77
+';'=69
+'raise'=74
+'+'=34
+'active'=83
+'.'=65
+'^'=79
+'>>'=33
+'else'=15
+'^='=30
+'+='=25
+'readonly'=84
+'>>='=28
+'?'=75
+'var'=58
+'&='=29
+'s'=46
+':'=55
+'('=60
+'exit'=71
+'-'=35
+','=62
+'default'=14
+'in'=17
+'-='=26
+']'=68
+'<<='=27
+'ns'=49
+'!'=78
+'|'=80
+'ms'=47
+'every'=20
+'|='=31
+'@@statechart@@'=50
+'exitpoint'=64
+'@@state@@'=51
+'='=21
+'always'=73
+'oncycle'=72
+')'=61
+'*='=22
+'entry'=70
+'%'=38
+'operation'=59
+'after'=19
+'entrypoint'=63
+'us'=48
+'namespace'=53
+'<<'=32
+'<='=41
+'valueof'=82
+'!='=45
+'@@transition@@'=52
+'external'=85
+'<'=40
+'['=67
+'*'=36
+'local'=16
+'&'=81
+'interface'=54

Разница между файлами не показана из-за своего большого размера
+ 3430 - 3429
plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/internal/InternalSTextLexer.java


Разница между файлами не показана из-за своего большого размера
+ 35500 - 35500
plugins/org.yakindu.sct.model.stext.ui/src-gen/org/yakindu/sct/model/stext/ui/contentassist/antlr/internal/InternalSTextParser.java


+ 4 - 4
plugins/org.yakindu.sct.model.stext.ui/src/org/yakindu/sct/model/stext/ui/contentassist/STextProposalProvider.java

@@ -31,7 +31,7 @@ import org.yakindu.sct.model.stext.stext.InternalScope;
 import org.yakindu.sct.model.stext.stext.SimpleScope;
 import org.yakindu.sct.model.stext.stext.StatechartSpecification;
 import org.yakindu.sct.model.stext.stext.TransitionReaction;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.VariableDefinition;
 
 import com.google.inject.Inject;
@@ -112,11 +112,11 @@ public class STextProposalProvider extends AbstractSTextProposalProvider {
 						.getOperationCallLeftParenthesisKeyword_1_3_0_0());
 			}
 		}
-		if (currentModel instanceof TypedElementReferenceExpression) {
-			TypedElementReferenceExpression referenceExpression = (TypedElementReferenceExpression) currentModel;
+		if (currentModel instanceof ElementReferenceExpression) {
+			ElementReferenceExpression referenceExpression = (ElementReferenceExpression) currentModel;
 			if (!(referenceExpression.getReference() instanceof Operation)) {
 				keywords.add(grammarAccess
-						.getTypedElementReferenceExpressionAccess()
+						.getElementReferenceExpressionAccess()
 						.getOperationCallLeftParenthesisKeyword_2_0_0());
 			}
 		}

+ 3 - 3
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore

@@ -268,13 +268,13 @@
   <eClassifiers xsi:type="ecore:EClass" name="FeatureCall" eSuperTypes="platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//Expression">
     <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="ecore:EClass platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//Expression"
         containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="ecore:EClass platform:/resource/org.yakindu.base.types/model/types.ecore#//Feature"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationCall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1" eType="ecore:EClass platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//Expression"
         containment="true"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TypedElementReferenceExpression" eSuperTypes="platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="ecore:EClass platform:/resource/org.yakindu.base.types/model/base.ecore#//NamedElement"/>
+  <eClassifiers xsi:type="ecore:EClass" name="ElementReferenceExpression" eSuperTypes="platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//Expression">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationCall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1" eType="ecore:EClass platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//Expression"
         containment="true"/>

+ 4 - 4
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.genmodel

@@ -228,10 +228,10 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//FeatureCall/operationCall"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//FeatureCall/args"/>
     </genClasses>
-    <genClasses ecoreClass="platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//TypedElementReferenceExpression">
-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//TypedElementReferenceExpression/reference"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//TypedElementReferenceExpression/operationCall"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//TypedElementReferenceExpression/args"/>
+    <genClasses ecoreClass="platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//ElementReferenceExpression">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//ElementReferenceExpression/reference"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//ElementReferenceExpression/operationCall"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//ElementReferenceExpression/args"/>
     </genClasses>
     <genClasses ecoreClass="platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//EventValueReferenceExpression">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.ecore#//EventValueReferenceExpression/value"/>

+ 6 - 6
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/SText.xmi

@@ -1110,8 +1110,8 @@
           <elements xsi:type="xtext:Keyword" value="."/>
           <elements xsi:type="xtext:Assignment" feature="feature" operator="=">
             <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.yakindu.org/base/types/2.0.0#//Feature"/>
+              <type metamodel="/0/@metamodelDeclarations.1">
+                <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
               </type>
               <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
             </terminal>
@@ -1136,20 +1136,20 @@
         </elements>
       </alternatives>
     </rules>
-    <rules xsi:type="xtext:ParserRule" name="TypedElementReferenceExpression">
+    <rules xsi:type="xtext:ParserRule" name="ElementReferenceExpression">
       <type metamodel="/0/@metamodelDeclarations.0">
         <classifier xsi:type="ecore:EClass" href="http://www.yakindu.org/sct/statechart/SText#//Expression"/>
       </type>
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Action">
           <type metamodel="/0/@metamodelDeclarations.0">
-            <classifier xsi:type="ecore:EClass" href="http://www.yakindu.org/sct/statechart/SText#//TypedElementReferenceExpression"/>
+            <classifier xsi:type="ecore:EClass" href="http://www.yakindu.org/sct/statechart/SText#//ElementReferenceExpression"/>
           </type>
         </elements>
         <elements xsi:type="xtext:Assignment" feature="reference" operator="=">
           <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.4">
-              <classifier xsi:type="ecore:EClass" href="http://www.yakindu.org/base/base/2.0.0#//NamedElement"/>
+            <type metamodel="/0/@metamodelDeclarations.1">
+              <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
             </type>
             <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
           </terminal>

+ 112 - 112
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parseTreeConstruction/STextParsetreeConstructor.java

@@ -97,7 +97,7 @@ protected class ThisRootNode extends RootToken {
 			case 63: return new PrimaryExpression_Alternatives(this, this, 63, inst);
 			case 64: return new PrimitiveValueExpression_Group(this, this, 64, inst);
 			case 65: return new FeatureCall_Group(this, this, 65, inst);
-			case 66: return new TypedElementReferenceExpression_Group(this, this, 66, inst);
+			case 66: return new ElementReferenceExpression_Group(this, this, 66, inst);
 			case 67: return new EventValueReferenceExpression_Group(this, this, 67, inst);
 			case 68: return new ActiveStateReferenceExpression_Group(this, this, 68, inst);
 			case 69: return new Literal_Alternatives(this, this, 69, inst);
@@ -7158,6 +7158,7 @@ protected class StatementExpression_ExpressionParserRuleCall extends RuleCallTok
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -7168,8 +7169,7 @@ protected class StatementExpression_ExpressionParserRuleCall extends RuleCallTok
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		if(checkForRecursion(Expression_AssignmentExpressionParserRuleCall.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
@@ -7221,6 +7221,7 @@ protected class Expression_AssignmentExpressionParserRuleCall extends RuleCallTo
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -7231,8 +7232,7 @@ protected class Expression_AssignmentExpressionParserRuleCall extends RuleCallTo
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		if(checkForRecursion(AssignmentExpression_Group.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
@@ -7287,6 +7287,7 @@ protected class AssignmentExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -7297,8 +7298,7 @@ protected class AssignmentExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -7521,6 +7521,7 @@ protected class ConditionalExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -7531,8 +7532,7 @@ protected class ConditionalExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -7808,6 +7808,7 @@ protected class LogicalOrExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -7818,8 +7819,7 @@ protected class LogicalOrExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -8028,6 +8028,7 @@ protected class LogicalAndExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -8038,8 +8039,7 @@ protected class LogicalAndExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -8248,6 +8248,7 @@ protected class LogicalNotExpression_Alternatives extends AlternativesToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -8258,8 +8259,7 @@ protected class LogicalNotExpression_Alternatives extends AlternativesToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -8464,6 +8464,7 @@ protected class BitwiseXorExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -8474,8 +8475,7 @@ protected class BitwiseXorExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -8684,6 +8684,7 @@ protected class BitwiseOrExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -8694,8 +8695,7 @@ protected class BitwiseOrExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -8904,6 +8904,7 @@ protected class BitwiseAndExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -8914,8 +8915,7 @@ protected class BitwiseAndExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -9126,6 +9126,7 @@ protected class LogicalRelationExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -9136,8 +9137,7 @@ protected class LogicalRelationExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -9360,6 +9360,7 @@ protected class ShiftExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -9370,8 +9371,7 @@ protected class ShiftExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -9594,6 +9594,7 @@ protected class NumericalAddSubtractExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -9604,8 +9605,7 @@ protected class NumericalAddSubtractExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -9829,6 +9829,7 @@ protected class NumericalMultiplyDivideExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -9839,8 +9840,7 @@ protected class NumericalMultiplyDivideExpression_Group extends GroupToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -10062,6 +10062,7 @@ protected class NumericalUnaryExpression_Alternatives extends AlternativesToken
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -10072,8 +10073,7 @@ protected class NumericalUnaryExpression_Alternatives extends AlternativesToken
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -10295,6 +10295,7 @@ protected class PrimaryExpression_Alternatives extends AlternativesToken {
 		   getEObject().eClass() != grammarAccess.getBitwiseOrExpressionAccess().getBitwiseOrExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getBitwiseXorExpressionAccess().getBitwiseXorExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getConditionalExpressionAccess().getConditionalExpressionConditionAction_1_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getEventValueReferenceExpressionAccess().getEventValueReferenceExpressionAction_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0().getType().getClassifier() && 
@@ -10305,8 +10306,7 @@ protected class PrimaryExpression_Alternatives extends AlternativesToken {
 		   getEObject().eClass() != grammarAccess.getNumericalMultiplyDivideExpressionAccess().getNumericalMultiplyDivideExpressionLeftOperandAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getNumericalUnaryExpressionAccess().getNumericalUnaryExpressionAction_1_0().getType().getClassifier() && 
 		   getEObject().eClass() != grammarAccess.getPrimitiveValueExpressionAccess().getPrimitiveValueExpressionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		   getEObject().eClass() != grammarAccess.getShiftExpressionAccess().getShiftExpressionLeftOperandAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
@@ -10371,8 +10371,8 @@ protected class PrimaryExpression_FeatureCallParserRuleCall_1 extends RuleCallTo
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		if(getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier())
 			return null;
 		if(checkForRecursion(FeatureCall_Group.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
@@ -10678,12 +10678,12 @@ protected class PrimitiveValueExpression_ValueAssignment_1 extends AssignmentTok
 /************ begin Rule FeatureCall ****************
  *
  * FeatureCall returns Expression:
- * 	TypedElementReferenceExpression ({FeatureCall.owner=current} "." feature=[types::Feature] (=> operationCall?="("
+ * 	ElementReferenceExpression ({FeatureCall.owner=current} "." feature=[ecore::EObject] (=> operationCall?="("
  * 	(args+=Expression ("," args+=Expression)*)? ")")?)*;
  *
  **/
 
-// TypedElementReferenceExpression ({FeatureCall.owner=current} "." feature=[types::Feature] (=> operationCall?="("
+// ElementReferenceExpression ({FeatureCall.owner=current} "." feature=[ecore::EObject] (=> operationCall?="("
 // (args+=Expression ("," args+=Expression)*)? ")")?)*
 protected class FeatureCall_Group extends GroupToken {
 	
@@ -10700,46 +10700,46 @@ protected class FeatureCall_Group extends GroupToken {
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
 			case 0: return new FeatureCall_Group_1(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new FeatureCall_TypedElementReferenceExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
+			case 1: return new FeatureCall_ElementReferenceExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		if(getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier() && 
+		   getEObject().eClass() != grammarAccess.getFeatureCallAccess().getFeatureCallOwnerAction_1_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
 
 }
 
-// TypedElementReferenceExpression
-protected class FeatureCall_TypedElementReferenceExpressionParserRuleCall_0 extends RuleCallToken {
+// ElementReferenceExpression
+protected class FeatureCall_ElementReferenceExpressionParserRuleCall_0 extends RuleCallToken {
 	
-	public FeatureCall_TypedElementReferenceExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public FeatureCall_ElementReferenceExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public RuleCall getGrammarElement() {
-		return grammarAccess.getFeatureCallAccess().getTypedElementReferenceExpressionParserRuleCall_0();
+		return grammarAccess.getFeatureCallAccess().getElementReferenceExpressionParserRuleCall_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_Group(this, this, 0, inst);
+			case 0: return new ElementReferenceExpression_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		if(getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier())
 			return null;
-		if(checkForRecursion(TypedElementReferenceExpression_Group.class, eObjectConsumer)) return null;
+		if(checkForRecursion(ElementReferenceExpression_Group.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
 	}
 	
@@ -10751,7 +10751,7 @@ protected class FeatureCall_TypedElementReferenceExpressionParserRuleCall_0 exte
 	}	
 }
 
-// ({FeatureCall.owner=current} "." feature=[types::Feature] (=> operationCall?="(" (args+=Expression (","
+// ({FeatureCall.owner=current} "." feature=[ecore::EObject] (=> operationCall?="(" (args+=Expression (","
 // args+=Expression)*)? ")")?)*
 protected class FeatureCall_Group_1 extends GroupToken {
 	
@@ -10798,7 +10798,7 @@ protected class FeatureCall_FeatureCallOwnerAction_1_0 extends ActionToken  {
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
 			case 0: return new FeatureCall_Group_1(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new FeatureCall_TypedElementReferenceExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
+			case 1: return new FeatureCall_ElementReferenceExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -10834,7 +10834,7 @@ protected class FeatureCall_FullStopKeyword_1_1 extends KeywordToken  {
 
 }
 
-// feature=[types::Feature]
+// feature=[ecore::EObject]
 protected class FeatureCall_FeatureAssignment_1_2 extends AssignmentToken  {
 	
 	public FeatureCall_FeatureAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -10860,9 +10860,9 @@ protected class FeatureCall_FeatureAssignment_1_2 extends AssignmentToken  {
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getFeatureCallAccess().getFeatureFeatureCrossReference_1_2_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getFeatureCallAccess().getFeatureEObjectCrossReference_1_2_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getFeatureCallAccess().getFeatureFeatureCrossReference_1_2_0(); 
+				element = grammarAccess.getFeatureCallAccess().getFeatureEObjectCrossReference_1_2_0(); 
 				return obj;
 			}
 		}
@@ -11118,55 +11118,55 @@ protected class FeatureCall_RightParenthesisKeyword_1_3_2 extends KeywordToken
 /************ end Rule FeatureCall ****************/
 
 
-/************ begin Rule TypedElementReferenceExpression ****************
+/************ begin Rule ElementReferenceExpression ****************
  *
- * TypedElementReferenceExpression returns Expression:
- * 	{TypedElementReferenceExpression} reference=[base::NamedElement] (=> operationCall?="(" (args+=Expression (","
+ * ElementReferenceExpression returns Expression:
+ * 	{ElementReferenceExpression} reference=[ecore::EObject] (=> operationCall?="(" (args+=Expression (","
  * 	args+=Expression)*)? ")")?;
  *
  **/
 
-// {TypedElementReferenceExpression} reference=[base::NamedElement] (=> operationCall?="(" (args+=Expression (","
+// {ElementReferenceExpression} reference=[ecore::EObject] (=> operationCall?="(" (args+=Expression (","
 // args+=Expression)*)? ")")?
-protected class TypedElementReferenceExpression_Group extends GroupToken {
+protected class ElementReferenceExpression_Group extends GroupToken {
 	
-	public TypedElementReferenceExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getGroup();
+		return grammarAccess.getElementReferenceExpressionAccess().getGroup();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new TypedElementReferenceExpression_ReferenceAssignment_1(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new ElementReferenceExpression_Group_2(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new ElementReferenceExpression_ReferenceAssignment_1(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0().getType().getClassifier())
+		if(getEObject().eClass() != grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
 
 }
 
-// {TypedElementReferenceExpression}
-protected class TypedElementReferenceExpression_TypedElementReferenceExpressionAction_0 extends ActionToken  {
+// {ElementReferenceExpression}
+protected class ElementReferenceExpression_ElementReferenceExpressionAction_0 extends ActionToken  {
 
-	public TypedElementReferenceExpression_TypedElementReferenceExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_ElementReferenceExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Action getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0();
+		return grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0();
 	}
 
     @Override
@@ -11183,22 +11183,22 @@ protected class TypedElementReferenceExpression_TypedElementReferenceExpressionA
 	}
 }
 
-// reference=[base::NamedElement]
-protected class TypedElementReferenceExpression_ReferenceAssignment_1 extends AssignmentToken  {
+// reference=[ecore::EObject]
+protected class ElementReferenceExpression_ReferenceAssignment_1 extends AssignmentToken  {
 	
-	public TypedElementReferenceExpression_ReferenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_ReferenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceAssignment_1();
+		return grammarAccess.getElementReferenceExpressionAccess().getReferenceAssignment_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_TypedElementReferenceExpressionAction_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new ElementReferenceExpression_ElementReferenceExpressionAction_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -11209,9 +11209,9 @@ protected class TypedElementReferenceExpression_ReferenceAssignment_1 extends As
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("reference");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceNamedElementCrossReference_1_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getElementReferenceExpressionAccess().getReferenceEObjectCrossReference_1_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceNamedElementCrossReference_1_0(); 
+				element = grammarAccess.getElementReferenceExpressionAccess().getReferenceEObjectCrossReference_1_0(); 
 				return obj;
 			}
 		}
@@ -11221,21 +11221,21 @@ protected class TypedElementReferenceExpression_ReferenceAssignment_1 extends As
 }
 
 // (=> operationCall?="(" (args+=Expression ("," args+=Expression)*)? ")")?
-protected class TypedElementReferenceExpression_Group_2 extends GroupToken {
+protected class ElementReferenceExpression_Group_2 extends GroupToken {
 	
-	public TypedElementReferenceExpression_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2();
+		return grammarAccess.getElementReferenceExpressionAccess().getGroup_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_RightParenthesisKeyword_2_2(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new ElementReferenceExpression_RightParenthesisKeyword_2_2(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -11243,21 +11243,21 @@ protected class TypedElementReferenceExpression_Group_2 extends GroupToken {
 }
 
 // => operationCall?="("
-protected class TypedElementReferenceExpression_OperationCallAssignment_2_0 extends AssignmentToken  {
+protected class ElementReferenceExpression_OperationCallAssignment_2_0 extends AssignmentToken  {
 	
-	public TypedElementReferenceExpression_OperationCallAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_OperationCallAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallAssignment_2_0();
+		return grammarAccess.getElementReferenceExpressionAccess().getOperationCallAssignment_2_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_ReferenceAssignment_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new ElementReferenceExpression_ReferenceAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -11268,7 +11268,7 @@ protected class TypedElementReferenceExpression_OperationCallAssignment_2_0 exte
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operationCall");
 		if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
 			type = AssignmentType.KEYWORD;
-			element = grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0();
+			element = grammarAccess.getElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0();
 			return obj;
 		}
 		return null;
@@ -11277,22 +11277,22 @@ protected class TypedElementReferenceExpression_OperationCallAssignment_2_0 exte
 }
 
 // (args+=Expression ("," args+=Expression)*)?
-protected class TypedElementReferenceExpression_Group_2_1 extends GroupToken {
+protected class ElementReferenceExpression_Group_2_1 extends GroupToken {
 	
-	public TypedElementReferenceExpression_Group_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_Group_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2_1();
+		return grammarAccess.getElementReferenceExpressionAccess().getGroup_2_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_Group_2_1_1(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new TypedElementReferenceExpression_ArgsAssignment_2_1_0(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new ElementReferenceExpression_Group_2_1_1(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new ElementReferenceExpression_ArgsAssignment_2_1_0(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -11300,15 +11300,15 @@ protected class TypedElementReferenceExpression_Group_2_1 extends GroupToken {
 }
 
 // args+=Expression
-protected class TypedElementReferenceExpression_ArgsAssignment_2_1_0 extends AssignmentToken  {
+protected class ElementReferenceExpression_ArgsAssignment_2_1_0 extends AssignmentToken  {
 	
-	public TypedElementReferenceExpression_ArgsAssignment_2_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_ArgsAssignment_2_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getArgsAssignment_2_1_0();
+		return grammarAccess.getElementReferenceExpressionAccess().getArgsAssignment_2_1_0();
 	}
 
     @Override
@@ -11327,7 +11327,7 @@ protected class TypedElementReferenceExpression_ArgsAssignment_2_1_0 extends Ass
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
 			if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0(); 
+				element = grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -11339,28 +11339,28 @@ protected class TypedElementReferenceExpression_ArgsAssignment_2_1_0 extends Ass
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_OperationCallAssignment_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new ElementReferenceExpression_OperationCallAssignment_2_0(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 // ("," args+=Expression)*
-protected class TypedElementReferenceExpression_Group_2_1_1 extends GroupToken {
+protected class ElementReferenceExpression_Group_2_1_1 extends GroupToken {
 	
-	public TypedElementReferenceExpression_Group_2_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_Group_2_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getGroup_2_1_1();
+		return grammarAccess.getElementReferenceExpressionAccess().getGroup_2_1_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_ArgsAssignment_2_1_1_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new ElementReferenceExpression_ArgsAssignment_2_1_1_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -11368,22 +11368,22 @@ protected class TypedElementReferenceExpression_Group_2_1_1 extends GroupToken {
 }
 
 // ","
-protected class TypedElementReferenceExpression_CommaKeyword_2_1_1_0 extends KeywordToken  {
+protected class ElementReferenceExpression_CommaKeyword_2_1_1_0 extends KeywordToken  {
 	
-	public TypedElementReferenceExpression_CommaKeyword_2_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_CommaKeyword_2_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0();
+		return grammarAccess.getElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_Group_2_1_1(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new TypedElementReferenceExpression_ArgsAssignment_2_1_0(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new ElementReferenceExpression_Group_2_1_1(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new ElementReferenceExpression_ArgsAssignment_2_1_0(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -11391,15 +11391,15 @@ protected class TypedElementReferenceExpression_CommaKeyword_2_1_1_0 extends Key
 }
 
 // args+=Expression
-protected class TypedElementReferenceExpression_ArgsAssignment_2_1_1_1 extends AssignmentToken  {
+protected class ElementReferenceExpression_ArgsAssignment_2_1_1_1 extends AssignmentToken  {
 	
-	public TypedElementReferenceExpression_ArgsAssignment_2_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_ArgsAssignment_2_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getArgsAssignment_2_1_1_1();
+		return grammarAccess.getElementReferenceExpressionAccess().getArgsAssignment_2_1_1_1();
 	}
 
     @Override
@@ -11418,7 +11418,7 @@ protected class TypedElementReferenceExpression_ArgsAssignment_2_1_1_1 extends A
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
 			if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0(); 
+				element = grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -11430,7 +11430,7 @@ protected class TypedElementReferenceExpression_ArgsAssignment_2_1_1_1 extends A
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_CommaKeyword_2_1_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new ElementReferenceExpression_CommaKeyword_2_1_1_0(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
@@ -11439,22 +11439,22 @@ protected class TypedElementReferenceExpression_ArgsAssignment_2_1_1_1 extends A
 
 
 // ")"
-protected class TypedElementReferenceExpression_RightParenthesisKeyword_2_2 extends KeywordToken  {
+protected class ElementReferenceExpression_RightParenthesisKeyword_2_2 extends KeywordToken  {
 	
-	public TypedElementReferenceExpression_RightParenthesisKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ElementReferenceExpression_RightParenthesisKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getTypedElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2();
+		return grammarAccess.getElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new TypedElementReferenceExpression_Group_2_1(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new TypedElementReferenceExpression_OperationCallAssignment_2_0(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new ElementReferenceExpression_Group_2_1(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new ElementReferenceExpression_OperationCallAssignment_2_0(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -11463,7 +11463,7 @@ protected class TypedElementReferenceExpression_RightParenthesisKeyword_2_2 exte
 
 
 
-/************ end Rule TypedElementReferenceExpression ****************/
+/************ end Rule ElementReferenceExpression ****************/
 
 
 /************ begin Rule EventValueReferenceExpression ****************

+ 22 - 22
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g

@@ -3587,11 +3587,11 @@ ruleFeatureCall returns [EObject current=null]
     @after { leaveRule(); }:
 (
     { 
-        newCompositeNode(grammarAccess.getFeatureCallAccess().getTypedElementReferenceExpressionParserRuleCall_0()); 
+        newCompositeNode(grammarAccess.getFeatureCallAccess().getElementReferenceExpressionParserRuleCall_0()); 
     }
-    this_TypedElementReferenceExpression_0=ruleTypedElementReferenceExpression
+    this_ElementReferenceExpression_0=ruleElementReferenceExpression
     { 
-        $current = $this_TypedElementReferenceExpression_0.current; 
+        $current = $this_ElementReferenceExpression_0.current; 
         afterParserOrEnumRuleCall();
     }
 ((
@@ -3613,7 +3613,7 @@ ruleFeatureCall returns [EObject current=null]
         }
 	otherlv_3=RULE_ID
 	{
-		newLeafNode(otherlv_3, grammarAccess.getFeatureCallAccess().getFeatureFeatureCrossReference_1_2_0()); 
+		newLeafNode(otherlv_3, grammarAccess.getFeatureCallAccess().getFeatureEObjectCrossReference_1_2_0()); 
 	}
 
 )
@@ -3689,36 +3689,36 @@ ruleFeatureCall returns [EObject current=null]
 
 
 
-// Entry rule entryRuleTypedElementReferenceExpression
-entryRuleTypedElementReferenceExpression returns [EObject current=null] 
+// Entry rule entryRuleElementReferenceExpression
+entryRuleElementReferenceExpression returns [EObject current=null] 
 	:
-	{ newCompositeNode(grammarAccess.getTypedElementReferenceExpressionRule()); }
-	 iv_ruleTypedElementReferenceExpression=ruleTypedElementReferenceExpression 
-	 { $current=$iv_ruleTypedElementReferenceExpression.current; } 
+	{ newCompositeNode(grammarAccess.getElementReferenceExpressionRule()); }
+	 iv_ruleElementReferenceExpression=ruleElementReferenceExpression 
+	 { $current=$iv_ruleElementReferenceExpression.current; } 
 	 EOF 
 ;
 
-// Rule TypedElementReferenceExpression
-ruleTypedElementReferenceExpression returns [EObject current=null] 
+// Rule ElementReferenceExpression
+ruleElementReferenceExpression returns [EObject current=null] 
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
 ((
     {
         $current = forceCreateModelElement(
-            grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0(),
+            grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0(),
             $current);
     }
 )(
 (
 		{
 			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getTypedElementReferenceExpressionRule());
+	            $current = createModelElement(grammarAccess.getElementReferenceExpressionRule());
 	        }
         }
 	otherlv_1=RULE_ID
 	{
-		newLeafNode(otherlv_1, grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceNamedElementCrossReference_1_0()); 
+		newLeafNode(otherlv_1, grammarAccess.getElementReferenceExpressionAccess().getReferenceEObjectCrossReference_1_0()); 
 	}
 
 )
@@ -3732,12 +3732,12 @@ ruleTypedElementReferenceExpression returns [EObject current=null]
 (
 		lv_operationCall_2_0=	'(' 
     {
-        newLeafNode(lv_operationCall_2_0, grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0());
+        newLeafNode(lv_operationCall_2_0, grammarAccess.getElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0());
     }
  
 	    {
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getTypedElementReferenceExpressionRule());
+	            $current = createModelElement(grammarAccess.getElementReferenceExpressionRule());
 	        }
        		setWithLastConsumed($current, "operationCall", true, "(");
 	    }
@@ -3746,11 +3746,11 @@ ruleTypedElementReferenceExpression returns [EObject current=null]
 )((
 (
 		{ 
-	        newCompositeNode(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0()); 
+	        newCompositeNode(grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0()); 
 	    }
 		lv_args_3_0=ruleExpression		{
 	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getTypedElementReferenceExpressionRule());
+	            $current = createModelElementForParent(grammarAccess.getElementReferenceExpressionRule());
 	        }
        		add(
        			$current, 
@@ -3763,16 +3763,16 @@ ruleTypedElementReferenceExpression returns [EObject current=null]
 )
 )(	otherlv_4=',' 
     {
-    	newLeafNode(otherlv_4, grammarAccess.getTypedElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0());
+    	newLeafNode(otherlv_4, grammarAccess.getElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0()); 
+	        newCompositeNode(grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0()); 
 	    }
 		lv_args_5_0=ruleExpression		{
 	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getTypedElementReferenceExpressionRule());
+	            $current = createModelElementForParent(grammarAccess.getElementReferenceExpressionRule());
 	        }
        		add(
        			$current, 
@@ -3785,7 +3785,7 @@ ruleTypedElementReferenceExpression returns [EObject current=null]
 )
 ))*)?	otherlv_6=')' 
     {
-    	newLeafNode(otherlv_6, grammarAccess.getTypedElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2());
+    	newLeafNode(otherlv_6, grammarAccess.getElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2());
     }
 )?)
 ;

+ 53 - 53
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSTextParser.java

@@ -10428,7 +10428,7 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleFeatureCall"
-    // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3584:1: ruleFeatureCall returns [EObject current=null] : (this_TypedElementReferenceExpression_0= ruleTypedElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )* ) ;
+    // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3584:1: ruleFeatureCall returns [EObject current=null] : (this_ElementReferenceExpression_0= ruleElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )* ) ;
     public final EObject ruleFeatureCall() throws RecognitionException {
         EObject current = null;
 
@@ -10437,7 +10437,7 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
         Token lv_operationCall_4_0=null;
         Token otherlv_6=null;
         Token otherlv_8=null;
-        EObject this_TypedElementReferenceExpression_0 = null;
+        EObject this_ElementReferenceExpression_0 = null;
 
         EObject lv_args_5_0 = null;
 
@@ -10447,25 +10447,25 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3587:28: ( (this_TypedElementReferenceExpression_0= ruleTypedElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )* ) )
-            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3588:1: (this_TypedElementReferenceExpression_0= ruleTypedElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )* )
+            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3587:28: ( (this_ElementReferenceExpression_0= ruleElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )* ) )
+            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3588:1: (this_ElementReferenceExpression_0= ruleElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )* )
             {
-            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3588:1: (this_TypedElementReferenceExpression_0= ruleTypedElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )* )
-            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3589:5: this_TypedElementReferenceExpression_0= ruleTypedElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )*
+            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3588:1: (this_ElementReferenceExpression_0= ruleElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )* )
+            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3589:5: this_ElementReferenceExpression_0= ruleElementReferenceExpression ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_4_0= '(' ) ) ( ( (lv_args_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_args_7_0= ruleExpression ) ) )* )? otherlv_8= ')' )? )*
             {
             if ( state.backtracking==0 ) {
                
-                      newCompositeNode(grammarAccess.getFeatureCallAccess().getTypedElementReferenceExpressionParserRuleCall_0()); 
+                      newCompositeNode(grammarAccess.getFeatureCallAccess().getElementReferenceExpressionParserRuleCall_0()); 
                   
             }
-            pushFollow(FOLLOW_ruleTypedElementReferenceExpression_in_ruleFeatureCall8138);
-            this_TypedElementReferenceExpression_0=ruleTypedElementReferenceExpression();
+            pushFollow(FOLLOW_ruleElementReferenceExpression_in_ruleFeatureCall8138);
+            this_ElementReferenceExpression_0=ruleElementReferenceExpression();
 
             state._fsp--;
             if (state.failed) return current;
             if ( state.backtracking==0 ) {
                
-                      current = this_TypedElementReferenceExpression_0; 
+                      current = this_ElementReferenceExpression_0; 
                       afterParserOrEnumRuleCall();
                   
             }
@@ -10519,7 +10519,7 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
             	    otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFeatureCall8179); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
-            	      		newLeafNode(otherlv_3, grammarAccess.getFeatureCallAccess().getFeatureFeatureCrossReference_1_2_0()); 
+            	      		newLeafNode(otherlv_3, grammarAccess.getFeatureCallAccess().getFeatureEObjectCrossReference_1_2_0()); 
             	      	
             	    }
 
@@ -10725,30 +10725,30 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
     // $ANTLR end "ruleFeatureCall"
 
 
-    // $ANTLR start "entryRuleTypedElementReferenceExpression"
-    // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3693:1: entryRuleTypedElementReferenceExpression returns [EObject current=null] : iv_ruleTypedElementReferenceExpression= ruleTypedElementReferenceExpression EOF ;
-    public final EObject entryRuleTypedElementReferenceExpression() throws RecognitionException {
+    // $ANTLR start "entryRuleElementReferenceExpression"
+    // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3693:1: entryRuleElementReferenceExpression returns [EObject current=null] : iv_ruleElementReferenceExpression= ruleElementReferenceExpression EOF ;
+    public final EObject entryRuleElementReferenceExpression() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleTypedElementReferenceExpression = null;
+        EObject iv_ruleElementReferenceExpression = null;
 
 
         try {
-            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3694:2: (iv_ruleTypedElementReferenceExpression= ruleTypedElementReferenceExpression EOF )
-            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3695:2: iv_ruleTypedElementReferenceExpression= ruleTypedElementReferenceExpression EOF
+            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3694:2: (iv_ruleElementReferenceExpression= ruleElementReferenceExpression EOF )
+            // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3695:2: iv_ruleElementReferenceExpression= ruleElementReferenceExpression EOF
             {
             if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getTypedElementReferenceExpressionRule()); 
+               newCompositeNode(grammarAccess.getElementReferenceExpressionRule()); 
             }
-            pushFollow(FOLLOW_ruleTypedElementReferenceExpression_in_entryRuleTypedElementReferenceExpression8338);
-            iv_ruleTypedElementReferenceExpression=ruleTypedElementReferenceExpression();
+            pushFollow(FOLLOW_ruleElementReferenceExpression_in_entryRuleElementReferenceExpression8338);
+            iv_ruleElementReferenceExpression=ruleElementReferenceExpression();
 
             state._fsp--;
             if (state.failed) return current;
             if ( state.backtracking==0 ) {
-               current =iv_ruleTypedElementReferenceExpression; 
+               current =iv_ruleElementReferenceExpression; 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleTypedElementReferenceExpression8348); if (state.failed) return current;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleElementReferenceExpression8348); if (state.failed) return current;
 
             }
 
@@ -10762,12 +10762,12 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
         }
         return current;
     }
-    // $ANTLR end "entryRuleTypedElementReferenceExpression"
+    // $ANTLR end "entryRuleElementReferenceExpression"
 
 
-    // $ANTLR start "ruleTypedElementReferenceExpression"
-    // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3702:1: ruleTypedElementReferenceExpression returns [EObject current=null] : ( () ( (otherlv_1= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_2_0= '(' ) ) ( ( (lv_args_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_args_5_0= ruleExpression ) ) )* )? otherlv_6= ')' )? ) ;
-    public final EObject ruleTypedElementReferenceExpression() throws RecognitionException {
+    // $ANTLR start "ruleElementReferenceExpression"
+    // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3702:1: ruleElementReferenceExpression returns [EObject current=null] : ( () ( (otherlv_1= RULE_ID ) ) ( ( ( ( '(' ) )=> (lv_operationCall_2_0= '(' ) ) ( ( (lv_args_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_args_5_0= ruleExpression ) ) )* )? otherlv_6= ')' )? ) ;
+    public final EObject ruleElementReferenceExpression() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
@@ -10794,7 +10794,7 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
             if ( state.backtracking==0 ) {
 
                       current = forceCreateModelElement(
-                          grammarAccess.getTypedElementReferenceExpressionAccess().getTypedElementReferenceExpressionAction_0(),
+                          grammarAccess.getElementReferenceExpressionAccess().getElementReferenceExpressionAction_0(),
                           current);
                   
             }
@@ -10810,14 +10810,14 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
             if ( state.backtracking==0 ) {
 
               			if (current==null) {
-              	            current = createModelElement(grammarAccess.getTypedElementReferenceExpressionRule());
+              	            current = createModelElement(grammarAccess.getElementReferenceExpressionRule());
               	        }
                       
             }
-            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypedElementReferenceExpression8402); if (state.failed) return current;
+            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleElementReferenceExpression8402); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              		newLeafNode(otherlv_1, grammarAccess.getTypedElementReferenceExpressionAccess().getReferenceNamedElementCrossReference_1_0()); 
+              		newLeafNode(otherlv_1, grammarAccess.getElementReferenceExpressionAccess().getReferenceEObjectCrossReference_1_0()); 
               	
             }
 
@@ -10843,16 +10843,16 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
                     // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3732:1: (lv_operationCall_2_0= '(' )
                     // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3733:3: lv_operationCall_2_0= '('
                     {
-                    lv_operationCall_2_0=(Token)match(input,27,FOLLOW_27_in_ruleTypedElementReferenceExpression8436); if (state.failed) return current;
+                    lv_operationCall_2_0=(Token)match(input,27,FOLLOW_27_in_ruleElementReferenceExpression8436); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                              newLeafNode(lv_operationCall_2_0, grammarAccess.getTypedElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0());
+                              newLeafNode(lv_operationCall_2_0, grammarAccess.getElementReferenceExpressionAccess().getOperationCallLeftParenthesisKeyword_2_0_0());
                           
                     }
                     if ( state.backtracking==0 ) {
 
                       	        if (current==null) {
-                      	            current = createModelElement(grammarAccess.getTypedElementReferenceExpressionRule());
+                      	            current = createModelElement(grammarAccess.getElementReferenceExpressionRule());
                       	        }
                              		setWithLastConsumed(current, "operationCall", true, "(");
                       	    
@@ -10882,10 +10882,10 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
                             {
                             if ( state.backtracking==0 ) {
                                
-                              	        newCompositeNode(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0()); 
+                              	        newCompositeNode(grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_0_0()); 
                               	    
                             }
-                            pushFollow(FOLLOW_ruleExpression_in_ruleTypedElementReferenceExpression8471);
+                            pushFollow(FOLLOW_ruleExpression_in_ruleElementReferenceExpression8471);
                             lv_args_3_0=ruleExpression();
 
                             state._fsp--;
@@ -10893,7 +10893,7 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
                             if ( state.backtracking==0 ) {
 
                               	        if (current==null) {
-                              	            current = createModelElementForParent(grammarAccess.getTypedElementReferenceExpressionRule());
+                              	            current = createModelElementForParent(grammarAccess.getElementReferenceExpressionRule());
                               	        }
                                      		add(
                                      			current, 
@@ -10924,10 +10924,10 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
                             	case 1 :
                             	    // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3764:4: otherlv_4= ',' ( (lv_args_5_0= ruleExpression ) )
                             	    {
-                            	    otherlv_4=(Token)match(input,28,FOLLOW_28_in_ruleTypedElementReferenceExpression8484); if (state.failed) return current;
+                            	    otherlv_4=(Token)match(input,28,FOLLOW_28_in_ruleElementReferenceExpression8484); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
-                            	          	newLeafNode(otherlv_4, grammarAccess.getTypedElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0());
+                            	          	newLeafNode(otherlv_4, grammarAccess.getElementReferenceExpressionAccess().getCommaKeyword_2_1_1_0());
                             	          
                             	    }
                             	    // ../org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/parser/antlr/internal/InternalSText.g:3768:1: ( (lv_args_5_0= ruleExpression ) )
@@ -10938,10 +10938,10 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
                             	    {
                             	    if ( state.backtracking==0 ) {
                             	       
-                            	      	        newCompositeNode(grammarAccess.getTypedElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0()); 
+                            	      	        newCompositeNode(grammarAccess.getElementReferenceExpressionAccess().getArgsExpressionParserRuleCall_2_1_1_1_0()); 
                             	      	    
                             	    }
-                            	    pushFollow(FOLLOW_ruleExpression_in_ruleTypedElementReferenceExpression8505);
+                            	    pushFollow(FOLLOW_ruleExpression_in_ruleElementReferenceExpression8505);
                             	    lv_args_5_0=ruleExpression();
 
                             	    state._fsp--;
@@ -10949,7 +10949,7 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
                             	    if ( state.backtracking==0 ) {
 
                             	      	        if (current==null) {
-                            	      	            current = createModelElementForParent(grammarAccess.getTypedElementReferenceExpressionRule());
+                            	      	            current = createModelElementForParent(grammarAccess.getElementReferenceExpressionRule());
                             	      	        }
                             	             		add(
                             	             			current, 
@@ -10980,10 +10980,10 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    otherlv_6=(Token)match(input,29,FOLLOW_29_in_ruleTypedElementReferenceExpression8521); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,29,FOLLOW_29_in_ruleElementReferenceExpression8521); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_6, grammarAccess.getTypedElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2());
+                          	newLeafNode(otherlv_6, grammarAccess.getElementReferenceExpressionAccess().getRightParenthesisKeyword_2_2());
                           
                     }
 
@@ -11011,7 +11011,7 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
         }
         return current;
     }
-    // $ANTLR end "ruleTypedElementReferenceExpression"
+    // $ANTLR end "ruleElementReferenceExpression"
 
 
     // $ANTLR start "entryRuleEventValueReferenceExpression"
@@ -13902,7 +13902,7 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
     public static final BitSet FOLLOW_ruleLiteral_in_rulePrimitiveValueExpression8045 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleFeatureCall_in_entryRuleFeatureCall8081 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleFeatureCall8091 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTypedElementReferenceExpression_in_ruleFeatureCall8138 = new BitSet(new long[]{0x0000000100000002L});
+    public static final BitSet FOLLOW_ruleElementReferenceExpression_in_ruleFeatureCall8138 = new BitSet(new long[]{0x0000000100000002L});
     public static final BitSet FOLLOW_32_in_ruleFeatureCall8159 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleFeatureCall8179 = new BitSet(new long[]{0x0000000108000002L});
     public static final BitSet FOLLOW_27_in_ruleFeatureCall8213 = new BitSet(new long[]{0x00620000280003F0L,0x0000000000001300L});
@@ -13910,14 +13910,14 @@ public class InternalSTextParser extends AbstractInternalAntlrParser {
     public static final BitSet FOLLOW_28_in_ruleFeatureCall8261 = new BitSet(new long[]{0x00620000080003F0L,0x0000000000001300L});
     public static final BitSet FOLLOW_ruleExpression_in_ruleFeatureCall8282 = new BitSet(new long[]{0x0000000030000000L});
     public static final BitSet FOLLOW_29_in_ruleFeatureCall8298 = new BitSet(new long[]{0x0000000100000002L});
-    public static final BitSet FOLLOW_ruleTypedElementReferenceExpression_in_entryRuleTypedElementReferenceExpression8338 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleTypedElementReferenceExpression8348 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleTypedElementReferenceExpression8402 = new BitSet(new long[]{0x0000000008000002L});
-    public static final BitSet FOLLOW_27_in_ruleTypedElementReferenceExpression8436 = new BitSet(new long[]{0x00620000280003F0L,0x0000000000001300L});
-    public static final BitSet FOLLOW_ruleExpression_in_ruleTypedElementReferenceExpression8471 = new BitSet(new long[]{0x0000000030000000L});
-    public static final BitSet FOLLOW_28_in_ruleTypedElementReferenceExpression8484 = new BitSet(new long[]{0x00620000080003F0L,0x0000000000001300L});
-    public static final BitSet FOLLOW_ruleExpression_in_ruleTypedElementReferenceExpression8505 = new BitSet(new long[]{0x0000000030000000L});
-    public static final BitSet FOLLOW_29_in_ruleTypedElementReferenceExpression8521 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleElementReferenceExpression_in_entryRuleElementReferenceExpression8338 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleElementReferenceExpression8348 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleElementReferenceExpression8402 = new BitSet(new long[]{0x0000000008000002L});
+    public static final BitSet FOLLOW_27_in_ruleElementReferenceExpression8436 = new BitSet(new long[]{0x00620000280003F0L,0x0000000000001300L});
+    public static final BitSet FOLLOW_ruleExpression_in_ruleElementReferenceExpression8471 = new BitSet(new long[]{0x0000000030000000L});
+    public static final BitSet FOLLOW_28_in_ruleElementReferenceExpression8484 = new BitSet(new long[]{0x00620000080003F0L,0x0000000000001300L});
+    public static final BitSet FOLLOW_ruleExpression_in_ruleElementReferenceExpression8505 = new BitSet(new long[]{0x0000000030000000L});
+    public static final BitSet FOLLOW_29_in_ruleElementReferenceExpression8521 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEventValueReferenceExpression_in_entryRuleEventValueReferenceExpression8559 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEventValueReferenceExpression8569 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_53_in_ruleEventValueReferenceExpression8615 = new BitSet(new long[]{0x0000000008000000L});

+ 34 - 34
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/services/STextGrammarAccess.java

@@ -2181,13 +2181,13 @@ public class STextGrammarAccess extends AbstractGrammarElementFinder {
 	public class FeatureCallElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FeatureCall");
 		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cTypedElementReferenceExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+		private final RuleCall cElementReferenceExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
 		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
 		private final Action cFeatureCallOwnerAction_1_0 = (Action)cGroup_1.eContents().get(0);
 		private final Keyword cFullStopKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
 		private final Assignment cFeatureAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
-		private final CrossReference cFeatureFeatureCrossReference_1_2_0 = (CrossReference)cFeatureAssignment_1_2.eContents().get(0);
-		private final RuleCall cFeatureFeatureIDTerminalRuleCall_1_2_0_1 = (RuleCall)cFeatureFeatureCrossReference_1_2_0.eContents().get(1);
+		private final CrossReference cFeatureEObjectCrossReference_1_2_0 = (CrossReference)cFeatureAssignment_1_2.eContents().get(0);
+		private final RuleCall cFeatureEObjectIDTerminalRuleCall_1_2_0_1 = (RuleCall)cFeatureEObjectCrossReference_1_2_0.eContents().get(1);
 		private final Group cGroup_1_3 = (Group)cGroup_1.eContents().get(3);
 		private final Assignment cOperationCallAssignment_1_3_0 = (Assignment)cGroup_1_3.eContents().get(0);
 		private final Keyword cOperationCallLeftParenthesisKeyword_1_3_0_0 = (Keyword)cOperationCallAssignment_1_3_0.eContents().get(0);
@@ -2201,18 +2201,18 @@ public class STextGrammarAccess extends AbstractGrammarElementFinder {
 		private final Keyword cRightParenthesisKeyword_1_3_2 = (Keyword)cGroup_1_3.eContents().get(2);
 		
 		//FeatureCall returns Expression:
-		//	TypedElementReferenceExpression ({FeatureCall.owner=current} "." feature=[types::Feature] (=> operationCall?="("
+		//	ElementReferenceExpression ({FeatureCall.owner=current} "." feature=[ecore::EObject] (=> operationCall?="("
 		//	(args+=Expression ("," args+=Expression)*)? ")")?)*;
 		public ParserRule getRule() { return rule; }
 
-		//TypedElementReferenceExpression ({FeatureCall.owner=current} "." feature=[types::Feature] (=> operationCall?="("
+		//ElementReferenceExpression ({FeatureCall.owner=current} "." feature=[ecore::EObject] (=> operationCall?="("
 		//(args+=Expression ("," args+=Expression)*)? ")")?)*
 		public Group getGroup() { return cGroup; }
 
-		//TypedElementReferenceExpression
-		public RuleCall getTypedElementReferenceExpressionParserRuleCall_0() { return cTypedElementReferenceExpressionParserRuleCall_0; }
+		//ElementReferenceExpression
+		public RuleCall getElementReferenceExpressionParserRuleCall_0() { return cElementReferenceExpressionParserRuleCall_0; }
 
-		//({FeatureCall.owner=current} "." feature=[types::Feature] (=> operationCall?="(" (args+=Expression (","
+		//({FeatureCall.owner=current} "." feature=[ecore::EObject] (=> operationCall?="(" (args+=Expression (","
 		//args+=Expression)*)? ")")?)*
 		public Group getGroup_1() { return cGroup_1; }
 
@@ -2222,14 +2222,14 @@ public class STextGrammarAccess extends AbstractGrammarElementFinder {
 		//"."
 		public Keyword getFullStopKeyword_1_1() { return cFullStopKeyword_1_1; }
 
-		//feature=[types::Feature]
+		//feature=[ecore::EObject]
 		public Assignment getFeatureAssignment_1_2() { return cFeatureAssignment_1_2; }
 
-		//[types::Feature]
-		public CrossReference getFeatureFeatureCrossReference_1_2_0() { return cFeatureFeatureCrossReference_1_2_0; }
+		//[ecore::EObject]
+		public CrossReference getFeatureEObjectCrossReference_1_2_0() { return cFeatureEObjectCrossReference_1_2_0; }
 
 		//ID
-		public RuleCall getFeatureFeatureIDTerminalRuleCall_1_2_0_1() { return cFeatureFeatureIDTerminalRuleCall_1_2_0_1; }
+		public RuleCall getFeatureEObjectIDTerminalRuleCall_1_2_0_1() { return cFeatureEObjectIDTerminalRuleCall_1_2_0_1; }
 
 		//(=> operationCall?="(" (args+=Expression ("," args+=Expression)*)? ")")?
 		public Group getGroup_1_3() { return cGroup_1_3; }
@@ -2265,13 +2265,13 @@ public class STextGrammarAccess extends AbstractGrammarElementFinder {
 		public Keyword getRightParenthesisKeyword_1_3_2() { return cRightParenthesisKeyword_1_3_2; }
 	}
 
-	public class TypedElementReferenceExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TypedElementReferenceExpression");
+	public class ElementReferenceExpressionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ElementReferenceExpression");
 		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cTypedElementReferenceExpressionAction_0 = (Action)cGroup.eContents().get(0);
+		private final Action cElementReferenceExpressionAction_0 = (Action)cGroup.eContents().get(0);
 		private final Assignment cReferenceAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final CrossReference cReferenceNamedElementCrossReference_1_0 = (CrossReference)cReferenceAssignment_1.eContents().get(0);
-		private final RuleCall cReferenceNamedElementIDTerminalRuleCall_1_0_1 = (RuleCall)cReferenceNamedElementCrossReference_1_0.eContents().get(1);
+		private final CrossReference cReferenceEObjectCrossReference_1_0 = (CrossReference)cReferenceAssignment_1.eContents().get(0);
+		private final RuleCall cReferenceEObjectIDTerminalRuleCall_1_0_1 = (RuleCall)cReferenceEObjectCrossReference_1_0.eContents().get(1);
 		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
 		private final Assignment cOperationCallAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
 		private final Keyword cOperationCallLeftParenthesisKeyword_2_0_0 = (Keyword)cOperationCallAssignment_2_0.eContents().get(0);
@@ -2284,26 +2284,26 @@ public class STextGrammarAccess extends AbstractGrammarElementFinder {
 		private final RuleCall cArgsExpressionParserRuleCall_2_1_1_1_0 = (RuleCall)cArgsAssignment_2_1_1_1.eContents().get(0);
 		private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
 		
-		//TypedElementReferenceExpression returns Expression:
-		//	{TypedElementReferenceExpression} reference=[base::NamedElement] (=> operationCall?="(" (args+=Expression (","
+		//ElementReferenceExpression returns Expression:
+		//	{ElementReferenceExpression} reference=[ecore::EObject] (=> operationCall?="(" (args+=Expression (","
 		//	args+=Expression)*)? ")")?;
 		public ParserRule getRule() { return rule; }
 
-		//{TypedElementReferenceExpression} reference=[base::NamedElement] (=> operationCall?="(" (args+=Expression (","
+		//{ElementReferenceExpression} reference=[ecore::EObject] (=> operationCall?="(" (args+=Expression (","
 		//args+=Expression)*)? ")")?
 		public Group getGroup() { return cGroup; }
 
-		//{TypedElementReferenceExpression}
-		public Action getTypedElementReferenceExpressionAction_0() { return cTypedElementReferenceExpressionAction_0; }
+		//{ElementReferenceExpression}
+		public Action getElementReferenceExpressionAction_0() { return cElementReferenceExpressionAction_0; }
 
-		//reference=[base::NamedElement]
+		//reference=[ecore::EObject]
 		public Assignment getReferenceAssignment_1() { return cReferenceAssignment_1; }
 
-		//[base::NamedElement]
-		public CrossReference getReferenceNamedElementCrossReference_1_0() { return cReferenceNamedElementCrossReference_1_0; }
+		//[ecore::EObject]
+		public CrossReference getReferenceEObjectCrossReference_1_0() { return cReferenceEObjectCrossReference_1_0; }
 
 		//ID
-		public RuleCall getReferenceNamedElementIDTerminalRuleCall_1_0_1() { return cReferenceNamedElementIDTerminalRuleCall_1_0_1; }
+		public RuleCall getReferenceEObjectIDTerminalRuleCall_1_0_1() { return cReferenceEObjectIDTerminalRuleCall_1_0_1; }
 
 		//(=> operationCall?="(" (args+=Expression ("," args+=Expression)*)? ")")?
 		public Group getGroup_2() { return cGroup_2; }
@@ -3035,7 +3035,7 @@ public class STextGrammarAccess extends AbstractGrammarElementFinder {
 	private PrimaryExpressionElements pPrimaryExpression;
 	private PrimitiveValueExpressionElements pPrimitiveValueExpression;
 	private FeatureCallElements pFeatureCall;
-	private TypedElementReferenceExpressionElements pTypedElementReferenceExpression;
+	private ElementReferenceExpressionElements pElementReferenceExpression;
 	private EventValueReferenceExpressionElements pEventValueReferenceExpression;
 	private ActiveStateReferenceExpressionElements pActiveStateReferenceExpression;
 	private LiteralElements pLiteral;
@@ -3787,7 +3787,7 @@ public class STextGrammarAccess extends AbstractGrammarElementFinder {
 	}
 
 	//FeatureCall returns Expression:
-	//	TypedElementReferenceExpression ({FeatureCall.owner=current} "." feature=[types::Feature] (=> operationCall?="("
+	//	ElementReferenceExpression ({FeatureCall.owner=current} "." feature=[ecore::EObject] (=> operationCall?="("
 	//	(args+=Expression ("," args+=Expression)*)? ")")?)*;
 	public FeatureCallElements getFeatureCallAccess() {
 		return (pFeatureCall != null) ? pFeatureCall : (pFeatureCall = new FeatureCallElements());
@@ -3797,15 +3797,15 @@ public class STextGrammarAccess extends AbstractGrammarElementFinder {
 		return getFeatureCallAccess().getRule();
 	}
 
-	//TypedElementReferenceExpression returns Expression:
-	//	{TypedElementReferenceExpression} reference=[base::NamedElement] (=> operationCall?="(" (args+=Expression (","
+	//ElementReferenceExpression returns Expression:
+	//	{ElementReferenceExpression} reference=[ecore::EObject] (=> operationCall?="(" (args+=Expression (","
 	//	args+=Expression)*)? ")")?;
-	public TypedElementReferenceExpressionElements getTypedElementReferenceExpressionAccess() {
-		return (pTypedElementReferenceExpression != null) ? pTypedElementReferenceExpression : (pTypedElementReferenceExpression = new TypedElementReferenceExpressionElements());
+	public ElementReferenceExpressionElements getElementReferenceExpressionAccess() {
+		return (pElementReferenceExpression != null) ? pElementReferenceExpression : (pElementReferenceExpression = new ElementReferenceExpressionElements());
 	}
 	
-	public ParserRule getTypedElementReferenceExpressionRule() {
-		return getTypedElementReferenceExpressionAccess().getRule();
+	public ParserRule getElementReferenceExpressionRule() {
+		return getElementReferenceExpressionAccess().getRule();
 	}
 
 	//EventValueReferenceExpression returns Expression:

+ 16 - 16
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/TypedElementReferenceExpression.java

@@ -8,27 +8,27 @@ package org.yakindu.sct.model.stext.stext;
 
 import org.eclipse.emf.common.util.EList;
 
-import org.yakindu.base.base.NamedElement;
+import org.eclipse.emf.ecore.EObject;
 
 /**
  * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Typed Element Reference Expression</b></em>'.
+ * A representation of the model object '<em><b>Element Reference Expression</b></em>'.
  * <!-- end-user-doc -->
  *
  * <p>
  * The following features are supported:
  * <ul>
- *   <li>{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#getReference <em>Reference</em>}</li>
- *   <li>{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#isOperationCall <em>Operation Call</em>}</li>
- *   <li>{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#getArgs <em>Args</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression#getReference <em>Reference</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression#isOperationCall <em>Operation Call</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression#getArgs <em>Args</em>}</li>
  * </ul>
  * </p>
  *
- * @see org.yakindu.sct.model.stext.stext.StextPackage#getTypedElementReferenceExpression()
+ * @see org.yakindu.sct.model.stext.stext.StextPackage#getElementReferenceExpression()
  * @model
  * @generated
  */
-public interface TypedElementReferenceExpression extends Expression
+public interface ElementReferenceExpression extends Expression
 {
   /**
    * Returns the value of the '<em><b>Reference</b></em>' reference.
@@ -39,22 +39,22 @@ public interface TypedElementReferenceExpression extends Expression
    * </p>
    * <!-- end-user-doc -->
    * @return the value of the '<em>Reference</em>' reference.
-   * @see #setReference(NamedElement)
-   * @see org.yakindu.sct.model.stext.stext.StextPackage#getTypedElementReferenceExpression_Reference()
+   * @see #setReference(EObject)
+   * @see org.yakindu.sct.model.stext.stext.StextPackage#getElementReferenceExpression_Reference()
    * @model
    * @generated
    */
-  NamedElement getReference();
+  EObject getReference();
 
   /**
-   * Sets the value of the '{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#getReference <em>Reference</em>}' reference.
+   * Sets the value of the '{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression#getReference <em>Reference</em>}' reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @param value the new value of the '<em>Reference</em>' reference.
    * @see #getReference()
    * @generated
    */
-  void setReference(NamedElement value);
+  void setReference(EObject value);
 
   /**
    * Returns the value of the '<em><b>Operation Call</b></em>' attribute.
@@ -66,14 +66,14 @@ public interface TypedElementReferenceExpression extends Expression
    * <!-- end-user-doc -->
    * @return the value of the '<em>Operation Call</em>' attribute.
    * @see #setOperationCall(boolean)
-   * @see org.yakindu.sct.model.stext.stext.StextPackage#getTypedElementReferenceExpression_OperationCall()
+   * @see org.yakindu.sct.model.stext.stext.StextPackage#getElementReferenceExpression_OperationCall()
    * @model
    * @generated
    */
   boolean isOperationCall();
 
   /**
-   * Sets the value of the '{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#isOperationCall <em>Operation Call</em>}' attribute.
+   * Sets the value of the '{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression#isOperationCall <em>Operation Call</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @param value the new value of the '<em>Operation Call</em>' attribute.
@@ -92,10 +92,10 @@ public interface TypedElementReferenceExpression extends Expression
    * </p>
    * <!-- end-user-doc -->
    * @return the value of the '<em>Args</em>' containment reference list.
-   * @see org.yakindu.sct.model.stext.stext.StextPackage#getTypedElementReferenceExpression_Args()
+   * @see org.yakindu.sct.model.stext.stext.StextPackage#getElementReferenceExpression_Args()
    * @model containment="true"
    * @generated
    */
   EList<Expression> getArgs();
 
-} // TypedElementReferenceExpression
+} // ElementReferenceExpression

+ 4 - 4
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/FeatureCall.java

@@ -8,7 +8,7 @@ package org.yakindu.sct.model.stext.stext;
 
 import org.eclipse.emf.common.util.EList;
 
-import org.yakindu.base.types.Feature;
+import org.eclipse.emf.ecore.EObject;
 
 /**
  * <!-- begin-user-doc -->
@@ -66,12 +66,12 @@ public interface FeatureCall extends Expression
    * </p>
    * <!-- end-user-doc -->
    * @return the value of the '<em>Feature</em>' reference.
-   * @see #setFeature(Feature)
+   * @see #setFeature(EObject)
    * @see org.yakindu.sct.model.stext.stext.StextPackage#getFeatureCall_Feature()
    * @model
    * @generated
    */
-  Feature getFeature();
+  EObject getFeature();
 
   /**
    * Sets the value of the '{@link org.yakindu.sct.model.stext.stext.FeatureCall#getFeature <em>Feature</em>}' reference.
@@ -81,7 +81,7 @@ public interface FeatureCall extends Expression
    * @see #getFeature()
    * @generated
    */
-  void setFeature(Feature value);
+  void setFeature(EObject value);
 
   /**
    * Returns the value of the '<em><b>Operation Call</b></em>' attribute.

+ 3 - 3
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/StextFactory.java

@@ -549,13 +549,13 @@ public interface StextFactory extends EFactory
   FeatureCall createFeatureCall();
 
   /**
-   * Returns a new object of class '<em>Typed Element Reference Expression</em>'.
+   * Returns a new object of class '<em>Element Reference Expression</em>'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return a new object of class '<em>Typed Element Reference Expression</em>'.
+   * @return a new object of class '<em>Element Reference Expression</em>'.
    * @generated
    */
-  TypedElementReferenceExpression createTypedElementReferenceExpression();
+  ElementReferenceExpression createElementReferenceExpression();
 
   /**
    * Returns a new object of class '<em>Event Value Reference Expression</em>'.

+ 32 - 32
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/StextPackage.java

@@ -2066,14 +2066,14 @@ public interface StextPackage extends EPackage
   int FEATURE_CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
 
   /**
-   * The meta object id for the '{@link org.yakindu.sct.model.stext.stext.impl.TypedElementReferenceExpressionImpl <em>Typed Element Reference Expression</em>}' class.
+   * The meta object id for the '{@link org.yakindu.sct.model.stext.stext.impl.ElementReferenceExpressionImpl <em>Element Reference Expression</em>}' class.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.yakindu.sct.model.stext.stext.impl.TypedElementReferenceExpressionImpl
-   * @see org.yakindu.sct.model.stext.stext.impl.StextPackageImpl#getTypedElementReferenceExpression()
+   * @see org.yakindu.sct.model.stext.stext.impl.ElementReferenceExpressionImpl
+   * @see org.yakindu.sct.model.stext.stext.impl.StextPackageImpl#getElementReferenceExpression()
    * @generated
    */
-  int TYPED_ELEMENT_REFERENCE_EXPRESSION = 58;
+  int ELEMENT_REFERENCE_EXPRESSION = 58;
 
   /**
    * The feature id for the '<em><b>Reference</b></em>' reference.
@@ -2082,7 +2082,7 @@ public interface StextPackage extends EPackage
    * @generated
    * @ordered
    */
-  int TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE = EXPRESSION_FEATURE_COUNT + 0;
+  int ELEMENT_REFERENCE_EXPRESSION__REFERENCE = EXPRESSION_FEATURE_COUNT + 0;
 
   /**
    * The feature id for the '<em><b>Operation Call</b></em>' attribute.
@@ -2091,7 +2091,7 @@ public interface StextPackage extends EPackage
    * @generated
    * @ordered
    */
-  int TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL = EXPRESSION_FEATURE_COUNT + 1;
+  int ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL = EXPRESSION_FEATURE_COUNT + 1;
 
   /**
    * The feature id for the '<em><b>Args</b></em>' containment reference list.
@@ -2100,16 +2100,16 @@ public interface StextPackage extends EPackage
    * @generated
    * @ordered
    */
-  int TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS = EXPRESSION_FEATURE_COUNT + 2;
+  int ELEMENT_REFERENCE_EXPRESSION__ARGS = EXPRESSION_FEATURE_COUNT + 2;
 
   /**
-   * The number of structural features of the '<em>Typed Element Reference Expression</em>' class.
+   * The number of structural features of the '<em>Element Reference Expression</em>' class.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int TYPED_ELEMENT_REFERENCE_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
+  int ELEMENT_REFERENCE_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
 
   /**
    * The meta object id for the '{@link org.yakindu.sct.model.stext.stext.impl.EventValueReferenceExpressionImpl <em>Event Value Reference Expression</em>}' class.
@@ -3587,47 +3587,47 @@ public interface StextPackage extends EPackage
   EReference getFeatureCall_Args();
 
   /**
-   * Returns the meta object for class '{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression <em>Typed Element Reference Expression</em>}'.
+   * Returns the meta object for class '{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression <em>Element Reference Expression</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Typed Element Reference Expression</em>'.
-   * @see org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression
+   * @return the meta object for class '<em>Element Reference Expression</em>'.
+   * @see org.yakindu.sct.model.stext.stext.ElementReferenceExpression
    * @generated
    */
-  EClass getTypedElementReferenceExpression();
+  EClass getElementReferenceExpression();
 
   /**
-   * Returns the meta object for the reference '{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#getReference <em>Reference</em>}'.
+   * Returns the meta object for the reference '{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression#getReference <em>Reference</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the reference '<em>Reference</em>'.
-   * @see org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#getReference()
-   * @see #getTypedElementReferenceExpression()
+   * @see org.yakindu.sct.model.stext.stext.ElementReferenceExpression#getReference()
+   * @see #getElementReferenceExpression()
    * @generated
    */
-  EReference getTypedElementReferenceExpression_Reference();
+  EReference getElementReferenceExpression_Reference();
 
   /**
-   * Returns the meta object for the attribute '{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#isOperationCall <em>Operation Call</em>}'.
+   * Returns the meta object for the attribute '{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression#isOperationCall <em>Operation Call</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the attribute '<em>Operation Call</em>'.
-   * @see org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#isOperationCall()
-   * @see #getTypedElementReferenceExpression()
+   * @see org.yakindu.sct.model.stext.stext.ElementReferenceExpression#isOperationCall()
+   * @see #getElementReferenceExpression()
    * @generated
    */
-  EAttribute getTypedElementReferenceExpression_OperationCall();
+  EAttribute getElementReferenceExpression_OperationCall();
 
   /**
-   * Returns the meta object for the containment reference list '{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#getArgs <em>Args</em>}'.
+   * Returns the meta object for the containment reference list '{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression#getArgs <em>Args</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the containment reference list '<em>Args</em>'.
-   * @see org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression#getArgs()
-   * @see #getTypedElementReferenceExpression()
+   * @see org.yakindu.sct.model.stext.stext.ElementReferenceExpression#getArgs()
+   * @see #getElementReferenceExpression()
    * @generated
    */
-  EReference getTypedElementReferenceExpression_Args();
+  EReference getElementReferenceExpression_Args();
 
   /**
    * Returns the meta object for class '{@link org.yakindu.sct.model.stext.stext.EventValueReferenceExpression <em>Event Value Reference Expression</em>}'.
@@ -4909,14 +4909,14 @@ public interface StextPackage extends EPackage
     EReference FEATURE_CALL__ARGS = eINSTANCE.getFeatureCall_Args();
 
     /**
-     * The meta object literal for the '{@link org.yakindu.sct.model.stext.stext.impl.TypedElementReferenceExpressionImpl <em>Typed Element Reference Expression</em>}' class.
+     * The meta object literal for the '{@link org.yakindu.sct.model.stext.stext.impl.ElementReferenceExpressionImpl <em>Element Reference Expression</em>}' class.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.yakindu.sct.model.stext.stext.impl.TypedElementReferenceExpressionImpl
-     * @see org.yakindu.sct.model.stext.stext.impl.StextPackageImpl#getTypedElementReferenceExpression()
+     * @see org.yakindu.sct.model.stext.stext.impl.ElementReferenceExpressionImpl
+     * @see org.yakindu.sct.model.stext.stext.impl.StextPackageImpl#getElementReferenceExpression()
      * @generated
      */
-    EClass TYPED_ELEMENT_REFERENCE_EXPRESSION = eINSTANCE.getTypedElementReferenceExpression();
+    EClass ELEMENT_REFERENCE_EXPRESSION = eINSTANCE.getElementReferenceExpression();
 
     /**
      * The meta object literal for the '<em><b>Reference</b></em>' reference feature.
@@ -4924,7 +4924,7 @@ public interface StextPackage extends EPackage
      * <!-- end-user-doc -->
      * @generated
      */
-    EReference TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE = eINSTANCE.getTypedElementReferenceExpression_Reference();
+    EReference ELEMENT_REFERENCE_EXPRESSION__REFERENCE = eINSTANCE.getElementReferenceExpression_Reference();
 
     /**
      * The meta object literal for the '<em><b>Operation Call</b></em>' attribute feature.
@@ -4932,7 +4932,7 @@ public interface StextPackage extends EPackage
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL = eINSTANCE.getTypedElementReferenceExpression_OperationCall();
+    EAttribute ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL = eINSTANCE.getElementReferenceExpression_OperationCall();
 
     /**
      * The meta object literal for the '<em><b>Args</b></em>' containment reference list feature.
@@ -4940,7 +4940,7 @@ public interface StextPackage extends EPackage
      * <!-- end-user-doc -->
      * @generated
      */
-    EReference TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS = eINSTANCE.getTypedElementReferenceExpression_Args();
+    EReference ELEMENT_REFERENCE_EXPRESSION__ARGS = eINSTANCE.getElementReferenceExpression_Args();
 
     /**
      * The meta object literal for the '{@link org.yakindu.sct.model.stext.stext.impl.EventValueReferenceExpressionImpl <em>Event Value Reference Expression</em>}' class.

+ 35 - 36
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/impl/TypedElementReferenceExpressionImpl.java

@@ -14,6 +14,7 @@ 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;
@@ -21,28 +22,26 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 
-import org.yakindu.base.base.NamedElement;
-
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.Expression;
 import org.yakindu.sct.model.stext.stext.StextPackage;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Typed Element Reference Expression</b></em>'.
+ * An implementation of the model object '<em><b>Element Reference Expression</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link org.yakindu.sct.model.stext.stext.impl.TypedElementReferenceExpressionImpl#getReference <em>Reference</em>}</li>
- *   <li>{@link org.yakindu.sct.model.stext.stext.impl.TypedElementReferenceExpressionImpl#isOperationCall <em>Operation Call</em>}</li>
- *   <li>{@link org.yakindu.sct.model.stext.stext.impl.TypedElementReferenceExpressionImpl#getArgs <em>Args</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.stext.stext.impl.ElementReferenceExpressionImpl#getReference <em>Reference</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.stext.stext.impl.ElementReferenceExpressionImpl#isOperationCall <em>Operation Call</em>}</li>
+ *   <li>{@link org.yakindu.sct.model.stext.stext.impl.ElementReferenceExpressionImpl#getArgs <em>Args</em>}</li>
  * </ul>
  * </p>
  *
  * @generated
  */
-public class TypedElementReferenceExpressionImpl extends ExpressionImpl implements TypedElementReferenceExpression
+public class ElementReferenceExpressionImpl extends ExpressionImpl implements ElementReferenceExpression
 {
   /**
    * The cached value of the '{@link #getReference() <em>Reference</em>}' reference.
@@ -52,7 +51,7 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
    * @generated
    * @ordered
    */
-  protected NamedElement reference;
+  protected EObject reference;
 
   /**
    * The default value of the '{@link #isOperationCall() <em>Operation Call</em>}' attribute.
@@ -89,7 +88,7 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
    * <!-- end-user-doc -->
    * @generated
    */
-  protected TypedElementReferenceExpressionImpl()
+  protected ElementReferenceExpressionImpl()
   {
     super();
   }
@@ -102,7 +101,7 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
   @Override
   protected EClass eStaticClass()
   {
-    return StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION;
+    return StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION;
   }
 
   /**
@@ -110,16 +109,16 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
    * <!-- end-user-doc -->
    * @generated
    */
-  public NamedElement getReference()
+  public EObject getReference()
   {
     if (reference != null && reference.eIsProxy())
     {
       InternalEObject oldReference = (InternalEObject)reference;
-      reference = (NamedElement)eResolveProxy(oldReference);
+      reference = eResolveProxy(oldReference);
       if (reference != oldReference)
       {
         if (eNotificationRequired())
-          eNotify(new ENotificationImpl(this, Notification.RESOLVE, StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE, oldReference, reference));
+          eNotify(new ENotificationImpl(this, Notification.RESOLVE, StextPackage.ELEMENT_REFERENCE_EXPRESSION__REFERENCE, oldReference, reference));
       }
     }
     return reference;
@@ -130,7 +129,7 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
    * <!-- end-user-doc -->
    * @generated
    */
-  public NamedElement basicGetReference()
+  public EObject basicGetReference()
   {
     return reference;
   }
@@ -140,12 +139,12 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setReference(NamedElement newReference)
+  public void setReference(EObject newReference)
   {
-    NamedElement oldReference = reference;
+    EObject oldReference = reference;
     reference = newReference;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE, oldReference, reference));
+      eNotify(new ENotificationImpl(this, Notification.SET, StextPackage.ELEMENT_REFERENCE_EXPRESSION__REFERENCE, oldReference, reference));
   }
 
   /**
@@ -168,7 +167,7 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
     boolean oldOperationCall = operationCall;
     operationCall = newOperationCall;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL, oldOperationCall, operationCall));
+      eNotify(new ENotificationImpl(this, Notification.SET, StextPackage.ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL, oldOperationCall, operationCall));
   }
 
   /**
@@ -180,7 +179,7 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
   {
     if (args == null)
     {
-      args = new EObjectContainmentEList<Expression>(Expression.class, this, StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS);
+      args = new EObjectContainmentEList<Expression>(Expression.class, this, StextPackage.ELEMENT_REFERENCE_EXPRESSION__ARGS);
     }
     return args;
   }
@@ -195,7 +194,7 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
   {
     switch (featureID)
     {
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__ARGS:
         return ((InternalEList<?>)getArgs()).basicRemove(otherEnd, msgs);
     }
     return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -211,12 +210,12 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
   {
     switch (featureID)
     {
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__REFERENCE:
         if (resolve) return getReference();
         return basicGetReference();
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
         return isOperationCall();
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__ARGS:
         return getArgs();
     }
     return super.eGet(featureID, resolve, coreType);
@@ -233,13 +232,13 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
   {
     switch (featureID)
     {
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE:
-        setReference((NamedElement)newValue);
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__REFERENCE:
+        setReference((EObject)newValue);
         return;
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
         setOperationCall((Boolean)newValue);
         return;
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__ARGS:
         getArgs().clear();
         getArgs().addAll((Collection<? extends Expression>)newValue);
         return;
@@ -257,13 +256,13 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
   {
     switch (featureID)
     {
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE:
-        setReference((NamedElement)null);
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__REFERENCE:
+        setReference((EObject)null);
         return;
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
         setOperationCall(OPERATION_CALL_EDEFAULT);
         return;
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__ARGS:
         getArgs().clear();
         return;
     }
@@ -280,11 +279,11 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
   {
     switch (featureID)
     {
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__REFERENCE:
         return reference != null;
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL:
         return operationCall != OPERATION_CALL_EDEFAULT;
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION__ARGS:
         return args != null && !args.isEmpty();
     }
     return super.eIsSet(featureID);
@@ -307,4 +306,4 @@ public class TypedElementReferenceExpressionImpl extends ExpressionImpl implemen
     return result.toString();
   }
 
-} //TypedElementReferenceExpressionImpl
+} //ElementReferenceExpressionImpl

+ 9 - 10
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/impl/FeatureCallImpl.java

@@ -14,6 +14,7 @@ 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;
@@ -21,8 +22,6 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 
-import org.yakindu.base.types.Feature;
-
 import org.yakindu.sct.model.stext.stext.Expression;
 import org.yakindu.sct.model.stext.stext.FeatureCall;
 import org.yakindu.sct.model.stext.stext.StextPackage;
@@ -63,7 +62,7 @@ public class FeatureCallImpl extends ExpressionImpl implements FeatureCall
    * @generated
    * @ordered
    */
-  protected Feature feature;
+  protected EObject feature;
 
   /**
    * The default value of the '{@link #isOperationCall() <em>Operation Call</em>}' attribute.
@@ -169,12 +168,12 @@ public class FeatureCallImpl extends ExpressionImpl implements FeatureCall
    * <!-- end-user-doc -->
    * @generated
    */
-  public Feature getFeature()
+  public EObject getFeature()
   {
     if (feature != null && feature.eIsProxy())
     {
       InternalEObject oldFeature = (InternalEObject)feature;
-      feature = (Feature)eResolveProxy(oldFeature);
+      feature = eResolveProxy(oldFeature);
       if (feature != oldFeature)
       {
         if (eNotificationRequired())
@@ -189,7 +188,7 @@ public class FeatureCallImpl extends ExpressionImpl implements FeatureCall
    * <!-- end-user-doc -->
    * @generated
    */
-  public Feature basicGetFeature()
+  public EObject basicGetFeature()
   {
     return feature;
   }
@@ -199,9 +198,9 @@ public class FeatureCallImpl extends ExpressionImpl implements FeatureCall
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setFeature(Feature newFeature)
+  public void setFeature(EObject newFeature)
   {
-    Feature oldFeature = feature;
+    EObject oldFeature = feature;
     feature = newFeature;
     if (eNotificationRequired())
       eNotify(new ENotificationImpl(this, Notification.SET, StextPackage.FEATURE_CALL__FEATURE, oldFeature, feature));
@@ -300,7 +299,7 @@ public class FeatureCallImpl extends ExpressionImpl implements FeatureCall
         setOwner((Expression)newValue);
         return;
       case StextPackage.FEATURE_CALL__FEATURE:
-        setFeature((Feature)newValue);
+        setFeature((EObject)newValue);
         return;
       case StextPackage.FEATURE_CALL__OPERATION_CALL:
         setOperationCall((Boolean)newValue);
@@ -327,7 +326,7 @@ public class FeatureCallImpl extends ExpressionImpl implements FeatureCall
         setOwner((Expression)null);
         return;
       case StextPackage.FEATURE_CALL__FEATURE:
-        setFeature((Feature)null);
+        setFeature((EObject)null);
         return;
       case StextPackage.FEATURE_CALL__OPERATION_CALL:
         setOperationCall(OPERATION_CALL_EDEFAULT);

+ 4 - 4
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/impl/StextFactoryImpl.java

@@ -127,7 +127,7 @@ public class StextFactoryImpl extends EFactoryImpl implements StextFactory
       case StextPackage.NUMERICAL_UNARY_EXPRESSION: return createNumericalUnaryExpression();
       case StextPackage.PRIMITIVE_VALUE_EXPRESSION: return createPrimitiveValueExpression();
       case StextPackage.FEATURE_CALL: return createFeatureCall();
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION: return createTypedElementReferenceExpression();
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION: return createElementReferenceExpression();
       case StextPackage.EVENT_VALUE_REFERENCE_EXPRESSION: return createEventValueReferenceExpression();
       case StextPackage.ACTIVE_STATE_REFERENCE_EXPRESSION: return createActiveStateReferenceExpression();
       default:
@@ -844,10 +844,10 @@ public class StextFactoryImpl extends EFactoryImpl implements StextFactory
    * <!-- end-user-doc -->
    * @generated
    */
-  public TypedElementReferenceExpression createTypedElementReferenceExpression()
+  public ElementReferenceExpression createElementReferenceExpression()
   {
-    TypedElementReferenceExpressionImpl typedElementReferenceExpression = new TypedElementReferenceExpressionImpl();
-    return typedElementReferenceExpression;
+    ElementReferenceExpressionImpl elementReferenceExpression = new ElementReferenceExpressionImpl();
+    return elementReferenceExpression;
   }
 
   /**

+ 20 - 20
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/impl/StextPackageImpl.java

@@ -34,6 +34,7 @@ import org.yakindu.sct.model.stext.stext.ConditionalExpression;
 import org.yakindu.sct.model.stext.stext.DefRoot;
 import org.yakindu.sct.model.stext.stext.DefaultEvent;
 import org.yakindu.sct.model.stext.stext.Direction;
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.EntryEvent;
 import org.yakindu.sct.model.stext.stext.EntryPointSpec;
 import org.yakindu.sct.model.stext.stext.Entrypoint;
@@ -89,7 +90,6 @@ import org.yakindu.sct.model.stext.stext.TimeUnit;
 import org.yakindu.sct.model.stext.stext.TransitionReaction;
 import org.yakindu.sct.model.stext.stext.TransitionRoot;
 import org.yakindu.sct.model.stext.stext.TransitionSpecification;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.UnaryOperator;
 import org.yakindu.sct.model.stext.stext.VariableDefinition;
 
@@ -512,7 +512,7 @@ public class StextPackageImpl extends EPackageImpl implements StextPackage
    * <!-- end-user-doc -->
    * @generated
    */
-  private EClass typedElementReferenceExpressionEClass = null;
+  private EClass elementReferenceExpressionEClass = null;
 
   /**
    * <!-- begin-user-doc -->
@@ -1923,9 +1923,9 @@ public class StextPackageImpl extends EPackageImpl implements StextPackage
    * <!-- end-user-doc -->
    * @generated
    */
-  public EClass getTypedElementReferenceExpression()
+  public EClass getElementReferenceExpression()
   {
-    return typedElementReferenceExpressionEClass;
+    return elementReferenceExpressionEClass;
   }
 
   /**
@@ -1933,9 +1933,9 @@ public class StextPackageImpl extends EPackageImpl implements StextPackage
    * <!-- end-user-doc -->
    * @generated
    */
-  public EReference getTypedElementReferenceExpression_Reference()
+  public EReference getElementReferenceExpression_Reference()
   {
-    return (EReference)typedElementReferenceExpressionEClass.getEStructuralFeatures().get(0);
+    return (EReference)elementReferenceExpressionEClass.getEStructuralFeatures().get(0);
   }
 
   /**
@@ -1943,9 +1943,9 @@ public class StextPackageImpl extends EPackageImpl implements StextPackage
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getTypedElementReferenceExpression_OperationCall()
+  public EAttribute getElementReferenceExpression_OperationCall()
   {
-    return (EAttribute)typedElementReferenceExpressionEClass.getEStructuralFeatures().get(1);
+    return (EAttribute)elementReferenceExpressionEClass.getEStructuralFeatures().get(1);
   }
 
   /**
@@ -1953,9 +1953,9 @@ public class StextPackageImpl extends EPackageImpl implements StextPackage
    * <!-- end-user-doc -->
    * @generated
    */
-  public EReference getTypedElementReferenceExpression_Args()
+  public EReference getElementReferenceExpression_Args()
   {
-    return (EReference)typedElementReferenceExpressionEClass.getEStructuralFeatures().get(2);
+    return (EReference)elementReferenceExpressionEClass.getEStructuralFeatures().get(2);
   }
 
   /**
@@ -2302,10 +2302,10 @@ public class StextPackageImpl extends EPackageImpl implements StextPackage
     createEAttribute(featureCallEClass, FEATURE_CALL__OPERATION_CALL);
     createEReference(featureCallEClass, FEATURE_CALL__ARGS);
 
-    typedElementReferenceExpressionEClass = createEClass(TYPED_ELEMENT_REFERENCE_EXPRESSION);
-    createEReference(typedElementReferenceExpressionEClass, TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE);
-    createEAttribute(typedElementReferenceExpressionEClass, TYPED_ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL);
-    createEReference(typedElementReferenceExpressionEClass, TYPED_ELEMENT_REFERENCE_EXPRESSION__ARGS);
+    elementReferenceExpressionEClass = createEClass(ELEMENT_REFERENCE_EXPRESSION);
+    createEReference(elementReferenceExpressionEClass, ELEMENT_REFERENCE_EXPRESSION__REFERENCE);
+    createEAttribute(elementReferenceExpressionEClass, ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL);
+    createEReference(elementReferenceExpressionEClass, ELEMENT_REFERENCE_EXPRESSION__ARGS);
 
     eventValueReferenceExpressionEClass = createEClass(EVENT_VALUE_REFERENCE_EXPRESSION);
     createEReference(eventValueReferenceExpressionEClass, EVENT_VALUE_REFERENCE_EXPRESSION__VALUE);
@@ -2413,7 +2413,7 @@ public class StextPackageImpl extends EPackageImpl implements StextPackage
     numericalUnaryExpressionEClass.getESuperTypes().add(this.getExpression());
     primitiveValueExpressionEClass.getESuperTypes().add(this.getExpression());
     featureCallEClass.getESuperTypes().add(this.getExpression());
-    typedElementReferenceExpressionEClass.getESuperTypes().add(this.getExpression());
+    elementReferenceExpressionEClass.getESuperTypes().add(this.getExpression());
     eventValueReferenceExpressionEClass.getESuperTypes().add(this.getExpression());
     activeStateReferenceExpressionEClass.getESuperTypes().add(this.getExpression());
 
@@ -2598,14 +2598,14 @@ public class StextPackageImpl extends EPackageImpl implements StextPackage
 
     initEClass(featureCallEClass, FeatureCall.class, "FeatureCall", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
     initEReference(getFeatureCall_Owner(), this.getExpression(), null, "owner", null, 0, 1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getFeatureCall_Feature(), theTypesPackage.getFeature(), null, "feature", null, 0, 1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getFeatureCall_Feature(), ecorePackage.getEObject(), null, "feature", null, 0, 1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getFeatureCall_OperationCall(), ecorePackage.getEBoolean(), "operationCall", null, 0, 1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getFeatureCall_Args(), this.getExpression(), null, "args", null, 0, -1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-    initEClass(typedElementReferenceExpressionEClass, TypedElementReferenceExpression.class, "TypedElementReferenceExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getTypedElementReferenceExpression_Reference(), theBasePackage.getNamedElement(), null, "reference", null, 0, 1, TypedElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getTypedElementReferenceExpression_OperationCall(), ecorePackage.getEBoolean(), "operationCall", null, 0, 1, TypedElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getTypedElementReferenceExpression_Args(), this.getExpression(), null, "args", null, 0, -1, TypedElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEClass(elementReferenceExpressionEClass, ElementReferenceExpression.class, "ElementReferenceExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+    initEReference(getElementReferenceExpression_Reference(), ecorePackage.getEObject(), null, "reference", null, 0, 1, ElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getElementReferenceExpression_OperationCall(), ecorePackage.getEBoolean(), "operationCall", null, 0, 1, ElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getElementReferenceExpression_Args(), this.getExpression(), null, "args", null, 0, -1, ElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
     initEClass(eventValueReferenceExpressionEClass, EventValueReferenceExpression.class, "EventValueReferenceExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
     initEReference(getEventValueReferenceExpression_Value(), this.getExpression(), null, "value", null, 0, 1, EventValueReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

+ 5 - 5
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/util/StextAdapterFactory.java

@@ -386,9 +386,9 @@ public class StextAdapterFactory extends AdapterFactoryImpl
         return createFeatureCallAdapter();
       }
       @Override
-      public Adapter caseTypedElementReferenceExpression(TypedElementReferenceExpression object)
+      public Adapter caseElementReferenceExpression(ElementReferenceExpression object)
       {
-        return createTypedElementReferenceExpressionAdapter();
+        return createElementReferenceExpressionAdapter();
       }
       @Override
       public Adapter caseEventValueReferenceExpression(EventValueReferenceExpression object)
@@ -1368,16 +1368,16 @@ public class StextAdapterFactory extends AdapterFactoryImpl
   }
 
   /**
-   * Creates a new adapter for an object of class '{@link org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression <em>Typed Element Reference Expression</em>}'.
+   * Creates a new adapter for an object of class '{@link org.yakindu.sct.model.stext.stext.ElementReferenceExpression <em>Element Reference Expression</em>}'.
    * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
    * @return the new adapter.
-   * @see org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression
+   * @see org.yakindu.sct.model.stext.stext.ElementReferenceExpression
    * @generated
    */
-  public Adapter createTypedElementReferenceExpressionAdapter()
+  public Adapter createElementReferenceExpressionAdapter()
   {
     return null;
   }

+ 8 - 8
plugins/org.yakindu.sct.model.stext/src-gen/org/yakindu/sct/model/stext/stext/util/StextSwitch.java

@@ -590,12 +590,12 @@ public class StextSwitch<T> extends Switch<T>
         if (result == null) result = defaultCase(theEObject);
         return result;
       }
-      case StextPackage.TYPED_ELEMENT_REFERENCE_EXPRESSION:
+      case StextPackage.ELEMENT_REFERENCE_EXPRESSION:
       {
-        TypedElementReferenceExpression typedElementReferenceExpression = (TypedElementReferenceExpression)theEObject;
-        T result = caseTypedElementReferenceExpression(typedElementReferenceExpression);
-        if (result == null) result = caseExpression(typedElementReferenceExpression);
-        if (result == null) result = caseStatement(typedElementReferenceExpression);
+        ElementReferenceExpression elementReferenceExpression = (ElementReferenceExpression)theEObject;
+        T result = caseElementReferenceExpression(elementReferenceExpression);
+        if (result == null) result = caseExpression(elementReferenceExpression);
+        if (result == null) result = caseStatement(elementReferenceExpression);
         if (result == null) result = defaultCase(theEObject);
         return result;
       }
@@ -1550,17 +1550,17 @@ public class StextSwitch<T> extends Switch<T>
   }
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Typed Element Reference Expression</em>'.
+   * Returns the result of interpreting the object as an instance of '<em>Element Reference Expression</em>'.
    * <!-- begin-user-doc -->
    * This implementation returns null;
    * returning a non-null result will terminate the switch.
    * <!-- end-user-doc -->
    * @param object the target of the switch.
-   * @return the result of interpreting the object as an instance of '<em>Typed Element Reference Expression</em>'.
+   * @return the result of interpreting the object as an instance of '<em>Element Reference Expression</em>'.
    * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
    * @generated
    */
-  public T caseTypedElementReferenceExpression(TypedElementReferenceExpression object)
+  public T caseElementReferenceExpression(ElementReferenceExpression object)
   {
     return null;
   }

+ 3 - 3
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/SText.xtext

@@ -264,15 +264,15 @@ PrimitiveValueExpression returns Expression:
 	{PrimitiveValueExpression} value=Literal;
 
 FeatureCall returns Expression:
-	TypedElementReferenceExpression ({FeatureCall.owner=current} '.' feature=[types::Feature]
+	ElementReferenceExpression ({FeatureCall.owner=current} '.' feature=[ecore::EObject]
 		(	=>operationCall?='('
 				(args+=Expression (',' args+=Expression)*)?
 			')')?
 	 )*
 ;
 
-TypedElementReferenceExpression returns Expression:
-	{TypedElementReferenceExpression} reference=[base::NamedElement|ID] 
+ElementReferenceExpression returns Expression:
+	{ElementReferenceExpression} reference=[ecore::EObject|ID] 
 		(	=>operationCall?='(' 
 				(args+=Expression (',' args+=Expression)*)?
 			')')?

+ 4 - 5
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/STextScopeProvider.java

@@ -26,18 +26,17 @@ import org.eclipse.xtext.scoping.Scopes;
 import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
 import org.eclipse.xtext.scoping.impl.FilteringScope;
 import org.eclipse.xtext.scoping.impl.SimpleScope;
-import org.yakindu.base.base.NamedElement;
 import org.yakindu.base.types.Feature;
 import org.yakindu.base.types.Type;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.model.sgraph.Scope;
 import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.model.stext.scoping.ContextPredicateProvider.EmptyPredicate;
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.Expression;
 import org.yakindu.sct.model.stext.stext.FeatureCall;
 import org.yakindu.sct.model.stext.stext.InterfaceScope;
 import org.yakindu.sct.model.stext.stext.InternalScope;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
@@ -84,8 +83,8 @@ public class STextScopeProvider extends AbstractDeclarativeScopeProvider {
 		Predicate<IEObjectDescription> predicate = calcuateFilterPredicate(
 				context, reference);
 		Expression owner = context.getOwner();
-		if (owner instanceof TypedElementReferenceExpression) {
-			NamedElement element = ((TypedElementReferenceExpression) owner)
+		if (owner instanceof ElementReferenceExpression) {
+			EObject element = ((ElementReferenceExpression) owner)
 					.getReference();
 			if (element instanceof Scope) {
 				IScope scope = Scopes.scopeFor(((Scope) element)
@@ -99,7 +98,7 @@ public class STextScopeProvider extends AbstractDeclarativeScopeProvider {
 			}
 
 		} else if (owner instanceof FeatureCall) {
-			Feature feature = ((FeatureCall) owner).getFeature();
+			Feature feature = (Feature) ((FeatureCall) owner).getFeature();
 			IScope scope = Scopes.scopeFor(allFeatures(feature.getType()));
 			if (feature instanceof Type) {
 				IScope featureTypeScope = Scopes.scopeFor(

+ 35 - 27
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/validation/STextJavaValidator.java

@@ -20,6 +20,7 @@ import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.xtext.Keyword;
+import org.eclipse.xtext.naming.IQualifiedNameProvider;
 import org.eclipse.xtext.nodemodel.ICompositeNode;
 import org.eclipse.xtext.nodemodel.INode;
 import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
@@ -39,6 +40,7 @@ import org.yakindu.sct.model.stext.services.STextGrammarAccess;
 import org.yakindu.sct.model.stext.stext.AlwaysEvent;
 import org.yakindu.sct.model.stext.stext.AssignmentExpression;
 import org.yakindu.sct.model.stext.stext.Direction;
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.EntryEvent;
 import org.yakindu.sct.model.stext.stext.EventDefinition;
 import org.yakindu.sct.model.stext.stext.EventRaisingExpression;
@@ -54,7 +56,6 @@ import org.yakindu.sct.model.stext.stext.ReactionEffect;
 import org.yakindu.sct.model.stext.stext.ReactionTrigger;
 import org.yakindu.sct.model.stext.stext.StatechartSpecification;
 import org.yakindu.sct.model.stext.stext.StextPackage;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.VariableDefinition;
 
 import com.google.inject.Inject;
@@ -62,7 +63,7 @@ import com.google.inject.Inject;
 import de.itemis.xtext.utils.gmf.resource.InjectMembersResource;
 
 /**
- * Several validations for nonsensical expressions.
+ * s Several validations for nonsensical expressions.
  * 
  * @author muehlbrandt
  * @auhor muelder
@@ -82,6 +83,8 @@ public class STextJavaValidator extends AbstractSTextJavaValidator {
 	private ITypeInferrer analyzer;
 	@Inject
 	private ITypeSystemAccess tsAccess;
+	@Inject
+	private IQualifiedNameProvider nameProvider;
 
 	@Check(CheckType.FAST)
 	public void checkOperationArguments_FeatureCall(final FeatureCall call) {
@@ -97,7 +100,7 @@ public class STextJavaValidator extends AbstractSTextJavaValidator {
 
 	@Check(CheckType.FAST)
 	public void checkOperationArguments_TypedElementReferenceExpression(
-			final TypedElementReferenceExpression call) {
+			final ElementReferenceExpression call) {
 		if (call.getReference() instanceof Operation) {
 			Operation operation = (Operation) call.getReference();
 			EList<Parameter> parameters = operation.getParameters();
@@ -121,13 +124,13 @@ public class STextJavaValidator extends AbstractSTextJavaValidator {
 	}
 
 	@Check(CheckType.FAST)
-	public void checkFeatureCall(TypedElementReferenceExpression call) {
+	public void checkFeatureCall(ElementReferenceExpression call) {
 		if (call.eContainer() instanceof FeatureCall) {
 			return;
 		}
 		if (call.getReference() instanceof Scope) {
 			error("A variable, event or operation is required",
-					StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
+					StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
 					INSIGNIFICANT_INDEX, FEATURE_CALL_TO_SCOPE);
 		}
 	}
@@ -177,8 +180,8 @@ public class STextJavaValidator extends AbstractSTextJavaValidator {
 
 				if (exp instanceof FeatureCall) {
 					checkFeatureCallEffect((FeatureCall) exp);
-				} else if (exp instanceof TypedElementReferenceExpression) {
-					checkTypedElementReferenceEffect((TypedElementReferenceExpression) exp);
+				} else if (exp instanceof ElementReferenceExpression) {
+					checkElementReferenceEffect((ElementReferenceExpression) exp);
 				} else {
 					error("Action has no effect.",
 							StextPackage.Literals.REACTION_EFFECT__ACTIONS,
@@ -193,17 +196,20 @@ public class STextJavaValidator extends AbstractSTextJavaValidator {
 	protected void checkFeatureCallEffect(FeatureCall call) {
 		if (!(call.getFeature() instanceof Operation)) {
 			if (call.getFeature() instanceof Property) {
-				error("Access to property '" + call.getFeature().getName()
+				error("Access to property '"
+						+ nameProvider.getFullyQualifiedName(call.getFeature())
 						+ "' has no effect.", call,
 						StextPackage.Literals.FEATURE_CALL__FEATURE,
 						INSIGNIFICANT_INDEX, FEATURE_CALL_HAS_NO_EFFECT);
 			} else if (call.getFeature() instanceof Event) {
-				error("Access to event '" + call.getFeature().getName()
+				error("Access to event '"
+						+ nameProvider.getFullyQualifiedName(call.getFeature())
 						+ "' has no effect.", call,
 						StextPackage.Literals.FEATURE_CALL__FEATURE,
 						INSIGNIFICANT_INDEX, FEATURE_CALL_HAS_NO_EFFECT);
 			} else {
-				error("Access to feature '" + call.getFeature().getName()
+				error("Access to feature '"
+						+ nameProvider.getFullyQualifiedName(call.getFeature())
 						+ "' has no effect.", call,
 						StextPackage.Literals.FEATURE_CALL__FEATURE,
 						INSIGNIFICANT_INDEX, FEATURE_CALL_HAS_NO_EFFECT);
@@ -212,26 +218,28 @@ public class STextJavaValidator extends AbstractSTextJavaValidator {
 
 	}
 
-	protected void checkTypedElementReferenceEffect(
-			TypedElementReferenceExpression ter) {
-		if (!(ter.getReference() instanceof Operation)) {
-			if (ter.getReference() instanceof Property) {
-				error("Access to property '" + ter.getReference().getName()
-						+ "' has no effect.",
-						ter,
-						StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
+	protected void checkElementReferenceEffect(ElementReferenceExpression refExp) {
+		if (!(refExp.getReference() instanceof Operation)) {
+			if (refExp.getReference() instanceof Property) {
+				error("Access to property '"
+						+ nameProvider.getFullyQualifiedName(refExp
+								.getReference()) + "' has no effect.",
+						refExp,
+						StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
 						INSIGNIFICANT_INDEX, FEATURE_CALL_HAS_NO_EFFECT);
-			} else if (ter.getReference() instanceof Event) {
-				error("Access to event '" + ter.getReference().getName()
-						+ "' has no effect.",
-						ter,
-						StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
+			} else if (refExp.getReference() instanceof Event) {
+				error("Access to event '"
+						+ nameProvider.getFullyQualifiedName(refExp
+								.getReference()) + "' has no effect.",
+						refExp,
+						StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
 						INSIGNIFICANT_INDEX, FEATURE_CALL_HAS_NO_EFFECT);
 			} else {
-				error("Access to feature '" + ter.getReference().getName()
-						+ "' has no effect.",
-						ter,
-						StextPackage.Literals.TYPED_ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
+				error("Access to feature '"
+						+ nameProvider.getFullyQualifiedName(refExp
+								.getReference()) + "' has no effect.",
+						refExp,
+						StextPackage.Literals.ELEMENT_REFERENCE_EXPRESSION__REFERENCE,
 						INSIGNIFICANT_INDEX, FEATURE_CALL_HAS_NO_EFFECT);
 			}
 		}

+ 3 - 3
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/validation/TypeInferrer.xtend

@@ -204,12 +204,12 @@ class TypeInferrer implements org.yakindu.sct.model.stext.validation.ITypeInferr
 		val falseType = expression.falseCase.getType
 		return trueType.combine(falseType)
 	} 
-	
+	//TODO: Remove dependency to base types
 	def dispatch inferType(FeatureCall featureCall){
-		return featureCall.feature?.type
+		return (featureCall.feature as Feature)?.type
 	}
 	
-	def dispatch inferType(TypedElementReferenceExpression expression){
+	def dispatch inferType(ElementReferenceExpression expression){
 		var reference  = expression.reference
 		if(reference instanceof VariableDefinition){
 			return (reference as VariableDefinition).type

+ 0 - 523
plugins/org.yakindu.sct.model.stext/xtend-gen/org/yakindu/sct/model/stext/validation/TypeInferrer.java

@@ -1,523 +0,0 @@
-package org.yakindu.sct.model.stext.validation;
-
-import com.google.inject.Inject;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.xbase.lib.BooleanExtensions;
-import org.eclipse.xtext.xbase.lib.ObjectExtensions;
-import org.eclipse.xtext.xbase.lib.StringExtensions;
-import org.yakindu.base.base.NamedElement;
-import org.yakindu.base.types.Feature;
-import org.yakindu.base.types.ITypeSystemAccess;
-import org.yakindu.base.types.Type;
-import org.yakindu.base.types.scope.TypeLibraryLocation.Registry;
-import org.yakindu.sct.model.sgraph.Statement;
-import org.yakindu.sct.model.stext.stext.AdditiveOperator;
-import org.yakindu.sct.model.stext.stext.AssignmentExpression;
-import org.yakindu.sct.model.stext.stext.BitwiseAndExpression;
-import org.yakindu.sct.model.stext.stext.BitwiseOrExpression;
-import org.yakindu.sct.model.stext.stext.BitwiseXorExpression;
-import org.yakindu.sct.model.stext.stext.BoolLiteral;
-import org.yakindu.sct.model.stext.stext.ConditionalExpression;
-import org.yakindu.sct.model.stext.stext.EventDefinition;
-import org.yakindu.sct.model.stext.stext.EventRaisingExpression;
-import org.yakindu.sct.model.stext.stext.EventValueReferenceExpression;
-import org.yakindu.sct.model.stext.stext.Expression;
-import org.yakindu.sct.model.stext.stext.FeatureCall;
-import org.yakindu.sct.model.stext.stext.IntLiteral;
-import org.yakindu.sct.model.stext.stext.Literal;
-import org.yakindu.sct.model.stext.stext.LogicalAndExpression;
-import org.yakindu.sct.model.stext.stext.LogicalNotExpression;
-import org.yakindu.sct.model.stext.stext.LogicalOrExpression;
-import org.yakindu.sct.model.stext.stext.LogicalRelationExpression;
-import org.yakindu.sct.model.stext.stext.MultiplicativeOperator;
-import org.yakindu.sct.model.stext.stext.NumericalAddSubtractExpression;
-import org.yakindu.sct.model.stext.stext.NumericalMultiplyDivideExpression;
-import org.yakindu.sct.model.stext.stext.NumericalUnaryExpression;
-import org.yakindu.sct.model.stext.stext.PrimitiveValueExpression;
-import org.yakindu.sct.model.stext.stext.RealLiteral;
-import org.yakindu.sct.model.stext.stext.RelationalOperator;
-import org.yakindu.sct.model.stext.stext.ShiftExpression;
-import org.yakindu.sct.model.stext.stext.StringLiteral;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
-import org.yakindu.sct.model.stext.stext.UnaryOperator;
-import org.yakindu.sct.model.stext.stext.VariableDefinition;
-import org.yakindu.sct.model.stext.validation.ITypeInferrer;
-import org.yakindu.sct.model.stext.validation.TypeCheckException;
-import org.yakindu.sct.model.stext.validation.TypeInferrerCache;
-import org.yakindu.sct.model.stext.validation.TypeInferrerCache.ICacheableTypeAnalyzer;
-
-@SuppressWarnings("all")
-public class TypeInferrer implements ITypeInferrer, ICacheableTypeAnalyzer {
-  
-  @Inject
-  private Registry libraries;
-  
-  @Inject
-  private ITypeSystemAccess ts;
-  
-  @Inject
-  private TypeInferrerCache cache;
-  
-  public Type getType(final Statement stmt) {
-    Type _get = this.cache.get(stmt, this);
-    return _get;
-  }
-  
-  protected Type _inferType(final Statement statement) {
-    return null;
-  }
-  
-  public Type check(final Statement stmt) {
-    Type _type = this.getType(stmt);
-    return _type;
-  }
-  
-  protected Type _inferType(final AssignmentExpression assignment) throws TypeCheckException {
-    {
-      Expression _expression = assignment.getExpression();
-      Type _type = this.getType(_expression);
-      Type valueType = _type;
-      Expression _varRef = assignment.getVarRef();
-      Type _type_1 = this.getType(_varRef);
-      Type type = _type_1;
-      boolean _isAssignable = this.ts.isAssignable(type, valueType);
-      boolean _operator_not = BooleanExtensions.operator_not(_isAssignable);
-      if (_operator_not) {
-        {
-          String _name = valueType==null?(String)null:valueType.getName();
-          String _operator_plus = StringExtensions.operator_plus("Can not assign a value of type ", _name);
-          String _operator_plus_1 = StringExtensions.operator_plus(_operator_plus, " to a variable of type ");
-          String _name_1 = type==null?(String)null:type.getName();
-          String _operator_plus_2 = StringExtensions.operator_plus(_operator_plus_1, _name_1);
-          this.error(_operator_plus_2);
-          return null;
-        }
-      }
-      return type;
-    }
-  }
-  
-  protected Type _inferType(final EventRaisingExpression eventRaising) throws TypeCheckException {
-    {
-      Expression _value = eventRaising.getValue();
-      Type _type = this.getType(_value);
-      Type valueType = _type;
-      Expression _event = eventRaising.getEvent();
-      Type _type_1 = this.getType(_event);
-      Type type = _type_1;
-      boolean _isAssignable = this.ts.isAssignable(type, valueType);
-      boolean _operator_not = BooleanExtensions.operator_not(_isAssignable);
-      if (_operator_not) {
-        {
-          String _name = valueType==null?(String)null:valueType.getName();
-          String _operator_plus = StringExtensions.operator_plus("Can not assign a value of type ", _name);
-          String _operator_plus_1 = StringExtensions.operator_plus(_operator_plus, " to a variable of type ");
-          String _name_1 = type==null?(String)null:type.getName();
-          String _operator_plus_2 = StringExtensions.operator_plus(_operator_plus_1, _name_1);
-          this.error(_operator_plus_2);
-          return null;
-        }
-      }
-      return type;
-    }
-  }
-  
-  protected Type _inferType(final LogicalAndExpression expression) {
-    Expression _leftOperand = expression.getLeftOperand();
-    Type _type = this.getType(_leftOperand);
-    Expression _rightOperand = expression.getRightOperand();
-    Type _type_1 = this.getType(_rightOperand);
-    Type _assertBooleanTypes = this.assertBooleanTypes(_type, _type_1, "&&");
-    return _assertBooleanTypes;
-  }
-  
-  protected Type _inferType(final LogicalOrExpression expression) {
-    Expression _leftOperand = expression.getLeftOperand();
-    Type _type = this.getType(_leftOperand);
-    Expression _rightOperand = expression.getRightOperand();
-    Type _type_1 = this.getType(_rightOperand);
-    Type _assertBooleanTypes = this.assertBooleanTypes(_type, _type_1, "||");
-    return _assertBooleanTypes;
-  }
-  
-  public Type assertBooleanTypes(final Type left, final Type right, final String literal) throws TypeCheckException {
-    {
-      boolean _operator_and = false;
-      Type _assertIsBoolean = this.assertIsBoolean(left, literal);
-      boolean _operator_notEquals = ObjectExtensions.operator_notEquals(_assertIsBoolean, null);
-      if (!_operator_notEquals) {
-        _operator_and = false;
-      } else {
-        Type _assertIsBoolean_1 = this.assertIsBoolean(right, literal);
-        boolean _operator_notEquals_1 = ObjectExtensions.operator_notEquals(_assertIsBoolean_1, null);
-        _operator_and = BooleanExtensions.operator_and(_operator_notEquals, _operator_notEquals_1);
-      }
-      if (_operator_and) {
-        Type _combine = this.ts.combine(left, right);
-        return _combine;
-      }
-      return null;
-    }
-  }
-  
-  protected Type _inferType(final LogicalNotExpression expression) {
-    {
-      Expression _operand = expression.getOperand();
-      Type _type = this.getType(_operand);
-      final Type type = _type;
-      Type _assertIsBoolean = this.assertIsBoolean(type, "!");
-      return _assertIsBoolean;
-    }
-  }
-  
-  protected Type _inferType(final BitwiseAndExpression expression) {
-    Expression _leftOperand = expression.getLeftOperand();
-    Type _type = this.getType(_leftOperand);
-    Expression _rightOperand = expression.getRightOperand();
-    Type _type_1 = this.getType(_rightOperand);
-    Type _assertNumericalTypes = this.assertNumericalTypes(_type, _type_1, "&");
-    return _assertNumericalTypes;
-  }
-  
-  protected Type _inferType(final BitwiseOrExpression expression) {
-    Expression _leftOperand = expression.getLeftOperand();
-    Type _type = this.getType(_leftOperand);
-    Expression _rightOperand = expression.getRightOperand();
-    Type _type_1 = this.getType(_rightOperand);
-    Type _assertNumericalTypes = this.assertNumericalTypes(_type, _type_1, "|");
-    return _assertNumericalTypes;
-  }
-  
-  protected Type _inferType(final BitwiseXorExpression expression) {
-    Expression _leftOperand = expression.getLeftOperand();
-    Type _type = this.getType(_leftOperand);
-    Expression _rightOperand = expression.getRightOperand();
-    Type _type_1 = this.getType(_rightOperand);
-    Type _assertNumericalTypes = this.assertNumericalTypes(_type, _type_1, "^");
-    return _assertNumericalTypes;
-  }
-  
-  protected Type _inferType(final LogicalRelationExpression expression) throws TypeCheckException {
-    {
-      Expression _leftOperand = expression.getLeftOperand();
-      Type _type = this.getType(_leftOperand);
-      final Type leftType = _type;
-      Expression _rightOperand = expression.getRightOperand();
-      Type _type_1 = this.getType(_rightOperand);
-      final Type rightType = _type_1;
-      boolean _operator_and = false;
-      boolean _isBoolean = this.ts.isBoolean(leftType);
-      if (!_isBoolean) {
-        _operator_and = false;
-      } else {
-        boolean _isBoolean_1 = this.ts.isBoolean(rightType);
-        _operator_and = BooleanExtensions.operator_and(_isBoolean, _isBoolean_1);
-      }
-      if (_operator_and) {
-        boolean _operator_and_1 = false;
-        RelationalOperator _operator = expression.getOperator();
-        boolean _operator_notEquals = ObjectExtensions.operator_notEquals(_operator, RelationalOperator.EQUALS);
-        if (!_operator_notEquals) {
-          _operator_and_1 = false;
-        } else {
-          RelationalOperator _operator_1 = expression.getOperator();
-          boolean _operator_notEquals_1 = ObjectExtensions.operator_notEquals(_operator_1, RelationalOperator.NOT_EQUALS);
-          _operator_and_1 = BooleanExtensions.operator_and(_operator_notEquals, _operator_notEquals_1);
-        }
-        if (_operator_and_1) {
-          {
-            RelationalOperator _operator_2 = expression.getOperator();
-            String _literal = _operator_2==null?(String)null:_operator_2.getLiteral();
-            String _operator_plus = StringExtensions.operator_plus("operator \'", _literal);
-            String _operator_plus_1 = StringExtensions.operator_plus(_operator_plus, "\' can not be applied to boolean values!");
-            this.error(_operator_plus_1);
-            return null;
-          }
-        }
-      } else {
-        {
-          Type _combine = this.ts.combine(leftType, rightType);
-          final Type combined = _combine;
-          boolean _operator_equals = ObjectExtensions.operator_equals(combined, null);
-          if (_operator_equals) {
-            String _name = leftType==null?(String)null:leftType.getName();
-            String _operator_plus_2 = StringExtensions.operator_plus("Incompatible operands ", _name);
-            String _operator_plus_3 = StringExtensions.operator_plus(_operator_plus_2, " and ");
-            String _name_1 = rightType==null?(String)null:rightType.getName();
-            String _operator_plus_4 = StringExtensions.operator_plus(_operator_plus_3, _name_1);
-            String _operator_plus_5 = StringExtensions.operator_plus(_operator_plus_4, " for operator \'");
-            RelationalOperator _operator_3 = expression.getOperator();
-            String _literal_1 = _operator_3.getLiteral();
-            String _operator_plus_6 = StringExtensions.operator_plus(_operator_plus_5, _literal_1);
-            String _operator_plus_7 = StringExtensions.operator_plus(_operator_plus_6, "\'");
-            this.error(_operator_plus_7);
-          }
-        }
-      }
-      Type _boolean = this.ts.getBoolean();
-      return _boolean;
-    }
-  }
-  
-  public Type assertNumericalTypes(final Type left, final Type right, final String literal) throws TypeCheckException {
-    {
-      boolean _operator_and = false;
-      Type _assertIsNumber = this.assertIsNumber(left, literal);
-      boolean _operator_notEquals = ObjectExtensions.operator_notEquals(_assertIsNumber, null);
-      if (!_operator_notEquals) {
-        _operator_and = false;
-      } else {
-        Type _assertIsNumber_1 = this.assertIsNumber(right, literal);
-        boolean _operator_notEquals_1 = ObjectExtensions.operator_notEquals(_assertIsNumber_1, null);
-        _operator_and = BooleanExtensions.operator_and(_operator_notEquals, _operator_notEquals_1);
-      }
-      if (_operator_and) {
-        Type _combine = this.ts.combine(left, right);
-        return _combine;
-      }
-      return null;
-    }
-  }
-  
-  protected Type _inferType(final NumericalAddSubtractExpression expression) {
-    Expression _leftOperand = expression.getLeftOperand();
-    Type _type = this.getType(_leftOperand);
-    Expression _rightOperand = expression.getRightOperand();
-    Type _type_1 = this.getType(_rightOperand);
-    AdditiveOperator _operator = expression.getOperator();
-    String _literal = _operator.getLiteral();
-    Type _assertNumericalTypes = this.assertNumericalTypes(_type, _type_1, _literal);
-    return _assertNumericalTypes;
-  }
-  
-  protected Type _inferType(final NumericalMultiplyDivideExpression expression) {
-    Expression _leftOperand = expression.getLeftOperand();
-    Type _type = this.getType(_leftOperand);
-    Expression _rightOperand = expression.getRightOperand();
-    Type _type_1 = this.getType(_rightOperand);
-    MultiplicativeOperator _operator = expression.getOperator();
-    String _literal = _operator.getLiteral();
-    Type _assertNumericalTypes = this.assertNumericalTypes(_type, _type_1, _literal);
-    return _assertNumericalTypes;
-  }
-  
-  protected Type _inferType(final NumericalUnaryExpression expression) {
-    {
-      Expression _operand = expression.getOperand();
-      Type _type = this.getType(_operand);
-      final Type type = _type;
-      UnaryOperator _operator = expression.getOperator();
-      String _literal = _operator.getLiteral();
-      Type _assertIsNumber = this.assertIsNumber(type, _literal);
-      return _assertIsNumber;
-    }
-  }
-  
-  protected Type _inferType(final PrimitiveValueExpression expression) {
-    {
-      Literal _value = expression.getValue();
-      Type _type = this.getType(_value);
-      final Type t = _type;
-      return t;
-    }
-  }
-  
-  protected Type _inferType(final ShiftExpression expression) {
-    return null;
-  }
-  
-  protected Type _inferType(final ConditionalExpression expression) throws TypeCheckException {
-    {
-      Expression _condition = expression.getCondition();
-      Type _type = this.getType(_condition);
-      final Type condType = _type;
-      boolean _isBoolean = this.ts.isBoolean(condType);
-      boolean _operator_not = BooleanExtensions.operator_not(_isBoolean);
-      if (_operator_not) {
-        {
-          this.error("Condition type have to be boolean");
-          return null;
-        }
-      }
-      Expression _trueCase = expression.getTrueCase();
-      Type _type_1 = this.getType(_trueCase);
-      final Type trueType = _type_1;
-      Expression _falseCase = expression.getFalseCase();
-      Type _type_2 = this.getType(_falseCase);
-      final Type falseType = _type_2;
-      Type _combine = this.ts.combine(trueType, falseType);
-      return _combine;
-    }
-  }
-  
-  protected Type _inferType(final FeatureCall featureCall) {
-    Feature _feature = featureCall.getFeature();
-    Type _type = _feature==null?(Type)null:_feature.getType();
-    return _type;
-  }
-  
-  protected Type _inferType(final TypedElementReferenceExpression expression) {
-    Type _xblockexpression = null;
-    {
-      NamedElement _reference = expression.getReference();
-      NamedElement reference = _reference;
-      if ((reference instanceof org.yakindu.sct.model.stext.stext.VariableDefinition)) {
-        Type _type = ((VariableDefinition) reference).getType();
-        return _type;
-      }
-      if ((reference instanceof org.yakindu.sct.model.stext.stext.EventDefinition)) {
-        boolean _operator_or = false;
-        EObject _eContainer = expression.eContainer();
-        if ((_eContainer instanceof org.yakindu.sct.model.stext.stext.EventRaisingExpression)) {
-          _operator_or = true;
-        } else {
-          EObject _eContainer_1 = expression.eContainer();
-          _operator_or = BooleanExtensions.operator_or((_eContainer instanceof org.yakindu.sct.model.stext.stext.EventRaisingExpression), (_eContainer_1 instanceof org.yakindu.sct.model.stext.stext.EventValueReferenceExpression));
-        }
-        if (_operator_or) {
-          Type _type_1 = ((EventDefinition) reference).getType();
-          return _type_1;
-        } else {
-          Type _boolean = this.ts.getBoolean();
-          return _boolean;
-        }
-      }
-      _xblockexpression = (null);
-    }
-    return _xblockexpression;
-  }
-  
-  protected Type _inferType(final EventValueReferenceExpression expression) {
-    Expression _value = expression.getValue();
-    Type _type = this.getType(_value);
-    return _type;
-  }
-  
-  protected Type _getType(final IntLiteral literal) {
-    Type _integer = this.ts.getInteger();
-    return _integer;
-  }
-  
-  protected Type _getType(final BoolLiteral bool) {
-    Type _boolean = this.ts.getBoolean();
-    return _boolean;
-  }
-  
-  protected Type _getType(final RealLiteral literal) {
-    Type _real = this.ts.getReal();
-    return _real;
-  }
-  
-  protected Type _getType(final StringLiteral literal) {
-    Type _string = this.ts.getString();
-    return _string;
-  }
-  
-  public Type assertIsNumber(final Type object, final String operator) throws TypeCheckException {
-    {
-      boolean _operator_and = false;
-      boolean _isReal = this.ts.isReal(object);
-      boolean _operator_not = BooleanExtensions.operator_not(_isReal);
-      if (!_operator_not) {
-        _operator_and = false;
-      } else {
-        boolean _isInteger = this.ts.isInteger(object);
-        boolean _operator_not_1 = BooleanExtensions.operator_not(_isInteger);
-        _operator_and = BooleanExtensions.operator_and(_operator_not, _operator_not_1);
-      }
-      if (_operator_and) {
-        {
-          String _operator_plus = StringExtensions.operator_plus("operator \'", operator);
-          String _operator_plus_1 = StringExtensions.operator_plus(_operator_plus, "\' can only be applied to numbers!");
-          this.error(_operator_plus_1);
-          return null;
-        }
-      }
-      return object;
-    }
-  }
-  
-  public Type assertIsBoolean(final Type object, final String operator) throws TypeCheckException {
-    {
-      boolean _isBoolean = this.ts.isBoolean(object);
-      boolean _operator_not = BooleanExtensions.operator_not(_isBoolean);
-      if (_operator_not) {
-        String _operator_plus = StringExtensions.operator_plus("operator \'", operator);
-        String _operator_plus_1 = StringExtensions.operator_plus(_operator_plus, "\' can only be applied to boolean values!");
-        this.error(_operator_plus_1);
-      }
-      return object;
-    }
-  }
-  
-  public void error(final String msg) throws TypeCheckException {
-    TypeCheckException _typeCheckException = new TypeCheckException(msg);
-    throw _typeCheckException;
-  }
-  
-  protected Type _inferType(final Expression expr) {
-    return null;
-  }
-  
-  public Type inferType(final Statement assignment) throws TypeCheckException {
-    if ((assignment instanceof AssignmentExpression)) {
-      return _inferType((AssignmentExpression)assignment);
-    } else if ((assignment instanceof BitwiseAndExpression)) {
-      return _inferType((BitwiseAndExpression)assignment);
-    } else if ((assignment instanceof BitwiseOrExpression)) {
-      return _inferType((BitwiseOrExpression)assignment);
-    } else if ((assignment instanceof BitwiseXorExpression)) {
-      return _inferType((BitwiseXorExpression)assignment);
-    } else if ((assignment instanceof ConditionalExpression)) {
-      return _inferType((ConditionalExpression)assignment);
-    } else if ((assignment instanceof EventRaisingExpression)) {
-      return _inferType((EventRaisingExpression)assignment);
-    } else if ((assignment instanceof EventValueReferenceExpression)) {
-      return _inferType((EventValueReferenceExpression)assignment);
-    } else if ((assignment instanceof FeatureCall)) {
-      return _inferType((FeatureCall)assignment);
-    } else if ((assignment instanceof LogicalAndExpression)) {
-      return _inferType((LogicalAndExpression)assignment);
-    } else if ((assignment instanceof LogicalNotExpression)) {
-      return _inferType((LogicalNotExpression)assignment);
-    } else if ((assignment instanceof LogicalOrExpression)) {
-      return _inferType((LogicalOrExpression)assignment);
-    } else if ((assignment instanceof LogicalRelationExpression)) {
-      return _inferType((LogicalRelationExpression)assignment);
-    } else if ((assignment instanceof NumericalAddSubtractExpression)) {
-      return _inferType((NumericalAddSubtractExpression)assignment);
-    } else if ((assignment instanceof NumericalMultiplyDivideExpression)) {
-      return _inferType((NumericalMultiplyDivideExpression)assignment);
-    } else if ((assignment instanceof NumericalUnaryExpression)) {
-      return _inferType((NumericalUnaryExpression)assignment);
-    } else if ((assignment instanceof PrimitiveValueExpression)) {
-      return _inferType((PrimitiveValueExpression)assignment);
-    } else if ((assignment instanceof ShiftExpression)) {
-      return _inferType((ShiftExpression)assignment);
-    } else if ((assignment instanceof TypedElementReferenceExpression)) {
-      return _inferType((TypedElementReferenceExpression)assignment);
-    } else if ((assignment instanceof Expression)) {
-      return _inferType((Expression)assignment);
-    } else if ((assignment instanceof Statement)) {
-      return _inferType((Statement)assignment);
-    } else {
-      throw new IllegalArgumentException("Unhandled parameter types: " +
-        java.util.Arrays.<Object>asList(assignment).toString());
-    }
-  }
-  
-  public Type getType(final Literal bool) {
-    if ((bool instanceof BoolLiteral)) {
-      return _getType((BoolLiteral)bool);
-    } else if ((bool instanceof IntLiteral)) {
-      return _getType((IntLiteral)bool);
-    } else if ((bool instanceof RealLiteral)) {
-      return _getType((RealLiteral)bool);
-    } else if ((bool instanceof StringLiteral)) {
-      return _getType((StringLiteral)bool);
-    } else {
-      throw new IllegalArgumentException("Unhandled parameter types: " +
-        java.util.Arrays.<Object>asList(bool).toString());
-    }
-  }
-}

+ 0 - 1
test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/STextJavaValidatorTest.java

@@ -44,7 +44,6 @@ import org.yakindu.sct.model.stext.stext.InternalScope;
 import org.yakindu.sct.model.stext.stext.ReactionEffect;
 import org.yakindu.sct.model.stext.stext.StatechartSpecification;
 import org.yakindu.sct.model.stext.stext.TransitionSpecification;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 import org.yakindu.sct.model.stext.test.util.AbstractSTextTest;
 import org.yakindu.sct.model.stext.test.util.STextInjectorProvider;
 import org.yakindu.sct.model.stext.validation.STextJavaValidator;

+ 6 - 6
test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/util/StextTestFactory.java

@@ -12,6 +12,7 @@ import org.yakindu.sct.model.stext.stext.AlwaysEvent;
 import org.yakindu.sct.model.stext.stext.AssignmentExpression;
 import org.yakindu.sct.model.stext.stext.AssignmentOperator;
 import org.yakindu.sct.model.stext.stext.BoolLiteral;
+import org.yakindu.sct.model.stext.stext.ElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.EventDefinition;
 import org.yakindu.sct.model.stext.stext.EventSpec;
 import org.yakindu.sct.model.stext.stext.Expression;
@@ -31,7 +32,6 @@ import org.yakindu.sct.model.stext.stext.StextFactory;
 import org.yakindu.sct.model.stext.stext.TimeEventSpec;
 import org.yakindu.sct.model.stext.stext.TimeEventType;
 import org.yakindu.sct.model.stext.stext.TimeUnit;
-import org.yakindu.sct.model.stext.stext.TypedElementReferenceExpression;
 import org.yakindu.sct.model.stext.stext.VariableDefinition;
 import org.yakindu.sct.model.stext.stext.impl.StextFactoryImpl;
 
@@ -86,16 +86,16 @@ public class StextTestFactory extends StextFactoryImpl {
 			ReactionTrigger rt) {
 		RegularEventSpec e1Spec = StextFactory.eINSTANCE
 				.createRegularEventSpec();
-		e1Spec.setEvent(_createTypedElementReferenceExpression(e1));
+		e1Spec.setEvent(_createElementReferenceExpression(e1));
 		if (rt != null)
 			rt.getTriggers().add(e1Spec);
 		return e1Spec;
 	}
 
-	public static TypedElementReferenceExpression _createTypedElementReferenceExpression(
+	public static ElementReferenceExpression _createElementReferenceExpression(
 			NamedElement target) {
-		TypedElementReferenceExpression referenceExpression = StextFactory.eINSTANCE
-				.createTypedElementReferenceExpression();
+		ElementReferenceExpression referenceExpression = StextFactory.eINSTANCE
+				.createElementReferenceExpression();
 		referenceExpression.setReference(target);
 		return referenceExpression;
 	}
@@ -252,7 +252,7 @@ public class StextTestFactory extends StextFactoryImpl {
 			ReactionEffect e) {
 		AssignmentExpression assignment = StextFactory.eINSTANCE
 				.createAssignmentExpression();
-		assignment.setVarRef(_createTypedElementReferenceExpression(v));
+		assignment.setVarRef(_createElementReferenceExpression(v));
 		assignment.setOperator(op);
 		assignment.setExpression(expression);
 		if (e != null)