Sha256: 6c609aa28c4204640a84c6fa8da381f9458315fa02cf6e4a6bac54c0c5b2f524
Contents?: true
Size: 1.01 KB
Versions: 4
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module RubyNext module Language module Rewriters class RightHandAssignment < Base SYNTAX_PROBE = "1 + 2 => a" MIN_SUPPORTED_VERSION = Gem::Version.new("2.8.0") def on_rasgn(node) context.track! self val_node, asgn_node = *node remove(val_node.loc.expression.end.join(asgn_node.loc.expression)) insert_before(val_node.loc.expression, "#{asgn_node.loc.expression.source} = ") process( asgn_node.updated( nil, asgn_node.children + [val_node] ) ) end def on_mrasgn(node) context.track! self lhs, rhs = *node replace(lhs.loc.expression.end.join(rhs.loc.expression), ")") insert_before(lhs.loc.expression, "#{rhs.loc.expression.source} = (") process( node.updated( :masgn, [rhs, lhs] ) ) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems