Esempio n. 1
0
 public void Emit_And_Shortcut(parse_tree.boolean_parseable left,
                               parse_tree.boolean2 right, bool left_negated)
 {
     if (left_negated)
     {
         Emit_Not();
     }
     left.emit_code(this, 0);
     stream.Write(" && ");
     right.emit_code(this, 0);
 }
Esempio n. 2
0
 public void Emit_And_Shortcut(parse_tree.boolean_parseable left,
                               parse_tree.boolean2 right,
                               bool left_negated)
 {
     System.Reflection.Emit.Label l2 = gen.DefineLabel();
     left.emit_code(this, 0);
     if (left_negated)
     {
         Emit_Not();
     }
     gen.Emit(OpCodes.Dup);
     gen.Emit(System.Reflection.Emit.OpCodes.Brfalse, l2);
     right.emit_code(this, 0);
     Emit_And();
     gen.MarkLabel(l2);
 }
Esempio n. 3
0
 public void Emit_And_Shortcut(parse_tree.boolean_parseable left,
                               parse_tree.boolean2 right,
                               bool left_negated)
 {
     strings.Append("&&");
 }