class Parser::Source::Rewriter::Action


@api private
#

def <=>(other)

def <=>(other)
  result = range.begin_pos <=> other.range.begin_pos
  return result unless result.zero?
  order <=> other.order
end

def initialize(range, replacement='', allow_multiple_insertions = false, order = 0)

def initialize(range, replacement='', allow_multiple_insertions = false, order = 0)
  @range = range
  @replacement = replacement
  @allow_multiple_insertions = allow_multiple_insertions
  @order = order
  freeze
end

def to_s

def to_s
  if @range.length == 0 && @replacement.empty?
    'do nothing'
  elsif @range.length == 0
    "insert #{@replacement.inspect}"
  elsif @replacement.empty?
    "remove #{@range.length} character(s)"
  else
    "replace #{@range.length} character(s) with #{@replacement.inspect}"
  end
end