Skip to content

Commit 1f72f37

Browse files
committed
Handle "[]" and "[]=" after "." as method
1 parent 20af2f6 commit 1f72f37

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

lib/rdoc/ruby_lex.rb

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -737,6 +737,7 @@ def lex_int2
737737

738738
@OP.def_rule("[") do
739739
|op, io|
740+
text = nil
740741
@indent += 1
741742
if @lex_state == :EXPR_FNAME
742743
tk_c = TkfLBRACK
@@ -745,13 +746,25 @@ def lex_int2
745746
tk_c = TkLBRACK
746747
elsif @lex_state == :EXPR_ARG && @space_seen
747748
tk_c = TkLBRACK
749+
elsif @lex_state == :EXPR_DOT
750+
if peek(0) == "]"
751+
tk_c = TkIDENTIFIER
752+
getc
753+
if peek(0) == "="
754+
text = "[]="
755+
else
756+
text = "[]"
757+
end
758+
else
759+
tk_c = TkOp
760+
end
748761
else
749762
tk_c = TkfLBRACK
750763
end
751764
@lex_state = :EXPR_BEG
752765
end
753766
@indent_stack.push tk_c
754-
Token(tk_c)
767+
Token(tk_c, text)
755768
end
756769

757770
@OP.def_rule("{") do

0 commit comments

Comments
 (0)