Kaynağa Gözat

Adopted C ++ Code Generator to EObject based Feature call

Andreas Mülder 13 yıl önce
ebeveyn
işleme
956b9f4475

+ 2 - 2
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/templates/Dump.xpt

@@ -112,8 +112,8 @@ take_
 «ENDDEFINE»
 
 
-«DEFINE code FOR TypedElementReferenceExpression -»
-«this.reference.name 
+«DEFINE code FOR ElementReferenceExpression -»
+«this.reference-»
 «ENDDEFINE»
 
 

+ 4 - 4
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/templates/Expression.ext

@@ -65,9 +65,9 @@ String getInterfaceName(EventRaisingExpression event) :
 	"interface" + (( ((InterfaceScope)event.event.getEvent().eContainer).name == null)?"":((InterfaceScope)event.event.getEvent().eContainer).name.toFirstUpper());
 
 EventDefinition getEvent(Expression e) : null;
-EventDefinition getEvent(base::NamedElement e) : null;
+EventDefinition getEvent(ecore::EObject e) : null;
 EventDefinition getEvent(FeatureCall this) : feature.getEvent();
-EventDefinition getEvent(TypedElementReferenceExpression this) : reference.getEvent();
+EventDefinition getEvent(ElementReferenceExpression this) : reference.getEvent();
 EventDefinition getEvent(EventDefinition this) : this;
 
 String addValue(EventRaisingExpression event) :
@@ -104,8 +104,8 @@ String toCppCode(NumericalMultiplyDivideExpression expression) :
   	expression.leftOperand.toCppCode() + getOperator(expression.operator) + expression.rightOperand.toCppCode();
 
 // is this just relevant for events?
-String toCppCode(TypedElementReferenceExpression ev) :
-    " eventSet.check( ev_" + ev.reference.name.toLowerCase() + ") ";
+String toCppCode(ElementReferenceExpression ev) :
+    " eventSet.check( ev_" + ev.reference.name().toLowerCase() + ") ";
 
 String getOperator(AdditiveOperator operator) : 
     switch(operator) {

+ 5 - 3
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/templates/Naming.ext

@@ -2,17 +2,19 @@ import stext;
 import sexec;
 import ecore;
 import sgraph;
+import base;
 
 //TODO Workaround for error in Typesystem
 String name(Declaration this) : this.metaType.getProperty("name").toString();
 String name(Vertex this) : this.metaType.getProperty("name").toString();
+String name(EObject this): this.metaType.getProperty("name").toString();
 
 String name(Expression this):
 	"/*Name of "+this+"*/";
 String name(FeatureCall this):
-	feature.name;
-String name(TypedElementReferenceExpression this):
-	reference.name;
+	feature.name();
+String name(ElementReferenceExpression this):
+	reference.name();
 
 ExecutionFlow getExecutionFlow(InterfaceScope this) : ((ExecutionFlow)this.eContainer);