Пример #1
0
 public void EmitGoto(OpCode gotoOpCode, JumpValidator validator = null)
 {
     if (validator != null)
     {
         TryValidate(validator);
     }
     _ctx.Generator.Emit(gotoOpCode, _label);
 }
Пример #2
0
        private void TryValidate(JumpValidator validator)
        {
            var current = _ctx.CurrentScope;

            if (IsMarked)
            {
                validator(current, MarkScope);
            }
            else
            {
                _deferredValidations.Add(new KeyValuePair <Scope, JumpValidator>(current, validator));
            }
        }