Ejemplo n.º 1
0
        public TunnelTerminalFacade(Terminal terminal, TerminalFacade outputTerminalFacade) : base(terminal)
        {
            LifetimeGraphIdentifier innerDiagramLifetimeGraph = Terminal.ParentDiagram.GetLifetimeGraphIdentifier();
            var constraint = new OutlastsLifetimeGraphConstraint(innerDiagramLifetimeGraph);
            TypeVariableReference inputTypeReference = terminal.GetTypeVariableSet().CreateReferenceToNewTypeVariable(new List <Constraint>()
            {
                constraint
            });

            TrueVariable          = terminal.CreateNewVariable(inputTypeReference);
            _outputTerminalFacade = outputTerminalFacade;
        }
 public TerminateLifetimeOutputTerminalFacade(Terminal terminal, TerminalFacade inputFacade)
     : base(terminal)
 {
     InputFacade = inputFacade;
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Gets the true <see cref="VariableReference"/> associated with the <see cref="Terminal"/>, i.e., the reference
        /// to the variable that will be supplied directly to the terminal as input.
        /// </summary>
        /// <param name="terminal">The terminal.</param>
        /// <returns>The true <see cref="VariableReference"/>.</returns>
        public static VariableReference GetTrueVariable(this Terminal terminal)
        {
            TerminalFacade terminalFacade = AutoBorrowNodeFacade.GetNodeFacade(terminal.ParentNode)[terminal];

            return(terminalFacade?.TrueVariable ?? new VariableReference());
        }