summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Jung2011-07-16 16:39:29 (EDT)
committerThomas Jung2011-07-16 16:39:29 (EDT)
commitb8bea276e4a9ed70e0b82d6845f4a7aa549d6509 (patch)
tree0d2ec14650597b7e9dbf83906d6abec6ca5a4e5b
parent65a6b74bfd3e9a88067c2c0a5bb4f0d3639d3196 (diff)
downloadorg.eclipse.etrice-b8bea276e4a9ed70e0b82d6845f4a7aa549d6509.zip
org.eclipse.etrice-b8bea276e4a9ed70e0b82d6845f4a7aa549d6509.tar.gz
org.eclipse.etrice-b8bea276e4a9ed70e0b82d6845f4a7aa549d6509.tar.bz2
[generator.java] arrays and the init literals of arrays will be
generated. deepCopy adapted to copy arrays. With this changes at least arrays of simple types should behave well.
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/DataClass.xpt4
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/ProcedureHelpers.xpt7
2 files changed, 6 insertions, 5 deletions
diff --git a/plugins/org.eclipse.etrice.generator.java/src/templates/DataClass.xpt b/plugins/org.eclipse.etrice.generator.java/src/templates/DataClass.xpt
index df3e8d6..75f0d20 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/templates/DataClass.xpt
+++ b/plugins/org.eclipse.etrice.generator.java/src/templates/DataClass.xpt
@@ -45,7 +45,7 @@ public class «dc.name»«IF dc.base!=null» extends «dc.base.name»«ENDIF» {
public «dc.name»() {
«FOREACH dc.attributes AS a-»
«IF a.defaultValueLiteral!=null-»
- «a.name» = «a.defaultValueLiteral»;
+ «IF a.size==0»«a.name» = «a.defaultValueLiteral»;«ENDIF»
«ELSEIF a.type.type!=null-»
«a.name» = new «a.type.type.name»();
«ENDIF-»
@@ -59,7 +59,7 @@ public class «dc.name»«IF dc.base!=null» extends «dc.base.name»«ENDIF» {
«IF a.type.type!=null-»
copy.«a.name» = «a.name».deepCopy();
«ELSE-»
- copy.«a.name» = «a.name»;
+ «IF a.size==0»copy.«a.name» = «a.name»;«ELSE»for (int i=0;i<«a.size»;i++){copy.«a.name»[i]=«a.name»[i];}«ENDIF»
«ENDIF-»
«ENDFOREACH-»
return copy;
diff --git a/plugins/org.eclipse.etrice.generator.java/src/templates/ProcedureHelpers.xpt b/plugins/org.eclipse.etrice.generator.java/src/templates/ProcedureHelpers.xpt
index 8f00e5d..baad3d7 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/templates/ProcedureHelpers.xpt
+++ b/plugins/org.eclipse.etrice.generator.java/src/templates/ProcedureHelpers.xpt
@@ -32,16 +32,17 @@
«DEFINE Attributes FOR List[Attribute] »
//--------------------- attributes
- «FOREACH this AS attribute»protected «attribute.type.typeName()» «attribute.name»;
+ «FOREACH this AS attribute»«IF attribute.size==0»protected «attribute.type.typeName()» «attribute.name»;«ELSE»protected «attribute.type.typeName()»[] «attribute.name»«IF attribute.defaultValueLiteral==null» =new «attribute.type.typeName()»[«attribute.size»];«ELSE» = «attribute.defaultValueLiteral»;«ENDIF»
+ «ENDIF»
«ENDFOREACH»
«ENDDEFINE»
«DEFINE AttributeSettersGetters FOR List[Attribute] »
//--------------------- attribute setters and getters
- «FOREACH this AS attribute»public void set«attribute.name.toFirstUpper()» («attribute.type.typeName()» «attribute.name») {
+ «FOREACH this AS attribute»public void set«attribute.name.toFirstUpper()» («attribute.type.typeName()»«IF attribute.size!=0»[]«ENDIF» «attribute.name») {
this.«attribute.name» = «attribute.name»;
}
- public «attribute.type.typeName()» get«attribute.name.toFirstUpper()» () {
+ public «attribute.type.typeName()»«IF attribute.size!=0»[]«ENDIF» get«attribute.name.toFirstUpper()» () {
return «attribute.name»;
}«ENDFOREACH»
«ENDDEFINE»