public void VisitTerminateLifetimeNode(TerminateLifetime node) { var terminateLifetimeDfir = new TerminateLifetimeNode(_currentDiagram, node.InputTerminals.Count(), node.OutputTerminals.Count()); _map.AddMapping(node, terminateLifetimeDfir); MapTerminalsInOrder(node, terminateLifetimeDfir); }
private void VisitTerminateLifetime(TerminateLifetime terminateLifetime) { TerminateLifetimeNode terminateLifetimeDfir = (TerminateLifetimeNode)_map.GetDfirForModel(terminateLifetime); if (terminateLifetimeDfir.RequiredInputCount != null && terminateLifetimeDfir.RequiredOutputCount != null) { terminateLifetime.UpdateTerminals(terminateLifetimeDfir.RequiredInputCount.Value, terminateLifetimeDfir.RequiredOutputCount.Value); } foreach (var pair in terminateLifetime.Terminals.Zip(terminateLifetimeDfir.Terminals)) { if (!_map.ContainsTerminal(pair.Key)) { _map.AddMapping(pair.Key, pair.Value); } } }