diff options
author | Henrik Rentz-Reichert | 2012-03-15 09:25:21 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2012-03-15 09:25:21 +0000 |
commit | 94b8d72f871afa4625f7d5a8cc0e5efa568f5657 (patch) | |
tree | 58d8c7c127e7deee612178dbc1ca32204a9070c2 /plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/ProcedureHelpers.xtend | |
parent | bc45e89557ae38d253f0f22ec7410d934a94dbfa (diff) | |
download | org.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.xtend | 11 |
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»
|