Exemplo n.º 1
0
        public void VisitTerminateLifetimeNode(TerminateLifetime node)
        {
            var terminateLifetimeDfir = new TerminateLifetimeNode(_currentDiagram, node.InputTerminals.Count(), node.OutputTerminals.Count());

            _map.AddMapping(node, terminateLifetimeDfir);
            MapTerminalsInOrder(node, terminateLifetimeDfir);
        }
Exemplo n.º 2
0
        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);
                }
            }
        }