|
@@ -16,6 +16,7 @@ import org.yakindu.base.expressions.expressions.BitwiseAndExpression
|
|
|
import org.yakindu.base.expressions.expressions.BitwiseOrExpression
|
|
|
import org.yakindu.base.expressions.expressions.BitwiseXorExpression
|
|
|
import org.yakindu.base.expressions.expressions.BoolLiteral
|
|
|
+import org.yakindu.base.expressions.expressions.ConditionalExpression
|
|
|
import org.yakindu.base.expressions.expressions.ElementReferenceExpression
|
|
|
import org.yakindu.base.expressions.expressions.Expression
|
|
|
import org.yakindu.base.expressions.expressions.FeatureCall
|
|
@@ -26,6 +27,7 @@ import org.yakindu.base.expressions.expressions.LogicalAndExpression
|
|
|
import org.yakindu.base.expressions.expressions.LogicalNotExpression
|
|
|
import org.yakindu.base.expressions.expressions.LogicalOrExpression
|
|
|
import org.yakindu.base.expressions.expressions.LogicalRelationExpression
|
|
|
+import org.yakindu.base.expressions.expressions.NullLiteral
|
|
|
import org.yakindu.base.expressions.expressions.NumericalAddSubtractExpression
|
|
|
import org.yakindu.base.expressions.expressions.NumericalMultiplyDivideExpression
|
|
|
import org.yakindu.base.expressions.expressions.NumericalUnaryExpression
|
|
@@ -34,7 +36,9 @@ import org.yakindu.base.expressions.expressions.PrimitiveValueExpression
|
|
|
import org.yakindu.base.expressions.expressions.RealLiteral
|
|
|
import org.yakindu.base.expressions.expressions.ShiftExpression
|
|
|
import org.yakindu.base.expressions.expressions.StringLiteral
|
|
|
+import org.yakindu.base.expressions.expressions.TypeCastExpression
|
|
|
import org.yakindu.base.types.ITypeSystem
|
|
|
+import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
|
|
|
import org.yakindu.sct.model.sexec.naming.INamingService
|
|
|
import org.yakindu.sct.model.sgraph.Event
|
|
|
import org.yakindu.sct.model.stext.stext.ActiveStateReferenceExpression
|
|
@@ -43,8 +47,6 @@ import org.yakindu.sct.model.stext.stext.EventValueReferenceExpression
|
|
|
import org.yakindu.sct.model.stext.stext.OperationDefinition
|
|
|
import org.yakindu.sct.model.stext.stext.VariableDefinition
|
|
|
import org.yakindu.sct.model.stext.types.ISTextTypeInferrer
|
|
|
-import org.yakindu.base.expressions.expressions.NullLiteral
|
|
|
-import org.yakindu.base.expressions.expressions.ConditionalExpression
|
|
|
|
|
|
class ExpressionCode {
|
|
|
|
|
@@ -53,6 +55,7 @@ class ExpressionCode {
|
|
|
@Inject extension ITypeSystem
|
|
|
@Inject extension ISTextTypeInferrer
|
|
|
@Inject extension INamingService
|
|
|
+ @Inject extension ICodegenTypeSystemAccess
|
|
|
|
|
|
/* Refering to declared elements */
|
|
|
def dispatch CharSequence code(ElementReferenceExpression it) {
|
|
@@ -141,5 +144,7 @@ class ExpressionCode {
|
|
|
def dispatch CharSequence code(ActiveStateReferenceExpression it) '''«flow.activeFctID»(«scHandle», «value.shortName»)'''
|
|
|
|
|
|
def dispatch CharSequence code(ParenthesizedExpression it) '''(«expression.code»)'''
|
|
|
+
|
|
|
+ def dispatch CharSequence code(TypeCastExpression it) '''((«type.getTargetLanguageName») «operand.code»)'''
|
|
|
|
|
|
}
|