class Ripper::Lexer::Elem
Attributes
event[RW]
message[RW]
pos[RW]
state[RW]
tok[RW]
Public Class Methods
new(pos, event, tok, state, message = nil)
click to toggle source
# File ext/ripper/lib/ripper/lexer.rb, line 90 def initialize(pos, event, tok, state, message = nil) @pos = pos @event = event @tok = tok @state = State.new(state) @message = message end
Public Instance Methods
[](index)
click to toggle source
# File ext/ripper/lib/ripper/lexer.rb, line 98 def [](index) case index when 0, :pos @pos when 1, :event @event when 2, :tok @tok when 3, :state @state when 4, :message @message else nil end end
inspect()
click to toggle source
# File ext/ripper/lib/ripper/lexer.rb, line 115 def inspect "#<#{self.class}: #{event}@#{pos[0]}:#{pos[1]}:#{state}: #{tok.inspect}#{": " if message}#{message}>" end
Also aliased as: to_s
pretty_print(q)
click to toggle source
# File ext/ripper/lib/ripper/lexer.rb, line 121 def pretty_print(q) q.group(2, "#<#{self.class}:", ">") { q.breakable q.text("#{event}@#{pos[0]}:#{pos[1]}") q.breakable state.pretty_print(q) q.breakable q.text("token: ") tok.pretty_print(q) if message q.breakable q.text("message: ") q.text(message) end } end
to_a()
click to toggle source
# File ext/ripper/lib/ripper/lexer.rb, line 138 def to_a if @message [@pos, @event, @tok, @state, @message] else [@pos, @event, @tok, @state] end end