Пример #1
0
 public override void CompileCondition(Gen ifTrue, Gen ifFalse, Gen ifOther)
 {
     for (int i = es.Length - 1; i >= 0; i--)
     {
         // These declarations are needed to capture rvalues rather than lvalues:
         CGExpr ei           = es[i];
         Gen    localIfFalse = ifFalse;
         ifFalse = new Gen(delegate { ei.CompileCondition(ifTrue, localIfFalse, ifOther); });
     }
     ifFalse.Generate(ilg);
 }
Пример #2
0
 public override void CompileCondition(Gen ifTrue, Gen ifFalse, Gen ifOther)
 {
     if (IsCacheNeeded)
     {
         // Call CompileToDoubleProper via base class CompileCondition
         base.CompileCondition(ifTrue, ifFalse, ifOther);
     }
     else
     {
         expr.CompileCondition(ifTrue, ifFalse, ifOther);
     }
 }