aboutsummaryrefslogtreecommitdiffstats
path: root/error.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-10-27 07:41:07 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-10-27 07:41:07 +0000
commitcaada48ee823871ee85a5b1096a9f7ca6815eef5 (patch)
treee1cb27bbc111093110696254bf2fa6d674703946 /error.c
parent3f682c2c8ac3a1438082e4f95467e16247f105fa (diff)
downloadruby-caada48ee823871ee85a5b1096a9f7ca6815eef5.tar.gz
error.c: suppress warnings
* error.c (rb_error_frozen_object): use rb_attr_get instead of rb_ivar_get to get rid of warnings for string objects created when frozen-string-literal-debug is disabled. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'error.c')
-rw-r--r--error.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/error.c b/error.c
index d6fe701fa1..4774ef6a94 100644
--- a/error.c
+++ b/error.c
@@ -2227,8 +2227,12 @@ void
rb_error_frozen_object(VALUE frozen_obj)
{
VALUE path, line;
- if ((path = rb_iv_get(frozen_obj, "__object_created_path__")) != Qnil &&
- (line = rb_iv_get(frozen_obj, "__object_created_line__")) != Qnil) {
+ ID created_path, created_line;
+
+ CONST_ID(created_path, "__object_created_path__");
+ CONST_ID(created_line, "__object_created_line__");
+ if (!NIL_P(path = rb_attr_get(frozen_obj, created_path)) &&
+ !NIL_P(line = rb_attr_get(frozen_obj, created_line))) {
rb_raise(rb_eRuntimeError, "can't modify frozen %"PRIsVALUE", created at %"PRIsVALUE":%"PRIsVALUE,
CLASS_OF(frozen_obj), path, line);
}