コード例 #1
0
        protected override void DoEmit(EmitContext ec)
        {
            if (statement != null)
            {
                statement.EmitStatement(ec);
                if (unwind_protect)
                {
                    ec.Emit(OpCodes.Leave, ec.CreateReturnLabel());
                }
                else
                {
                    ec.Emit(OpCodes.Ret);
                }
                return;
            }

            base.DoEmit(ec);
        }
コード例 #2
0
		protected override void DoEmit (EmitContext ec)
		{
			if (statement != null) {
				statement.EmitStatement (ec);
				if (unwind_protect)
					ec.Emit (OpCodes.Leave, ec.CreateReturnLabel ());
				else {
					ec.Emit (OpCodes.Ret);
				}
				return;
			}

			base.DoEmit (ec);
		}