Backport #5331 » parser.y.ripper_yydebug.patch
parse.y (working copy) | ||
---|---|---|
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)
|
||
{
|
||
... | ... | |
return ruby__end__seen ? Qtrue : Qfalse;
|
||
}
|
||
|
||
/*
|
||
* call-seq:
|
||
* ripper#encoding -> encoding
|
||
*
|
||
* Return encoding of the source.
|
||
*/
|
||
VALUE
|
||
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)
|
||
{
|
||
... | ... | |
return yydebug ? Qtrue : Qfalse;
|
||
}
|
||
|
||
/*
|
||
* call-seq:
|
||
* ripper.yydebug = flag
|
||
*
|
||
* Set yydebug.
|
||
*/
|
||
VALUE
|
||
rb_parser_set_yydebug(VALUE self, VALUE flag)
|
||
{
|
||
... | ... | |
#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);
|
||
|
||
... | ... | |
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);
|