class RubyNext::Language::Rewriters::EndlessMethod

Constants

MIN_SUPPORTED_VERSION
NAME
SYNTAX_PROBE

Public Instance Methods

on_def(node) click to toggle source
Calls superclass method
# File lib/ruby-next/language/rewriters/endless_method.rb, line 12
def on_def(node)
  return on_def_e(node) if node.loc.end.nil?
  super(node)
end
on_def_e(node) click to toggle source
# File lib/ruby-next/language/rewriters/endless_method.rb, line 18
def on_def_e(node)
  context.track! self

  replace(node.loc.assignment, "; ")
  insert_after(node.loc.expression, "; end")

  new_loc = node.loc.dup
  new_loc.instance_variable_set(:@end, node.loc.expression)

  process(
    node.updated(
      :def,
      node.children,
      location: new_loc
    )
  )
end
on_defs(node) click to toggle source
Calls superclass method
# File lib/ruby-next/language/rewriters/endless_method.rb, line 37
def on_defs(node)
  return on_defs_e(node) if node.loc.end.nil?
  super(node)
end
on_defs_e(node) click to toggle source
# File lib/ruby-next/language/rewriters/endless_method.rb, line 43
def on_defs_e(node)
  context.track! self

  replace(node.loc.assignment, "; ")
  insert_after(node.loc.expression, "; end")

  new_loc = node.loc.dup
  new_loc.instance_variable_set(:@end, node.loc.expression)

  process(
    node.updated(
      :defs,
      node.children,
      location: new_loc
    )
  )
end