コード例 #1
0
ファイル: JavaGenerator.cs プロジェクト: TheFern2/raptor
 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);
 }
コード例 #2
0
ファイル: Generate_IL.cs プロジェクト: Veggie13/raptor
 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);
 }
コード例 #3
0
ファイル: Generate_Hash.cs プロジェクト: TheFern2/raptor
 public void Emit_And_Shortcut(parse_tree.boolean_parseable left,
                               parse_tree.boolean2 right,
                               bool left_negated)
 {
     strings.Append("&&");
 }