Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schuetz2011-12-23 17:19:50 +0000
committerThomas Schuetz2011-12-23 17:19:50 +0000
commit7c8cbc7f125c97503921e8d4f1497898ab9b93aa (patch)
tree48f34a18f8ece8717c1585477bb358393d7afa65 /plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen
parentf502cbe9485f647ecd273222bf53717fa00c5043 (diff)
downloadorg.eclipse.etrice-7c8cbc7f125c97503921e8d4f1497898ab9b93aa.tar.gz
org.eclipse.etrice-7c8cbc7f125c97503921e8d4f1497898ab9b93aa.tar.xz
org.eclipse.etrice-7c8cbc7f125c97503921e8d4f1497898ab9b93aa.zip
[core] added usercode3 for c and c++ (also for DataClass) in grammar, removed import from DataClass, first incomplete implementation of DataClassGen.xtend for C
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen')
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend1
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend11
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProcedureHelpers.xtend72
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend2
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend2
5 files changed, 12 insertions, 76 deletions
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend
index 2cb388f3d..611eb8f36 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend
@@ -22,6 +22,7 @@ import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
import org.eclipse.etrice.generator.extensions.RoomExtensions
+import org.eclipse.etrice.generator.generic.ProcedureHelpers
@Singleton
class ActorClassGen {
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend
index 2da61e41a..d92693d48 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend
@@ -19,6 +19,8 @@ import org.eclipse.etrice.generator.base.ILogger
import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
import org.eclipse.etrice.generator.extensions.RoomExtensions
+import org.eclipse.etrice.generator.generic.ProcedureHelpers
+
@Singleton
class DataClassGen {
@@ -46,12 +48,13 @@ class DataClassGen {
«FOR model : models»import «model.name».*;
«ENDFOR»
- «IF dc.imports.size>0»
- // user imports
- «FOR imp : dc.imports»import «imp.importedNamespace».*;
- «ENDFOR»«ENDIF»
+ «helpers.UserCode(dc.userCode1)»
+
public class «dc.name»«IF dc.base!=null» extends «dc.base.name»«ENDIF» {
+
+ «helpers.UserCode(dc.userCode2)»
+
«helpers.Attributes(dc.attributes)»
«helpers.AttributeSettersGetters(dc.attributes)»
«helpers.Operations(dc.operations)»
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProcedureHelpers.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProcedureHelpers.xtend
deleted file mode 100644
index d71c0f591..000000000
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProcedureHelpers.xtend
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.generator.java.gen
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import java.util.List
-import org.eclipse.etrice.core.room.ActorClass
-import org.eclipse.etrice.core.room.Attribute
-import org.eclipse.etrice.core.room.DetailCode
-import org.eclipse.etrice.core.room.Operation
-
-@Singleton
-class ProcedureHelpers {
-
- @Inject extension JavaExtensions stdExt
-
- def ActorClassPortIF(ActorClass ac) {'''
- «IF ac.extPorts.size > 0»implements«ENDIF»
- «FOR ep : ac.extPorts»public «ep.ifport.protocol.name»«IF ep.ifport.conjugated==true»Conj«ENDIF»Port «ep.ifport.name» = null;
- «ENDFOR»
- '''
- }
-
- def UserCode(DetailCode dc) {'''
- «IF dc!=null»
- //--------------------- begin user code
- «FOR command : dc.commands» «command»
- «ENDFOR»//--------------------- end user code
- «ENDIF»
- '''
- }
-
- def Attributes(List<Attribute> attribs) {'''
- //--------------------- attributes
- «FOR attribute : attribs»«IF attribute.size==0»protected «IF attribute.type.ext != null»«attribute.type.ext»«ELSE»«attribute.type.typeName()»«ENDIF» «attribute.name»;«ELSE»protected «attribute.type.typeName()»[] «attribute.name»«IF attribute.defaultValueLiteral==null» =new «attribute.type.typeName()»[«attribute.size»];«ELSE» = «attribute.defaultValueLiteral»;«ENDIF»
- «ENDIF»
- «ENDFOR»
- '''
- }
-
- def AttributeSettersGetters(List<Attribute> attribs) {'''
- //--------------------- attribute setters and getters
- «FOR attribute : attribs»public void set«attribute.name.toFirstUpper()» («IF attribute.type.ext != null» «attribute.type.ext»«ELSE»«attribute.type.typeName()»«ENDIF»«IF attribute.size!=0»[]«ENDIF» «attribute.name») {
- this.«attribute.name» = «attribute.name»;
- }
- public «IF attribute.type.ext != null» «attribute.type.ext»«ELSE»«attribute.type.typeName()»«ENDIF»«IF attribute.size!=0»[]«ENDIF» get«attribute.name.toFirstUpper()» () {
- return «attribute.name»;
- }«ENDFOR»
- '''
- }
-
- def Operations(List<Operation> operations) {'''
- //--------------------- operations
- «FOR operation : operations»public «IF operation.returntype==null»void«ELSE»«operation.returntype.freeTypeName()»«ENDIF» «operation.name» («FOR argument : operation.arguments SEPARATOR ", "»«argument.type.freeTypeName()» «argument.name»«ENDFOR»){
- «FOR command : operation.detailCode.commands» «command»
- «ENDFOR»
- }«ENDFOR»
- '''
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend
index cc81b247e..b6f517112 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend
@@ -21,6 +21,8 @@ import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
import org.eclipse.etrice.generator.extensions.RoomExtensions
+import org.eclipse.etrice.generator.generic.ProcedureHelpers
+
@Singleton
class ProtocolClassGen {
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
index f1d5381d7..ec915e98d 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
@@ -21,6 +21,8 @@ import org.eclipse.etrice.generator.etricegen.ServiceImplInstance
import org.eclipse.etrice.generator.etricegen.SubSystemInstance
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
import org.eclipse.etrice.generator.extensions.RoomExtensions
+import org.eclipse.etrice.generator.generic.ProcedureHelpers
+
import static extension org.eclipse.etrice.generator.base.Indexed.*

Back to the top