private void BuildLabel(DLabelPattern node, Hints hints, CompilerContext ctx) { var bad = cw.DefineLabel(); var skip = cw.DefineLabel(); cw.Dup(); cw.HasField(node.Label); cw.Brfalse(bad); cw.Push(node.Label); cw.Get(); BuildPattern(node.Pattern, hints, ctx); cw.Br(skip); cw.MarkLabel(bad); cw.Pop(); cw.Push(false); cw.MarkLabel(skip); cw.Nop(); }
private void PreinitLabel(DLabelPattern node, Hints hints) { PreinitPattern(node.Pattern, hints); }