Class: Parser::Rewriter

Inherits:
AST::Processor show all
Defined in:
lib/parser/rewriter.rb

Instance Method Summary collapse

Methods inherited from AST::Processor

#on_argument, #on_case, #on_cdecl, #on_class, #on_const, #on_def, #on_defs, #on_if, #on_op_asgn, #on_resbody, #on_rescue, #on_send, #on_var, #on_vasgn, #process_argument_node, #process_regular_node, #process_var_asgn_node, #process_variable_node

Instance Method Details

#assignment?(node) ⇒ Boolean (private)

Returns:

  • (Boolean)


13
14
15
16
# File 'lib/parser/rewriter.rb', line 13

def assignment?(node)
  [:lvasgn, :ivasgn, :gvasgn,
   :cvasgn, :cvdecl, :cdecl].include?(node.type)
end

#insert_after(range, content) ⇒ Object (private)



26
27
28
# File 'lib/parser/rewriter.rb', line 26

def insert_after(range, content)
  @source_rewriter.insert_after(range, content)
end

#insert_before(range, content) ⇒ Object (private)



22
23
24
# File 'lib/parser/rewriter.rb', line 22

def insert_before(range, content)
  @source_rewriter.insert_before(range, content)
end

#remove(range) ⇒ Object (private)



18
19
20
# File 'lib/parser/rewriter.rb', line 18

def remove(range)
  @source_rewriter.remove(range)
end

#replace(range, content) ⇒ Object (private)



30
31
32
# File 'lib/parser/rewriter.rb', line 30

def replace(range, content)
  @source_rewriter.replace(range, content)
end

#rewrite(source_buffer, ast) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/parser/rewriter.rb', line 3

def rewrite(source_buffer, ast)
  @source_rewriter = Source::Rewriter.new(source_buffer)

  process(ast)

  @source_rewriter.process
end