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

Inherits:
Object
  • Object
show all
Defined in:
lib/prism/translation/ripper/filter.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(src, filename = '-', lineno = 1) ⇒ Filter

:stopdoc:



8
9
10
11
12
13
# 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

#columnObject



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

def column
  @__col
end

#filenameObject



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

def filename
  @__lexer.filename
end

#linenoObject



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

def lineno
  @__line
end

#parse(init = nil) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
# 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

#stateObject



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

def state
  @__state
end