Boo.Lang.Compiler.Steps.EmitAssembly.OnGotoStatement C# (CSharp) Метод

OnGotoStatement() публичный Метод

public OnGotoStatement ( Boo.Lang.Compiler.Ast.GotoStatement node ) : void
node Boo.Lang.Compiler.Ast.GotoStatement
Результат void
        public override void OnGotoStatement(GotoStatement node)
        {
            EmitDebugInfo(node);

            InternalLabel label = (InternalLabel)GetEntity(node.Label);
            int gotoDepth = AstAnnotations.GetTryBlockDepth(node);
            int targetDepth = AstAnnotations.GetTryBlockDepth(label.LabelStatement);

            if (targetDepth == gotoDepth)
            {
                _il.Emit(OpCodes.Br, label.Label);
            }
            else
            {
                _il.Emit(OpCodes.Leave, label.Label);
            }
        }
EmitAssembly