예제 #1
0
 public IInterpetedOperation <IInterpetedAnyType> IfTrueOperation(IIfOperation co)
 {
     if (backing.TryGetValue(co, out var res))
     {
         return(res);
     }
     else
     {
         var op = new InterpetedIfTrueOperation();
         backing.Add(co, op);
         op.Init(
             co.Left.Convert(this).Cast <IInterpetedOperation <IBoxedBool> >(),
             co.Right.Convert(this).Cast <IInterpetedOperation <IInterpedEmpty> >());
         return(op);
     }
 }
예제 #2
0
 public IInterpetedOperation IfTrueOperation(IIfOperation co)
 {
     if (backing.TryGetValue(co, out var res))
     {
         return(res);
     }
     else
     {
         var op = new InterpetedIfTrueOperation();
         backing.Add(co, op);
         op.Init(
             co.Left.Convert(this),
             co.Right.Convert(this));
         return(op);
     }
 }
예제 #3
0
 public IReadOnlyList <IMemberDefinition> IfTrueOperation(IIfOperation co)
 {
     return(Walk(co.Operands));
 }
예제 #4
0
 public Nothing IfTrueOperation(IIfOperation co)
 {
     Push(co).Walk(co.Operands);
     return(new Nothing());
 }
예제 #5
0
 public Nothing IfTrueOperation(IIfOperation co)
 {
     Walk(co.Operands, co);
     return(new Nothing());
 }