1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

merges r33291 from trunk into ruby_1_9_3.

--
* 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/branches/ruby_1_9_3@33321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
yugui 2011-09-24 05:21:19 +00:00
parent 4d752775e7
commit a49bd02695
3 changed files with 70 additions and 2 deletions

View file

@ -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]
Fri Sep 23 14:15:01 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
* ext/openssl/ossl_asn1.c

18
parse.y
View file

@ -5290,9 +5290,11 @@ lex_getline(struct parser_params *parser)
return line;
}
#ifdef RIPPER
static rb_data_type_t parser_data_type;
#else
static const rb_data_type_t parser_data_type;
#ifndef RIPPER
static NODE*
parser_compile_string(volatile VALUE vparser, const char *f, VALUE s, int line)
{
@ -10193,7 +10195,11 @@ parser_memsize(const void *ptr)
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_mark,
@ -10809,11 +10815,19 @@ ripper_value(VALUE self, VALUE obj)
}
#endif
void
InitVM_ripper(void)
{
parser_data_type.parent = RTYPEDDATA_TYPE(rb_parser_new());
}
void
Init_ripper(void)
{
VALUE Ripper;
InitVM(ripper);
Ripper = rb_define_class("Ripper", rb_cObject);
rb_define_const(Ripper, "Version", rb_usascii_str_new2(RIPPER_VERSION));
rb_define_alloc_func(Ripper, ripper_s_allocate);

View 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