Skip to Content Skip to Search

When we produce tokens, we produce the same arrays that Ripper does. However, we add a couple of convenience methods onto them to make them a little easier to work with. We delegate all other methods to the array.

Methods
E
L
S
V

Instance Public methods

event()

The type of the token.

# File ruby/lib/prism/lex_compat.rb, line 193
def event
  self[1]
end

location()

The location of the token in the source.

# File ruby/lib/prism/lex_compat.rb, line 188
def location
  self[0]
end

state()

The state of the lexer when this token was produced.

# File ruby/lib/prism/lex_compat.rb, line 203
def state
  self[3]
end

value()

The slice of the source that this token represents.

# File ruby/lib/prism/lex_compat.rb, line 198
def value
  self[2]
end