Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 private void PreinitLabel(DLabelPattern node, Hints hints)
 {
     PreinitPattern(node.Pattern, hints);
 }