diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-09-03 15:52:35 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-09-03 15:52:35 +0900 |
| commit | 2fe64f24f8564be3219e6a9bd89c3ad33f80804d (patch) | |
| tree | 357180266269910802c853f4ddb395d9ba2d16af /src/backtrace.c | |
| parent | d606f9d33ffb6c79a7385b6e418e120e130300cf (diff) | |
| download | mruby-2fe64f24f8564be3219e6a9bd89c3ad33f80804d.tar.gz mruby-2fe64f24f8564be3219e6a9bd89c3ad33f80804d.zip | |
remove Exception#verbose_backtrace; #1495
Diffstat (limited to 'src/backtrace.c')
| -rw-r--r-- | src/backtrace.c | 43 |
1 files changed, 6 insertions, 37 deletions
diff --git a/src/backtrace.c b/src/backtrace.c index f1dcf5b4e..a8ba9cf24 100644 --- a/src/backtrace.c +++ b/src/backtrace.c @@ -57,7 +57,7 @@ get_backtrace_i(mrb_state *mrb, void *stream, int level, const char *format, ... } static void -mrb_output_backtrace(mrb_state *mrb, struct RObject *exc, output_stream_func func, void *stream, mrb_bool verbose) +mrb_output_backtrace(mrb_state *mrb, struct RObject *exc, output_stream_func func, void *stream) { mrb_callinfo *ci; mrb_int ciidx; @@ -74,7 +74,7 @@ mrb_output_backtrace(mrb_state *mrb, struct RObject *exc, output_stream_func fun filename = NULL; line = -1; - if (!verbose && MRB_PROC_CFUNC_P(ci->proc)) { + if (MRB_PROC_CFUNC_P(ci->proc)) { continue; } if(!MRB_PROC_CFUNC_P(ci->proc)) { @@ -90,7 +90,7 @@ mrb_output_backtrace(mrb_state *mrb, struct RObject *exc, output_stream_func fun filename = mrb_debug_get_filename(irep, pc - irep->iseq - 1); line = mrb_debug_get_line(irep, pc - irep->iseq - 1); } - if (!verbose && line == -1) continue; + if (line == -1) continue; if (ci->target_class == ci->proc->target_class) sep = "."; else @@ -101,20 +101,8 @@ mrb_output_backtrace(mrb_state *mrb, struct RObject *exc, output_stream_func fun } method = mrb_sym2name(mrb, ci->mid); - if (verbose && !method && ci->proc->env) { - method = mrb_sym2name(mrb, ci->proc->env->mid); - } if (method) { - const char *cn = NULL; - if(verbose && ci->proc->target_class->tt == MRB_TT_SCLASS) { - cn = RSTRING_PTR(mrb_str_cat_cstr( - mrb, mrb_str_new_cstr(mrb, "(singleton class of)"), - mrb_class_name(mrb, mrb_class_ptr(mrb_mod_cv_get( - mrb, ci->proc->target_class, mrb_intern_cstr(mrb, "__attached__")))))); - } - else { - cn = mrb_class_name(mrb, ci->proc->target_class); - } + const char *cn = mrb_class_name(mrb, ci->proc->target_class); if (cn) { func(mrb, stream, 1, "\t[%d] ", i); @@ -139,15 +127,7 @@ void mrb_print_backtrace(mrb_state *mrb) { #ifdef ENABLE_STDIO - mrb_output_backtrace(mrb, mrb->exc, print_backtrace_i, (void*)stderr, 0); -#endif -} - -void -mrb_print_verbose_backtrace(mrb_state *mrb) -{ -#ifdef ENABLE_STDIO - mrb_output_backtrace(mrb, mrb->exc, print_backtrace_i, (void*)stderr, 1); + mrb_output_backtrace(mrb, mrb->exc, print_backtrace_i, (void*)stderr); #endif } @@ -157,18 +137,7 @@ mrb_get_backtrace(mrb_state *mrb, mrb_value self) mrb_value ary; ary = mrb_ary_new(mrb); - mrb_output_backtrace(mrb, mrb_obj_ptr(self), get_backtrace_i, (void*)mrb_ary_ptr(ary), 0); - - return ary; -} - -mrb_value -mrb_get_verbose_backtrace(mrb_state *mrb, mrb_value self) -{ - mrb_value ary; - - ary = mrb_ary_new(mrb); - mrb_output_backtrace(mrb, mrb_obj_ptr(self), get_backtrace_i, (void*)mrb_ary_ptr(ary), 1); + mrb_output_backtrace(mrb, mrb_obj_ptr(self), get_backtrace_i, (void*)mrb_ary_ptr(ary)); return ary; } |
