Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2012-03-15 09:25:21 +0000
committerHenrik Rentz-Reichert2012-03-15 09:25:21 +0000
commit94b8d72f871afa4625f7d5a8cc0e5efa568f5657 (patch)
tree58d8c7c127e7deee612178dbc1ca32204a9070c2 /plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/ProcedureHelpers.xtend
parentbc45e89557ae38d253f0f22ec7410d934a94dbfa (diff)
downloadorg.eclipse.etrice-94b8d72f871afa4625f7d5a8cc0e5efa568f5657.tar.gz
org.eclipse.etrice-94b8d72f871afa4625f7d5a8cc0e5efa568f5657.tar.xz
org.eclipse.etrice-94b8d72f871afa4625f7d5a8cc0e5efa568f5657.zip
[generator] bug fix in generated data initialization
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.xtend11
1 files changed, 7 insertions, 4 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 99c835d76..c49eec95b 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
@@ -21,6 +21,7 @@ import org.eclipse.etrice.core.room.Attribute
import org.eclipse.etrice.core.room.DetailCode
import org.eclipse.etrice.core.room.Operation
import org.eclipse.etrice.core.room.VarDecl
+import org.eclipse.etrice.core.room.ComplexType
import org.eclipse.etrice.generator.base.DetailCodeTranslator
import org.eclipse.etrice.generator.base.ILogger
@@ -98,14 +99,16 @@ class ProcedureHelpers {
«a.name»[i] = «a.defaultValueLiteral»;
}
«ENDIF»
- «ELSEIF !useClassDefaultsOnly»
+ «ELSEIF a.refType.type instanceof ComplexType || a.size>1 || !useClassDefaultsOnly»
«IF a.size==0»
«a.name» = «a.refType.type.defaultValue»;
«ELSE»
«a.name» = new «a.refType.type.typeName»[«a.size»];
- for (int i=0;i<«a.size»;i++){
- «a.name»[i] = «a.refType.type.defaultValue»;
- }
+ «IF !useClassDefaultsOnly»
+ for (int i=0;i<«a.size»;i++){
+ «a.name»[i] = «a.refType.type.defaultValue»;
+ }
+ «ENDIF»
«ENDIF»
«ENDIF»
«ENDFOR»

Back to the top