Sha256: b5bea25ee5b8e0a2e26ed5721cbc930f969a3475c41034181207f3930199af88

Contents?: true

Size: 659 Bytes

Versions: 8

Compression:

Stored size: 659 Bytes

Contents

# frozen_string_literal: true

module Mutant
  class Mutator
    class Node
      module Regexp
        # Mutator for regexp capture groups, such as `/(foo)/`
        class CaptureGroup < Node
          handle(:regexp_capture_group)

          children :group

          # Emit mutations
          #
          # Replace `(captured_group)` with `(?:non_captured_group)`
          #
          # @return [undefined]
          def dispatch
            return unless group

            emit(s(:regexp_passive_group, group))
            emit_group_mutations
          end
        end # EndOfLineAnchor
      end # Regexp
    end # Node
  end # Mutator
end # Mutant

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mutant-0.8.24 lib/mutant/mutator/node/regexp/capture_group.rb
mutant-0.8.23 lib/mutant/mutator/node/regexp/capture_group.rb
mutant-0.8.22 lib/mutant/mutator/node/regexp/capture_group.rb
mutant-0.8.21 lib/mutant/mutator/node/regexp/capture_group.rb
mutant-0.8.20 lib/mutant/mutator/node/regexp/capture_group.rb
mutant-0.8.19 lib/mutant/mutator/node/regexp/capture_group.rb
mutant-0.8.18 lib/mutant/mutator/node/regexp/capture_group.rb
mutant-0.8.17 lib/mutant/mutator/node/regexp/capture_group.rb