Ignore:
Timestamp:
Jul 9, 2020, 8:51:43 AM (4 years ago)
Author:
coas-nagasima
Message:

mrubyを2.1.1に更新

Location:
EcnlProtoTool/trunk/mruby-2.1.1
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mruby-2.1.1/include/mruby/error.h

    r331 r439  
    1 /*
    2 ** mruby/error.h - Exception class
     1/**
     2** @file mruby/error.h - Exception class
    33**
    44** See Copyright Notice in mruby.h
     
    2525MRB_API mrb_value mrb_exc_new_str(mrb_state *mrb, struct RClass* c, mrb_value str);
    2626#define mrb_exc_new_str_lit(mrb, c, lit) mrb_exc_new_str(mrb, c, mrb_str_new_lit(mrb, lit))
    27 MRB_API mrb_value mrb_make_exception(mrb_state *mrb, int argc, const mrb_value *argv);
     27MRB_API mrb_value mrb_make_exception(mrb_state *mrb, mrb_int argc, const mrb_value *argv);
    2828MRB_API mrb_value mrb_exc_backtrace(mrb_state *mrb, mrb_value exc);
    2929MRB_API mrb_value mrb_get_backtrace(mrb_state *mrb);
    3030MRB_API mrb_noreturn void mrb_no_method_error(mrb_state *mrb, mrb_sym id, mrb_value args, const char *fmt, ...);
    3131
    32 /* declaration for fail method */
     32/* declaration for `fail` method */
    3333MRB_API mrb_value mrb_f_raise(mrb_state*, mrb_value);
    3434
     35#if defined(MRB_64BIT) || defined(MRB_USE_FLOAT) || defined(MRB_NAN_BOXING) || defined(MRB_WORD_BOXING)
    3536struct RBreak {
    3637  MRB_OBJECT_HEADER;
    37   struct iv_tbl *iv;
    3838  struct RProc *proc;
    3939  mrb_value val;
    4040};
     41#define mrb_break_value_get(brk) ((brk)->val)
     42#define mrb_break_value_set(brk, v) ((brk)->val = v)
     43#else
     44struct RBreak {
     45  MRB_OBJECT_HEADER;
     46  struct RProc *proc;
     47  union mrb_value_union value;
     48};
     49#define RBREAK_VALUE_TT_MASK ((1 << 8) - 1)
     50static inline mrb_value
     51mrb_break_value_get(struct RBreak *brk)
     52{
     53  mrb_value val;
     54  val.value = brk->value;
     55  val.tt = (enum mrb_vtype)(brk->flags & RBREAK_VALUE_TT_MASK);
     56  return val;
     57}
     58static inline void
     59mrb_break_value_set(struct RBreak *brk, mrb_value val)
     60{
     61  brk->value = val.value;
     62  brk->flags &= ~RBREAK_VALUE_TT_MASK;
     63  brk->flags |= val.tt;
     64}
     65#endif  /* MRB_64BIT || MRB_USE_FLOAT || MRB_NAN_BOXING || MRB_WORD_BOXING */
     66#define mrb_break_proc_get(brk) ((brk)->proc)
     67#define mrb_break_proc_set(brk, p) ((brk)->proc = p)
    4168
    4269/**
    4370 * Protect
    4471 *
    45  * @mrbgem mruby-error
     72 * Implemented in the mruby-error mrbgem
    4673 */
    4774MRB_API mrb_value mrb_protect(mrb_state *mrb, mrb_func_t body, mrb_value data, mrb_bool *state);
     
    5077 * Ensure
    5178 *
    52  * @mrbgem mruby-error
     79 * Implemented in the mruby-error mrbgem
    5380 */
    5481MRB_API mrb_value mrb_ensure(mrb_state *mrb, mrb_func_t body, mrb_value b_data,
     
    5885 * Rescue
    5986 *
    60  * @mrbgem mruby-error
     87 * Implemented in the mruby-error mrbgem
    6188 */
    6289MRB_API mrb_value mrb_rescue(mrb_state *mrb, mrb_func_t body, mrb_value b_data,
     
    6693 * Rescue exception
    6794 *
    68  * @mrbgem mruby-error
     95 * Implemented in the mruby-error mrbgem
    6996 */
    7097MRB_API mrb_value mrb_rescue_exceptions(mrb_state *mrb, mrb_func_t body, mrb_value b_data,
Note: See TracChangeset for help on using the changeset viewer.