Class: Prism::LexCompat::ParamToken

Inherits:
Token
  • Object
show all
Defined in:
lib/prism/lex_compat.rb

Overview

If we have an identifier that follows a method name like:

def foo bar

then Ripper will mark bar as END|LABEL if there is a local in a parent scope named bar because it hasn’t pushed the local table yet. We do this more accurately, so we need to allow comparing against both END and END|LABEL.

Instance Method Summary collapse

Methods inherited from Token

#event, #location, #state, #value

Instance Method Details

#==(other) ⇒ Object

:nodoc:



280
281
282
283
284
285
# File 'lib/prism/lex_compat.rb', line 280

def ==(other) # :nodoc:
  (self[0...-1] == other[0...-1]) && (
    (other[3] == Ripper::EXPR_END) ||
    (other[3] == Ripper::EXPR_END | Ripper::EXPR_LABEL)
  )
end