class RDoc::RipperStateLex

Constants

EXPR_ARG
EXPR_ARG_ANY
EXPR_BEG
EXPR_BEG_ANY
EXPR_CLASS
EXPR_CMDARG
EXPR_DOT
EXPR_END
EXPR_ENDARG
EXPR_ENDFN
EXPR_END_ANY
EXPR_FITEM
EXPR_FNAME
EXPR_LABEL
EXPR_LABELED
EXPR_MID
EXPR_NONE
EXPR_VALUE
RIPPER_HAS_LEX_STATE

TODO: Remove this constants after Ruby 2.4 EOL

Public Instance Methods

each(&block) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 296
def each(&block)
  @callback = block
  parse
end
on_backref(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 220
def on_backref(tok, data)
  @lex_state = EXPR_END
  on_variables(__method__, tok, data)
end
on_comma(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 271
def on_comma(tok, data)
  @lex_state = EXPR_BEG | EXPR_LABEL if (EXPR_ARG_ANY & @lex_state) != 0
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_comment(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 276
def on_comment(tok, data)
  @lex_state = EXPR_BEG unless (EXPR_LABEL & @lex_state) != 0
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_const(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 255
def on_const(tok, data)
  case @lex_state
  when EXPR_FNAME
    @lex_state = EXPR_ENDFN
  when EXPR_CLASS, EXPR_CMDARG, EXPR_MID
    @lex_state = EXPR_ARG
  else
    @lex_state = EXPR_CMDARG
  end
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_cvar(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 210
def on_cvar(tok, data)
  @lex_state = EXPR_END
  on_variables(__method__, tok, data)
end
on_default(event, tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 291
def on_default(event, tok, data)
  reset
  @callback.call({ :line_no => lineno, :char_no => column, :kind => event, :text => tok, :state => @lex_state})
end
on_gvar(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 215
def on_gvar(tok, data)
  @lex_state = EXPR_END
  on_variables(__method__, tok, data)
end
on_heredoc_end(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 286
def on_heredoc_end(tok, data)
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
  @lex_state = EXPR_BEG
end
on_ident(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 201
def on_ident(tok, data)
  on_variables(__method__, tok, data)
end
on_ignored_sp(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 281
def on_ignored_sp(tok, data)
  @lex_state = EXPR_BEG unless (EXPR_LABEL & @lex_state) != 0
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_ivar(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 205
def on_ivar(tok, data)
  @lex_state = EXPR_END
  on_variables(__method__, tok, data)
end
on_lbrace(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 235
def on_lbrace(tok, data)
  @lex_state = EXPR_LABEL | EXPR_BEG
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_lbracket(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 245
def on_lbracket(tok, data)
  @lex_state = EXPR_LABEL | EXPR_BEG
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_lparen(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 225
def on_lparen(tok, data)
  @lex_state = EXPR_LABEL | EXPR_BEG
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_rbrace(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 240
def on_rbrace(tok, data)
  @lex_state = EXPR_ENDARG
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_rbracket(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 250
def on_rbracket(tok, data)
  @lex_state = EXPR_ENDARG
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_rparen(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 230
def on_rparen(tok, data)
  @lex_state = EXPR_ENDFN
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_sp(tok, data) click to toggle source
# File lib/rdoc/parser/ripper_state_lex.rb, line 267
def on_sp(tok, data)
  @callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end