Sha256: f097b464f106beb1bc9f3ac4498e05d795e5a9082716d8b68d4844afdab84bf3
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true module RubyNext module Language module Rewriters class RightHandAssignment < Base NAME = "right-hand-assignment" 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-next-core-0.9.2 | lib/ruby-next/language/rewriters/right_hand_assignment.rb |