123456789_123456789_123456789_123456789_123456789_

Class: Prism::Translation::Ripper::Filter

Do not use. This class is for internal use only.
Relationships & Source Files
Inherits: Object
Defined in: lib/prism/translation/ripper/filter.rb

Class Method Summary

Instance Method Summary

Constructor Details

.new(src, filename = '-', lineno = 1) ⇒ Filter

[ GitHub ]

  
# File 'lib/prism/translation/ripper/filter.rb', line 8

def initialize(src, filename = '-', lineno = 1)
  @__lexer = Lexer.new(src, filename, lineno)
  @__line = nil
  @__col = nil
  @__state = nil
end

Instance Method Details

#column

[ GitHub ]

  
# File 'lib/prism/translation/ripper/filter.rb', line 23

def column
  @__col
end

#filename

[ GitHub ]

  
# File 'lib/prism/translation/ripper/filter.rb', line 15

def filename
  @__lexer.filename
end

#lineno

[ GitHub ]

  
# File 'lib/prism/translation/ripper/filter.rb', line 19

def lineno
  @__line
end

#on_default(event, token, data) (private)

[ GitHub ]

  
# File 'lib/prism/translation/ripper/filter.rb', line 46

def on_default(event, token, data)
  data
end

#parse(init = nil)

[ GitHub ]

  
# File 'lib/prism/translation/ripper/filter.rb', line 31

def parse(init = nil)
  data = init
  @__lexer.lex.each do |pos, event, tok, state|
    @__line, @__col = *pos
    @__state = state
    data = if respond_to?(event, true)
          then __send__(event, tok, data)
          else on_default(event, tok, data)
          end
  end
  data
end

#state

[ GitHub ]

  
# File 'lib/prism/translation/ripper/filter.rb', line 27

def state
  @__state
end