Class: YARP::LexCompat::ParamToken

Inherits:
Token
  • Object
show all
Defined in:
lib/yarp/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



255
256
257
258
259
260
# File 'lib/yarp/lex_compat.rb', line 255

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