Esempio n. 1
0
 static LNode GrabContractAttrs(LNode node, ref VList <LNode> cAttrs, ContractAppliesTo kinds = ContractAppliesTo.Both)
 {
     if (node.HasAttrs)
     {
         VList <LNode> cAttrs2 = cAttrs;                 // because lambdas cannot access cAttrs directly
         var           r       = node.WithAttrs(attr => {
             if ((PropertyContractInterpretation(attr) & kinds) != 0)
             {
                 cAttrs2.Add(attr);
                 return(NoValue.Value);                          // remove
             }
             return(attr);
         });
         cAttrs = cAttrs2;
         return(r);
     }
     return(node);
 }
Esempio n. 2
0
 static LNode GrabContractAttrs(LNode node, ref VList <LNode> cAttrs, ContractAppliesTo kinds = ContractAppliesTo.Both)
 {
     if (node.HasAttrs)
     {
         VList <LNode> cAttrs2 = cAttrs;
         var           r       = node.WithAttrs(attr => {
             if ((PropertyContractInterpretation(attr) & kinds) != 0)
             {
                 cAttrs2.Add(attr);
                 return(NoValue.Value);
             }
             return(attr);
         });
         cAttrs = cAttrs2;
         return(r);
     }
     return(node);
 }