Project

General

Profile

Actions

Bug #17425

closed

Ripper.lex raises unexpected error

Bug #17425: Ripper.lex raises unexpected error

Added by no6v (Nobuhiro IMAI) almost 5 years ago. Updated almost 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.0.0dev (2020-12-22T08:12:51Z master f2f00e24fa) [x86_64-linux]
[ruby-core:101626]

Description

$ cat /tmp/l.rb require "ripper" pp Ripper.lex("def foo(arg1?:) end") $ ./ruby -v /tmp/l.rb ruby 3.0.0dev (2020-12-22T08:12:51Z master f2f00e24fa) [x86_64-linux] /var/tmp/git/ruby/ruby/.local/lib/ruby/3.0.0/ripper/lexer.rb:198:in `on_error2': undefined method `pos' for 30279:Integer (NoMethodError) 
Breakpoint 1, ripper_dispatch2 (p=p@entry=0x555555c73240, mid=34721, a=93824999713440, b=b@entry=41775) at ripper.y:13336 13336	{ (gdb) rp p->lex.input T_STRING: "def foo(arg1?:) end" bytesize:19 (embed) encoding:1 coderange:7bit $1 = (struct RString *) 0x555555c77400 (gdb) rb_id2name mid ID: l(34721): on_param_error (gdb) rp a T_STRING: "formal argument must be local variable" bytesize:38 encoding:1 coderange:unknown $2 = (struct RString *) 0x555555c76aa0 (gdb) rp b FIXNUM: 20887 (gdb) rb_id2name b ID: j(41775): arg1? (gdb) up #1 0x00007ffff2c30719 in formal_argument (p=p@entry=0x555555c73240, lhs=lhs@entry=41775) at ripper.y:7881 7881	ERR("formal argument must be local variable"); (gdb) c Continuing. /var/tmp/git/ruby/ruby/.local/lib/ruby/3.0.0/ripper/lexer.rb:198:in `on_error2': undefined method `pos' for 20887:Integer (NoMethodError) 
Actions

Also available in: PDF Atom