Sha256: 752bcd9b8cf8e4b34536c448dc54eb5049897a4038ef8e37dd4564091a81b4fb

Contents?: true

Size: 732 Bytes

Versions: 1

Compression:

Stored size: 732 Bytes

Contents

# frozen_string_literal: true

module RubyNext
  module Language
    module Rewriters
      class MethodReference < Base
        NAME = "method-reference"
        SYNTAX_PROBE = "Language.:transform"
        MIN_SUPPORTED_VERSION = Gem::Version.new("2.7.0")

        def on_meth_ref(node)
          context.track! self

          receiver, mid = *node.children

          replace(
            node.children.first.loc.expression.end.join(
              node.loc.expression.end
            ),
            ".method(:#{mid})"
          )

          node.updated(
            :send,
            [
              receiver,
              :method,
              s(:sym, mid)
            ]
          )
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-next-core-0.9.2 lib/ruby-next/language/rewriters/method_reference.rb