Sha256: 537884320e3eb308e0170605901923b10773766cc664fb1ea86786a8d7969191
Contents?: true
Size: 903 Bytes
Versions: 1
Compression:
Stored size: 903 Bytes
Contents
# frozen_string_literal: true module Synvert::Core # ReplaceAction to replace child node with code. class Rewriter::ReplaceAction < Rewriter::Action # Initailize a ReplaceAction. # # @param instance [Synvert::Core::Rewriter::Instance] # @param selectors [Array<Symbol|String>] used to select child nodes # @param with [String] the new code def initialize(instance, *selectors, with:) super(instance, with) @selectors = selectors end # The rewritten source code. # # @return [String] rewritten code. def rewritten_code rewritten_source end private # Calculate the begin the end positions. def calculate_position @begin_pos = @selectors.map { |selector| @node.child_node_range(selector).begin_pos }.min @end_pos = @selectors.map { |selector| @node.child_node_range(selector).end_pos }.max end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
synvert-core-0.64.0 | lib/synvert/core/rewriter/action/replace_action.rb |