Index: parse.y =================================================================== --- parse.y (revision 33272) +++ parse.y (working copy) @@ -10382,12 +10382,6 @@ rb_parser_new(void) return TypedData_Wrap_Struct(0, &parser_data_type, p); } -/* - * call-seq: - * ripper#end_seen? -> Boolean - * - * Return true if parsed source ended by +\_\_END\_\_+. - */ VALUE rb_parser_end_seen_p(VALUE vparser) { @@ -10397,12 +10391,6 @@ rb_parser_end_seen_p(VALUE vparser) return ruby__end__seen ? Qtrue : Qfalse; } -/* - * call-seq: - * ripper#encoding -> encoding - * - * Return encoding of the source. - */ VALUE rb_parser_encoding(VALUE vparser) { @@ -10412,12 +10400,6 @@ rb_parser_encoding(VALUE vparser) return rb_enc_from_encoding(parser->enc); } -/* - * call-seq: - * ripper.yydebug -> true or false - * - * Get yydebug. - */ VALUE rb_parser_get_yydebug(VALUE self) { @@ -10427,12 +10409,6 @@ rb_parser_get_yydebug(VALUE self) return yydebug ? Qtrue : Qfalse; } -/* - * call-seq: - * ripper.yydebug = flag - * - * Set yydebug. - */ VALUE rb_parser_set_yydebug(VALUE self, VALUE flag) { @@ -10508,6 +10484,67 @@ rb_parser_free(struct parser_params *par #endif #ifdef RIPPER +/* + * call-seq: + * ripper.yydebug -> true or false + * + * Get yydebug. + */ +static VALUE +ripper_get_yydebug(VALUE self) +{ + struct parser_params *parser; + + TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser); + return yydebug ? Qtrue : Qfalse; +} + +/* + * call-seq: + * ripper.yydebug = flag + * + * Set yydebug. + */ +VALUE +ripper_set_yydebug(VALUE self, VALUE flag) +{ + struct parser_params *parser; + + TypedData_Get_Struct(self, struct parser_params, &parser_data_type, parser); + yydebug = RTEST(flag); + return flag; +} + +/* + * call-seq: + * ripper.end_seen? -> Boolean + * + * Return true if parsed source ended by +\_\_END\_\_+. + */ +VALUE +ripper_end_seen_p(VALUE vparser) +{ + struct parser_params *parser; + + TypedData_Get_Struct(vparser, struct parser_params, &parser_data_type, parser); + return ruby__end__seen ? Qtrue : Qfalse; +} + +/* + * call-seq: + * ripper.encoding -> encoding + * + * Return encoding of the source. + */ +VALUE +ripper_encoding(VALUE vparser) +{ + struct parser_params *parser; + + TypedData_Get_Struct(vparser, struct parser_params, &parser_data_type, parser); + return rb_enc_from_encoding(parser->enc); +} + #ifdef RIPPER_DEBUG extern int rb_is_pointer_to_heap(VALUE); @@ -10974,10 +11011,10 @@ Init_ripper(void) 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); - rb_define_method(Ripper, "yydebug", rb_parser_get_yydebug, 0); - rb_define_method(Ripper, "yydebug=", rb_parser_set_yydebug, 1); + rb_define_method(Ripper, "end_seen?", ripper_end_seen_p, 0); + rb_define_method(Ripper, "encoding", ripper_encoding, 0); + rb_define_method(Ripper, "yydebug", ripper_get_yydebug, 0); + rb_define_method(Ripper, "yydebug=", ripper_set_yydebug, 1); #ifdef RIPPER_DEBUG rb_define_method(rb_mKernel, "assert_Qundef", ripper_assert_Qundef, 2); rb_define_method(rb_mKernel, "rawVALUE", ripper_value, 1);