Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend')
-rw-r--r--plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend16
1 files changed, 13 insertions, 3 deletions
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend
index a1aadf370..3edaff61e 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend
@@ -43,11 +43,11 @@ import org.eclipse.etrice.core.room.util.RoomHelpers
import org.eclipse.etrice.generator.base.io.IGeneratorFileIO
import org.eclipse.etrice.generator.base.logging.ILogger
import org.eclipse.etrice.generator.c.Main
+import org.eclipse.etrice.generator.c.setup.GeneratorOptionsHelper
import org.eclipse.etrice.generator.fsm.base.IntelligentSeparator
import org.eclipse.etrice.generator.generic.ProcedureHelpers
import org.eclipse.etrice.generator.generic.RoomExtensions
import org.eclipse.etrice.generator.generic.TypeHelpers
-import org.eclipse.etrice.generator.c.setup.GeneratorOptionsHelper
@Singleton
class NodeGen {
@@ -388,7 +388,7 @@ class NodeGen {
/* nothing to do */
«ELSE»
«FOR pi:ai.orderedIfItemInstances»
- «IF pi.protocol.getPortClass(pi.conjugated)?.attributes?.size > 0»
+ «IF pi.portClassAttributesSize > 0»
static «pi.protocol.getPortClassName(pi.conjugated)»_var «pi.path.pathName»_var«IF pi.replicated»[«pi.peers.size»]«ENDIF»={
«FOR Integer i:1.. if(pi.peers.size==0)1 else pi.peers.size SEPARATOR ', '»
«attrInitGenAddon.generateAttributeInit(pi, pi.interfaceItem.portClass.attributes)»
@@ -410,6 +410,16 @@ class NodeGen {
'''
}
+
+ private def int getPortClassAttributesSize(InterfaceItemInstance pi) {
+ val attribs = pi.protocol.getPortClass(pi.conjugated)?.attributes
+ if (attribs===null) {
+ 0
+ }
+ else {
+ attribs.size
+ }
+ }
def private genActorInstanceInitializer(Root root, ActorInstance ai) {
val instName = ai.path.pathName
@@ -810,7 +820,7 @@ class NodeGen {
while (iter.hasNext) {
val obj = iter.next
if (obj instanceof PortInstance) {
- val pi = obj as PortInstance
+ val pi = obj
if (!pi.port.relay) {
// only data driven
if (pi.protocol.commType==CommunicationType::DATA_DRIVEN) {

Back to the top