diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-04-20 06:52:30 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-04-20 06:52:30 +0000 |
commit | 86b1179a03791002b6428f5b49754d7411933e9e (patch) | |
tree | dd7669603e35f7e216ebd92fe163828456dd2ae1 /error.c | |
parent | e06aaf699d03daa4020d55c34876e5ec12f0e91d (diff) |
error.c: SyntaxError#initialize
* error.c (syntax_error_initialize): move the default message,
"compile error", from parse.y. the default parameter should
belong to the class definition.
* parse.y (yycompile0): use the default parameter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'error.c')
-rw-r--r-- | error.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -1362,6 +1362,25 @@ rb_invalid_str(const char *str, const char *type) } /* + * call-seq: + * SyntaxError.new([msg]) -> syntax_error + * + * Construct a SyntaxError exception. + */ + +static VALUE +syntax_error_initialize(int argc, VALUE *argv, VALUE self) +{ + VALUE mesg; + if (argc == 0) { + mesg = rb_fstring_cstr("compile error"); + argc = 1; + argv = &mesg; + } + return rb_call_super(argc, argv); +} + +/* * Document-module: Errno * * Ruby exception objects are subclasses of <code>Exception</code>. @@ -1960,6 +1979,7 @@ Init_Exception(void) rb_eScriptError = rb_define_class("ScriptError", rb_eException); rb_eSyntaxError = rb_define_class("SyntaxError", rb_eScriptError); + rb_define_method(rb_eSyntaxError, "initialize", syntax_error_initialize, -1); rb_eLoadError = rb_define_class("LoadError", rb_eScriptError); /* the path failed to load */ |