private void BuildAnd(DAndPattern node, Hints hints, CompilerContext ctx) { cw.Dup(); BuildPattern(node.Left, hints, ctx); var termLab = cw.DefineLabel(); var exitLab = cw.DefineLabel(); cw.Brfalse(termLab); BuildPattern(node.Right, hints, ctx); AddLinePragma(node); cw.Br(exitLab); cw.MarkLabel(termLab); cw.Pop(); AddLinePragma(node); cw.Push(false); cw.MarkLabel(exitLab); cw.Nop(); }
private void PreinitAnd(DAndPattern node, Hints hints) { PreinitPattern(node.Left, hints); PreinitPattern(node.Right, hints); }