コード例 #1
0
        bool IDfirNodeVisitor <bool> .VisitExplicitBorrowNode(ExplicitBorrowNode explicitBorrowNode)
        {
            Lifetime outputLifetime = explicitBorrowNode.OutputTerminals[0].GetTrueVariable().Lifetime;
            IEnumerable <VariableReference> inputVariables = explicitBorrowNode.InputTerminals.Select(VariableExtensions.GetTrueVariable);

            inputVariables.ForEach(v => _lifetimeVariableAssociation.AddVariableInterruptedByLifetime(v, outputLifetime));
            return(true);
        }
コード例 #2
0
 public void SetInterruptedVariables(LifetimeVariableAssociation lifetimeVariableAssociation)
 {
     if (_borrowRequired)
     {
         foreach (var facade in _facades)
         {
             lifetimeVariableAssociation.AddVariableInterruptedByLifetime(facade.FacadeVariable, BorrowLifetime);
         }
     }
 }