diff --git a/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromControlFlowGraph.java b/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromControlFlowGraph.java index bfdc872..1b449d4 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromControlFlowGraph.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromControlFlowGraph.java @@ -600,6 +600,7 @@ ResourceNode resourceNode = ((StatefulObjectNode) node).getResource(); if (((StoreAttribute) resourceNode.getAttribute()).isStored()) { try { + boolean stateUpdateAdded = false; for (Edge e: resourceNode.getInEdges()) { DataFlowEdge re = (DataFlowEdge) e; for (ChannelMember in: re.getChannel().getInputChannelMembers()) { @@ -616,11 +617,14 @@ updateStatement = sideEffects[0] + langSpec.getFieldAccessor(fieldOfResourceState) + langSpec.getAssignment() + curState + langSpec.getStatementDelimiter(); // this.value = ... } update.addFirstStatement(updateStatement); + stateUpdateAdded = true; break; } } } + if (stateUpdateAdded) break; } + if (stateUpdateAdded) break; } } catch (ParameterizedIdentifierIsFutureWork | ResolvingMultipleDefinitionIsFutureWork | InvalidMessage | UnificationFailed | ValueUndefined e1) {