Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/ProcedureHelpers.xtend')
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/ProcedureHelpers.xtend32
1 files changed, 31 insertions, 1 deletions
diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/ProcedureHelpers.xtend b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/ProcedureHelpers.xtend
index b4f4ae016..6c105064e 100644
--- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/ProcedureHelpers.xtend
+++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/ProcedureHelpers.xtend
@@ -30,7 +30,7 @@ import org.eclipse.etrice.core.room.VarDecl
import org.eclipse.etrice.generator.base.AbstractGenerator
import static extension org.eclipse.etrice.core.room.util.RoomHelpers.*
-
+import org.eclipse.etrice.core.room.PrimitiveType
@Singleton
class ProcedureHelpers {
@@ -234,4 +234,34 @@ class ProcedureHelpers {
'''«languageExt.accessLevelPublic()»«returnType» «languageExt.memberInDeclaration(classname, operationname)»(«languageExt.selfPointer(classname, !argumentList.empty)»«argumentList»)'''
}
+// def attributeInitializer(Attribute a, String valueFromModel){
+// if(a.refType.type.primitive){
+// var aType = a.refType.type as PrimitiveType
+// var value = languageExt.toValueLiteral(aType, valueFromModel)
+// return switch null {
+// case a.size == 0 || aType.characterType:
+// value
+// case value.startsWith("{")
+// }
+// '''
+// «IF a.size == 0 || aType.characterType»
+// «getter»«procedureHelpers.invokeSetter(a.name,null,literalValue)»;
+// «ELSEIF literalValue.startsWith("{")»
+// «getter»«procedureHelpers.invokeSetter(a.name,null, '''new «aType.typeName»[] «literalValue»''')»;
+// «ELSE»
+// {
+// «aType.typeName»[] _«a.name» = new «aType.typeName»[«a.size»];
+// for (int i=0;i<«a.size»;i++){
+// _«a.name»[i] = «literalValue»;
+// }
+// «getter»«procedureHelpers.invokeSetter(a.name,null,"_"+a.name)»;
+// }
+// «ENDIF»
+// '''
+// }
+// }
+//
+// def attributeDefaultInitialzier(Attribute a){
+//
+// }
}

Back to the top