class RubyNext::Language::Rewriters::ArgsForwardLeading
Constants
- MIN_SUPPORTED_VERSION
- NAME
- SYNTAX_PROBE
Attributes
leading_farg[R]
leading_farg?[R]
Public Instance Methods
on_def(node)
click to toggle source
Calls superclass method
# File lib/ruby-next/language/rewriters/args_forward_leading.rb, line 14 def on_def(node) @leading_farg = method_with_leading_arg(node) super end
on_defs(node)
click to toggle source
Calls superclass method
# File lib/ruby-next/language/rewriters/args_forward_leading.rb, line 20 def on_defs(node) @leading_farg = method_with_leading_arg(node) super end
on_forward_arg(node)
click to toggle source
Calls superclass method
RubyNext::Language::Rewriters::ArgsForward#on_forward_arg
# File lib/ruby-next/language/rewriters/args_forward_leading.rb, line 26 def on_forward_arg(node) return super if leading_farg? node end
on_send(node)
click to toggle source
Calls superclass method
RubyNext::Language::Rewriters::ArgsForward#on_send
# File lib/ruby-next/language/rewriters/args_forward_leading.rb, line 32 def on_send(node) return super if leading_farg? node end
on_super(node)
click to toggle source
Calls superclass method
RubyNext::Language::Rewriters::ArgsForward#on_super
# File lib/ruby-next/language/rewriters/args_forward_leading.rb, line 38 def on_super(node) return super if leading_farg? node end
Private Instance Methods
def_with_leading_farg(node)
click to toggle source
# File lib/ruby-next/language/rewriters/args_forward_leading.rb, line 64 def def_with_leading_farg(node) args = node.type == :defs ? node.children[2] : node.children[1] args = args.children farg = args.detect { |child| child.type == :forward_arg } args.index(farg) > 0 end
method_with_leading_arg(node)
click to toggle source
# File lib/ruby-next/language/rewriters/args_forward_leading.rb, line 56 def method_with_leading_arg(node) find_child(node) { |child| child.type == :forward_arg } && ( def_with_leading_farg(node) || find_child(node) { |child| send_with_leading_farg(child) } ) end
send_with_leading_farg(node)
click to toggle source
# File lib/ruby-next/language/rewriters/args_forward_leading.rb, line 46 def send_with_leading_farg(node) return false unless node.type == :send || node.type == :super fargs = extract_fargs(node) return false unless fargs node.children.index(fargs) > (node.type == :send ? 2 : 0) end