Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2013-11-25 08:58:25 +0000
committerHenrik Rentz-Reichert2013-11-25 10:43:25 +0000
commit53c33e15786cb41839455689d0086d7320099b5b (patch)
tree838e35b1baa03e4cf4d9d320c114cca3670b6386 /plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend
parent2207283a15d7f4a30ac820b41f3d14961d0c0b87 (diff)
downloadorg.eclipse.etrice-53c33e15786cb41839455689d0086d7320099b5b.tar.gz
org.eclipse.etrice-53c33e15786cb41839455689d0086d7320099b5b.tar.xz
org.eclipse.etrice-53c33e15786cb41839455689d0086d7320099b5b.zip
Bug 422443: [generator.c] if no explicit type is specified then an EnumerationType should be generated as enum
https://bugs.eclipse.org/422443
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend')
-rw-r--r--plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend19
1 files changed, 13 insertions, 6 deletions
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend
index 6d31cd63a..e4673012a 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend
@@ -18,8 +18,6 @@ import org.eclipse.etrice.generator.generic.RoomExtensions
import org.eclipse.etrice.core.genmodel.etricegen.Root
import org.eclipse.etrice.core.room.EnumerationType
-import static extension org.eclipse.etrice.core.room.util.RoomHelpers.*
-
/**
* @author Henrik Rentz-Reichert
*
@@ -41,7 +39,7 @@ class EnumerationTypeGen {
}
}
- def generateHeaderFile(Root root, EnumerationType et) {
+ private def generateHeaderFile(Root root, EnumerationType et) {
'''
/**
* @author generated by eTrice
@@ -54,9 +52,18 @@ class EnumerationTypeGen {
#include "etDatatypes.h"
- «FOR lit: et.literals»
- #define «et.name»_«lit.name» «lit.castedValue»
- «ENDFOR»
+ «IF et.getPrimitiveType()!=null»
+ «FOR lit: et.literals»
+ #define «et.name»_«lit.name» «lit.castedValue»
+ «ENDFOR»
+ «ELSE»
+ typedef enum «et.name» {
+ «FOR lit: et.literals SEPARATOR ","»
+ «et.name»_«lit.name» = «lit.literalValue»
+ «ENDFOR»
+ }
+ «et.name»;
+ «ENDIF»
«generateIncludeGuardEnd(et)»
'''

Back to the top