bool IDfirNodeVisitor <bool> .VisitTerminateLifetimeTunnel(TerminateLifetimeTunnel terminateLifetimeTunnel)
        {
            Terminal valueOutput = terminateLifetimeTunnel.OutputTerminals.ElementAt(0);
            var      valueFacade = new SimpleTerminalFacade(valueOutput, default(TypeVariableReference));

            _nodeFacade[valueOutput] = valueFacade;

            NationalInstruments.Dfir.BorderNode beginLifetimeBorderNode = (NationalInstruments.Dfir.BorderNode)terminateLifetimeTunnel.BeginLifetimeTunnel;
            Terminal beginLifetimeTerminal = beginLifetimeBorderNode.GetOuterTerminal(0);

            valueFacade.FacadeVariable.MergeInto(beginLifetimeTerminal.GetFacadeVariable());
            return(true);
        }
示例#2
0
 protected override void VisitBorderNode(DfirBorderNode borderNode)
 {
     // TODO: Iterate Nodes may need to await
     if (borderNode.Direction == Direction.Input)
     {
         AsyncStateGroup initialGroup = _structureInputBorderNodeGroups[borderNode.ParentStructure];
         AddNode(initialGroup, borderNode);
     }
     else
     {
         AsyncStateGroup outputBorderNodeGroup = _structureOutputBorderNodeGroups[borderNode.ParentStructure];
         AddNode(outputBorderNodeGroup, borderNode);
     }
 }
示例#3
0
 protected override void VisitBorderNode(NationalInstruments.Dfir.BorderNode borderNode)
 {
     ReflectAllTerminalTypes(borderNode);
 }
 protected override void VisitBorderNode(NationalInstruments.Dfir.BorderNode borderNode)
 {
     this.VisitRebarNode(borderNode);
 }
 protected override void VisitBorderNode(NationalInstruments.Dfir.BorderNode borderNode)
 {
     _nodeFacade = AutoBorrowNodeFacade.GetNodeFacade(borderNode);
     this.VisitRebarNode(borderNode);
     _nodeFacade = null;
 }
示例#6
0
 protected override void VisitBorderNode(NationalInstruments.Dfir.BorderNode borderNode)
 {
     throw new NotImplementedException();
 }