diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-12-14 23:57:44 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-12-15 00:14:16 +0900 |
commit | 5f56a5fc9be9ea7b088795c2d3871c2352a020c2 (patch) | |
tree | 47133516681de9644ef3ff613d8c4e020baf2eb7 | |
parent | 33f0ef44fde7b042d15056cea9af49d160268537 (diff) |
[DOC] Fixed the class name in FrozenError#receiver
-rw-r--r-- | error.c | 32 |
1 files changed, 22 insertions, 10 deletions
@@ -1409,6 +1409,17 @@ exit_success_p(VALUE exc) return Qfalse; } +static VALUE +err_attr_receiver(VALUE self) +{ + VALUE recv; + + recv = rb_ivar_lookup(self, id_receiver, Qundef); + if (recv == Qundef) + rb_raise(rb_eArgError, "no receiver is available"); + return recv; +} + /* * call-seq: * FrozenError.new(msg=nil, receiver=nil) -> frozen_error @@ -1435,6 +1446,15 @@ frozen_err_initialize(int argc, VALUE *argv, VALUE self) return self; } +/* + * call-seq: + * frozen_error.receiver -> object + * + * Return the receiver associated with this FrozenError exception. + */ + +#define frozen_err_receiver err_attr_receiver + void rb_name_error(ID id, const char *fmt, ...) { @@ -1802,15 +1822,7 @@ rb_invalid_str(const char *str, const char *type) * Return the receiver associated with this KeyError exception. */ -static VALUE -key_err_receiver(VALUE self) -{ - VALUE recv; - - recv = rb_ivar_lookup(self, id_receiver, Qundef); - if (recv != Qundef) return recv; - rb_raise(rb_eArgError, "no receiver is available"); -} +#define key_err_receiver err_attr_receiver /* * call-seq: @@ -2529,7 +2541,7 @@ Init_Exception(void) rb_eRuntimeError = rb_define_class("RuntimeError", rb_eStandardError); rb_eFrozenError = rb_define_class("FrozenError", rb_eRuntimeError); rb_define_method(rb_eFrozenError, "initialize", frozen_err_initialize, -1); - rb_define_method(rb_eFrozenError, "receiver", name_err_receiver, 0); + rb_define_method(rb_eFrozenError, "receiver", frozen_err_receiver, 0); rb_eSecurityError = rb_define_class("SecurityError", rb_eException); rb_eNoMemError = rb_define_class("NoMemoryError", rb_eException); rb_eEncodingError = rb_define_class("EncodingError", rb_eStandardError); |