diff options
author | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-26 23:11:59 +0000 |
---|---|---|
committer | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-26 23:11:59 +0000 |
commit | ab77f00b04999a857382462d40dfaef3262cbe84 (patch) | |
tree | 841540c43d1fad56a46403b49e670fc825a5bb03 /parse.y | |
parent | 33c5abbefae97178001f1ba8c95205b99209a313 (diff) |
* parse.y (ripper_filename): add Ripper#filename. [ruby-dev:37856] * test/ripper/test_filter.rb: add more tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -10388,6 +10388,24 @@ ripper_column(VALUE self) /* * call-seq: + * ripper#filename -> String + * + * Return current parsing filename. + */ +static VALUE +ripper_filename(VALUE self) +{ + struct parser_params *parser; + + TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser); + if (!ripper_initialized_p(parser)) { + rb_raise(rb_eArgError, "method called for uninitialized object"); + } + return parser->parser_ruby_sourcefile_string; +} + +/* + * call-seq: * ripper#lineno -> Integer * * Return line number of current parsing line. @@ -10437,6 +10455,7 @@ Init_ripper(void) rb_define_method(Ripper, "initialize", ripper_initialize, -1); rb_define_method(Ripper, "parse", ripper_parse, 0); rb_define_method(Ripper, "column", ripper_column, 0); + rb_define_method(Ripper, "filename", ripper_filename, 0); rb_define_method(Ripper, "lineno", ripper_lineno, 0); rb_define_method(Ripper, "end_seen?", rb_parser_end_seen_p, 0); rb_define_method(Ripper, "encoding", rb_parser_encoding, 0); |