mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* parse.y (parser_data_type): inherit the core type in ripper so
that checks in core would work. [ruby-core:39591] [Bug #5331] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
19c312afee
commit
c4d77cb4ad
3 changed files with 70 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Sat Sep 17 23:34:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* parse.y (parser_data_type): inherit the core type in ripper so
|
||||||
|
that checks in core would work. [ruby-core:39591] [Bug #5331]
|
||||||
|
|
||||||
Sat Sep 17 12:44:04 2011 Kazuki Tsujimoto <kazuki@callcc.net>
|
Sat Sep 17 12:44:04 2011 Kazuki Tsujimoto <kazuki@callcc.net>
|
||||||
|
|
||||||
* lib/find.rb (Find.find): add documentation that Find.find
|
* lib/find.rb (Find.find): add documentation that Find.find
|
||||||
|
|
18
parse.y
18
parse.y
|
@ -5290,9 +5290,11 @@ lex_getline(struct parser_params *parser)
|
||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef RIPPER
|
||||||
|
static rb_data_type_t parser_data_type;
|
||||||
|
#else
|
||||||
static const rb_data_type_t parser_data_type;
|
static const rb_data_type_t parser_data_type;
|
||||||
|
|
||||||
#ifndef RIPPER
|
|
||||||
static NODE*
|
static NODE*
|
||||||
parser_compile_string(volatile VALUE vparser, const char *f, VALUE s, int line)
|
parser_compile_string(volatile VALUE vparser, const char *f, VALUE s, int line)
|
||||||
{
|
{
|
||||||
|
@ -10345,7 +10347,11 @@ parser_memsize(const void *ptr)
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const rb_data_type_t parser_data_type = {
|
static
|
||||||
|
#ifndef RIPPER
|
||||||
|
const
|
||||||
|
#endif
|
||||||
|
rb_data_type_t parser_data_type = {
|
||||||
"parser",
|
"parser",
|
||||||
{
|
{
|
||||||
parser_mark,
|
parser_mark,
|
||||||
|
@ -10961,11 +10967,19 @@ ripper_value(VALUE self, VALUE obj)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
InitVM_ripper(void)
|
||||||
|
{
|
||||||
|
parser_data_type.parent = RTYPEDDATA_TYPE(rb_parser_new());
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Init_ripper(void)
|
Init_ripper(void)
|
||||||
{
|
{
|
||||||
VALUE Ripper;
|
VALUE Ripper;
|
||||||
|
|
||||||
|
InitVM(ripper);
|
||||||
Ripper = rb_define_class("Ripper", rb_cObject);
|
Ripper = rb_define_class("Ripper", rb_cObject);
|
||||||
rb_define_const(Ripper, "Version", rb_usascii_str_new2(RIPPER_VERSION));
|
rb_define_const(Ripper, "Version", rb_usascii_str_new2(RIPPER_VERSION));
|
||||||
rb_define_alloc_func(Ripper, ripper_s_allocate);
|
rb_define_alloc_func(Ripper, ripper_s_allocate);
|
||||||
|
|
49
test/ripper/test_ripper.rb
Normal file
49
test/ripper/test_ripper.rb
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
begin
|
||||||
|
require 'ripper'
|
||||||
|
require 'test/unit'
|
||||||
|
ripper_test = true
|
||||||
|
module TestRipper; end
|
||||||
|
rescue LoadError
|
||||||
|
end
|
||||||
|
|
||||||
|
class TestRipper::Ripper < Test::Unit::TestCase
|
||||||
|
|
||||||
|
def setup
|
||||||
|
@ripper = Ripper.new '1 + 1'
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_column
|
||||||
|
assert_nil @ripper.column
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_encoding
|
||||||
|
assert_equal Encoding::US_ASCII, @ripper.encoding
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_end_seen_eh
|
||||||
|
refute @ripper.end_seen?
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_filename
|
||||||
|
assert_equal '(ripper)', @ripper.filename
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_lineno
|
||||||
|
assert_nil @ripper.lineno
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_parse
|
||||||
|
refute @ripper.parse
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_yydebug
|
||||||
|
refute @ripper.yydebug
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_yydebug_equals
|
||||||
|
@ripper.yydebug = true
|
||||||
|
|
||||||
|
assert @ripper.yydebug
|
||||||
|
end
|
||||||
|
|
||||||
|
end if ripper_test
|
Loading…
Add table
Reference in a new issue