Upgrade parser dependency
This commit is contained in:
		
							parent
							
								
									633cf6a18b
								
							
						
					
					
						commit
						d6a2195744
					
				
					 362 changed files with 593 additions and 206 deletions
				
			
		| 
						 | 
				
			
			@ -2,6 +2,7 @@
 | 
			
		|||
 | 
			
		||||
* Drop support for Ruby < 2.3
 | 
			
		||||
* Use frozen string literals globally
 | 
			
		||||
* Update to parser ~> 2.5
 | 
			
		||||
 | 
			
		||||
# v0.8.16 2018-08-03
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										3
									
								
								Gemfile
									
										
									
									
									
								
							
							
						
						
									
										3
									
								
								Gemfile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
source 'https://rubygems.org'
 | 
			
		||||
 | 
			
		||||
gemspec name: 'mutant'
 | 
			
		||||
 | 
			
		||||
eval_gemfile File.expand_path('../Gemfile.shared', __FILE__)
 | 
			
		||||
eval_gemfile File.expand_path('Gemfile.shared', __dir__)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										112
									
								
								Gemfile.lock
									
										
									
									
									
								
							
							
						
						
									
										112
									
								
								Gemfile.lock
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -13,7 +13,7 @@ PATH
 | 
			
		|||
      memoizable (~> 0.4.2)
 | 
			
		||||
      morpher (~> 0.2.6)
 | 
			
		||||
      parallel (~> 1.3)
 | 
			
		||||
      parser (>= 2.3.1.4, < 2.5)
 | 
			
		||||
      parser (~> 2.5.1)
 | 
			
		||||
      procto (~> 0.0.2)
 | 
			
		||||
      regexp_parser (~> 0.4.9)
 | 
			
		||||
      unparser (~> 0.2.5)
 | 
			
		||||
| 
						 | 
				
			
			@ -32,12 +32,12 @@ GEM
 | 
			
		|||
      abstract_type (~> 0.0.7)
 | 
			
		||||
      adamantium (~> 0.2)
 | 
			
		||||
      equalizer (~> 0.0.11)
 | 
			
		||||
    ast (2.3.0)
 | 
			
		||||
    ast (2.4.0)
 | 
			
		||||
    axiom-types (0.1.1)
 | 
			
		||||
      descendants_tracker (~> 0.0.4)
 | 
			
		||||
      ice_nine (~> 0.11.0)
 | 
			
		||||
      thread_safe (~> 0.3, >= 0.3.1)
 | 
			
		||||
    codeclimate-engine-rb (0.4.0)
 | 
			
		||||
    codeclimate-engine-rb (0.4.1)
 | 
			
		||||
      virtus (~> 1.0)
 | 
			
		||||
    coercible (1.0.0)
 | 
			
		||||
      descendants_tracker (~> 0.0.1)
 | 
			
		||||
| 
						 | 
				
			
			@ -46,41 +46,43 @@ GEM
 | 
			
		|||
      equalizer (~> 0.0.9)
 | 
			
		||||
    descendants_tracker (0.0.4)
 | 
			
		||||
      thread_safe (~> 0.3, >= 0.3.1)
 | 
			
		||||
    devtools (0.1.18)
 | 
			
		||||
    devtools (0.1.21)
 | 
			
		||||
      abstract_type (~> 0.0.7)
 | 
			
		||||
      adamantium (~> 0.2.0)
 | 
			
		||||
      anima (~> 0.3.0)
 | 
			
		||||
      concord (~> 0.1.5)
 | 
			
		||||
      flay (~> 2.8.1)
 | 
			
		||||
      flog (~> 4.4.0)
 | 
			
		||||
      mutant (~> 0.8.11)
 | 
			
		||||
      mutant-rspec (~> 0.8.11)
 | 
			
		||||
      flay (~> 2.10.0)
 | 
			
		||||
      flog (~> 4.6.1)
 | 
			
		||||
      mutant (~> 0.8.16)
 | 
			
		||||
      mutant-rspec (~> 0.8.16)
 | 
			
		||||
      procto (~> 0.0.3)
 | 
			
		||||
      rake (~> 12.0.0)
 | 
			
		||||
      reek (~> 4.6.0)
 | 
			
		||||
      rspec (~> 3.5.0)
 | 
			
		||||
      rspec-core (~> 3.5.4)
 | 
			
		||||
      rake (~> 12.3.0)
 | 
			
		||||
      reek (~> 5.0.2)
 | 
			
		||||
      rspec (~> 3.8.0)
 | 
			
		||||
      rspec-core (~> 3.8.0)
 | 
			
		||||
      rspec-its (~> 1.2.0)
 | 
			
		||||
      rubocop (~> 0.47.0)
 | 
			
		||||
      simplecov (~> 0.14.0)
 | 
			
		||||
      yard (~> 0.9.1)
 | 
			
		||||
      rubocop (~> 0.59.0)
 | 
			
		||||
      simplecov (~> 0.16.1)
 | 
			
		||||
      yard (~> 0.9.16)
 | 
			
		||||
      yardstick (~> 0.9.9)
 | 
			
		||||
    diff-lcs (1.3)
 | 
			
		||||
    docile (1.1.5)
 | 
			
		||||
    docile (1.3.1)
 | 
			
		||||
    equalizer (0.0.11)
 | 
			
		||||
    erubis (2.7.0)
 | 
			
		||||
    ffi (1.9.18)
 | 
			
		||||
    flay (2.8.1)
 | 
			
		||||
    ffi (1.9.25)
 | 
			
		||||
    flay (2.10.0)
 | 
			
		||||
      erubis (~> 2.7.0)
 | 
			
		||||
      path_expander (~> 1.0)
 | 
			
		||||
      ruby_parser (~> 3.0)
 | 
			
		||||
      sexp_processor (~> 4.0)
 | 
			
		||||
    flog (4.4.1)
 | 
			
		||||
    flog (4.6.2)
 | 
			
		||||
      path_expander (~> 1.0)
 | 
			
		||||
      ruby_parser (~> 3.1, > 3.1.0)
 | 
			
		||||
      sexp_processor (~> 4.4)
 | 
			
		||||
      sexp_processor (~> 4.8)
 | 
			
		||||
    ice_nine (0.11.2)
 | 
			
		||||
    jaro_winkler (1.5.1)
 | 
			
		||||
    json (2.1.0)
 | 
			
		||||
    kwalify (0.7.2)
 | 
			
		||||
    memoizable (0.4.2)
 | 
			
		||||
      thread_safe (~> 0.3, >= 0.3.1)
 | 
			
		||||
    morpher (0.2.6)
 | 
			
		||||
| 
						 | 
				
			
			@ -93,52 +95,54 @@ GEM
 | 
			
		|||
      ice_nine (~> 0.11.0)
 | 
			
		||||
      procto (~> 0.0.2)
 | 
			
		||||
    parallel (1.12.1)
 | 
			
		||||
    parser (2.4.0.0)
 | 
			
		||||
      ast (~> 2.2)
 | 
			
		||||
    path_expander (1.0.2)
 | 
			
		||||
    powerpack (0.1.1)
 | 
			
		||||
    parser (2.5.1.2)
 | 
			
		||||
      ast (~> 2.4.0)
 | 
			
		||||
    path_expander (1.0.3)
 | 
			
		||||
    powerpack (0.1.2)
 | 
			
		||||
    procto (0.0.3)
 | 
			
		||||
    rainbow (2.2.2)
 | 
			
		||||
      rake
 | 
			
		||||
    rake (12.0.0)
 | 
			
		||||
    reek (4.6.2)
 | 
			
		||||
    rainbow (3.0.0)
 | 
			
		||||
    rake (12.3.1)
 | 
			
		||||
    reek (5.0.2)
 | 
			
		||||
      codeclimate-engine-rb (~> 0.4.0)
 | 
			
		||||
      parser (>= 2.4.0.0, < 2.5)
 | 
			
		||||
      rainbow (~> 2.0)
 | 
			
		||||
      kwalify (~> 0.7.0)
 | 
			
		||||
      parser (>= 2.5.0.0, < 2.6, != 2.5.1.1)
 | 
			
		||||
      rainbow (>= 2.0, < 4.0)
 | 
			
		||||
    regexp_parser (0.4.13)
 | 
			
		||||
    rspec (3.5.0)
 | 
			
		||||
      rspec-core (~> 3.5.0)
 | 
			
		||||
      rspec-expectations (~> 3.5.0)
 | 
			
		||||
      rspec-mocks (~> 3.5.0)
 | 
			
		||||
    rspec-core (3.5.4)
 | 
			
		||||
      rspec-support (~> 3.5.0)
 | 
			
		||||
    rspec-expectations (3.5.0)
 | 
			
		||||
    rspec (3.8.0)
 | 
			
		||||
      rspec-core (~> 3.8.0)
 | 
			
		||||
      rspec-expectations (~> 3.8.0)
 | 
			
		||||
      rspec-mocks (~> 3.8.0)
 | 
			
		||||
    rspec-core (3.8.0)
 | 
			
		||||
      rspec-support (~> 3.8.0)
 | 
			
		||||
    rspec-expectations (3.8.1)
 | 
			
		||||
      diff-lcs (>= 1.2.0, < 2.0)
 | 
			
		||||
      rspec-support (~> 3.5.0)
 | 
			
		||||
      rspec-support (~> 3.8.0)
 | 
			
		||||
    rspec-its (1.2.0)
 | 
			
		||||
      rspec-core (>= 3.0.0)
 | 
			
		||||
      rspec-expectations (>= 3.0.0)
 | 
			
		||||
    rspec-mocks (3.5.0)
 | 
			
		||||
    rspec-mocks (3.8.0)
 | 
			
		||||
      diff-lcs (>= 1.2.0, < 2.0)
 | 
			
		||||
      rspec-support (~> 3.5.0)
 | 
			
		||||
    rspec-support (3.5.0)
 | 
			
		||||
    rubocop (0.47.1)
 | 
			
		||||
      parser (>= 2.3.3.1, < 3.0)
 | 
			
		||||
      rspec-support (~> 3.8.0)
 | 
			
		||||
    rspec-support (3.8.0)
 | 
			
		||||
    rubocop (0.59.0)
 | 
			
		||||
      jaro_winkler (~> 1.5.1)
 | 
			
		||||
      parallel (~> 1.10)
 | 
			
		||||
      parser (>= 2.5, != 2.5.1.1)
 | 
			
		||||
      powerpack (~> 0.1)
 | 
			
		||||
      rainbow (>= 1.99.1, < 3.0)
 | 
			
		||||
      rainbow (>= 2.2.2, < 4.0)
 | 
			
		||||
      ruby-progressbar (~> 1.7)
 | 
			
		||||
      unicode-display_width (~> 1.0, >= 1.0.1)
 | 
			
		||||
    ruby-progressbar (1.8.1)
 | 
			
		||||
    ruby_parser (3.9.0)
 | 
			
		||||
      sexp_processor (~> 4.1)
 | 
			
		||||
    sexp_processor (4.9.0)
 | 
			
		||||
    simplecov (0.14.1)
 | 
			
		||||
      docile (~> 1.1.0)
 | 
			
		||||
    ruby-progressbar (1.10.0)
 | 
			
		||||
    ruby_parser (3.11.0)
 | 
			
		||||
      sexp_processor (~> 4.9)
 | 
			
		||||
    sexp_processor (4.11.0)
 | 
			
		||||
    simplecov (0.16.1)
 | 
			
		||||
      docile (~> 1.1)
 | 
			
		||||
      json (>= 1.8, < 3)
 | 
			
		||||
      simplecov-html (~> 0.10.0)
 | 
			
		||||
    simplecov-html (0.10.1)
 | 
			
		||||
    simplecov-html (0.10.2)
 | 
			
		||||
    thread_safe (0.3.6)
 | 
			
		||||
    unicode-display_width (1.3.0)
 | 
			
		||||
    unicode-display_width (1.4.0)
 | 
			
		||||
    unparser (0.2.8)
 | 
			
		||||
      abstract_type (~> 0.0.7)
 | 
			
		||||
      adamantium (~> 0.2.0)
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +156,7 @@ GEM
 | 
			
		|||
      coercible (~> 1.0)
 | 
			
		||||
      descendants_tracker (~> 0.0, >= 0.0.3)
 | 
			
		||||
      equalizer (~> 0.0, >= 0.0.9)
 | 
			
		||||
    yard (0.9.9)
 | 
			
		||||
    yard (0.9.16)
 | 
			
		||||
    yardstick (0.9.9)
 | 
			
		||||
      yard (~> 0.8, >= 0.8.7.2)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -161,7 +165,7 @@ PLATFORMS
 | 
			
		|||
 | 
			
		||||
DEPENDENCIES
 | 
			
		||||
  bundler (~> 1.10)
 | 
			
		||||
  devtools (~> 0.1.12)
 | 
			
		||||
  devtools (~> 0.1.21)
 | 
			
		||||
  ffi (~> 1.9.6)
 | 
			
		||||
  mutant!
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								Rakefile
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								Rakefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require 'devtools'
 | 
			
		||||
 | 
			
		||||
Devtools.init_rake_tasks
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										272
									
								
								config/reek.yml
									
										
									
									
									
								
							
							
						
						
									
										272
									
								
								config/reek.yml
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,137 +1,137 @@
 | 
			
		|||
---
 | 
			
		||||
Attribute:
 | 
			
		||||
  enabled: false
 | 
			
		||||
  exclude: []
 | 
			
		||||
BooleanParameter:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude: []
 | 
			
		||||
ClassVariable:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude: []
 | 
			
		||||
ControlParameter:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude:
 | 
			
		||||
  - Mutant::Expression#match_length
 | 
			
		||||
DataClump:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude: []
 | 
			
		||||
  max_copies: 2
 | 
			
		||||
  min_clump_size: 2
 | 
			
		||||
DuplicateMethodCall:
 | 
			
		||||
  enabled: false
 | 
			
		||||
  exclude: []
 | 
			
		||||
  max_calls: 1
 | 
			
		||||
  allow_calls: []
 | 
			
		||||
FeatureEnvy:
 | 
			
		||||
  enabled: false
 | 
			
		||||
# Buggy smell detector
 | 
			
		||||
IrresponsibleModule:
 | 
			
		||||
  enabled: false
 | 
			
		||||
  exclude: []
 | 
			
		||||
LongParameterList:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude:
 | 
			
		||||
  - Mutant::Matcher::Method::Instance#self.build
 | 
			
		||||
  - Mutant::Meta::Example::DSL # 3 vars
 | 
			
		||||
  max_params: 2
 | 
			
		||||
LongYieldList:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude: []
 | 
			
		||||
  max_params: 2
 | 
			
		||||
NestedIterators:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude:
 | 
			
		||||
  - Mutant#self.singleton_subclass_instance
 | 
			
		||||
  - Mutant::CLI#parse
 | 
			
		||||
  - Mutant::Mutator::Node::Arguments#emit_argument_mutations
 | 
			
		||||
  - Mutant::Mutator::Node::Resbody#mutate_captures
 | 
			
		||||
  - Mutant::Mutator::Util::Array::Element#dispatch
 | 
			
		||||
  - Mutant::Parallel::Master#run
 | 
			
		||||
  - Mutant::RequireHighjack#self.call
 | 
			
		||||
  - Mutant::Selector::Expression#call
 | 
			
		||||
  - Parser::Lexer#self.new
 | 
			
		||||
  max_allowed_nesting: 1
 | 
			
		||||
  ignore_iterators: []
 | 
			
		||||
NilCheck:
 | 
			
		||||
  enabled: false
 | 
			
		||||
RepeatedConditional:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude:
 | 
			
		||||
  - Mutant::Mutator
 | 
			
		||||
  - Mutant::Meta::Example::DSL
 | 
			
		||||
  max_ifs: 1
 | 
			
		||||
TooManyInstanceVariables:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude:
 | 
			
		||||
  - Mutant::Mutator # 4 vars
 | 
			
		||||
  - Mutant::Parallel::Master # 4 vars
 | 
			
		||||
  - Mutant::Meta::Example::DSL # 4 vars
 | 
			
		||||
  max_instance_variables: 3
 | 
			
		||||
TooManyMethods:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude:
 | 
			
		||||
  - Mutant::CLI
 | 
			
		||||
  - Mutant::Mutator::Node
 | 
			
		||||
  - Mutant::Parallel::Master
 | 
			
		||||
  max_methods: 10
 | 
			
		||||
TooManyStatements:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude:
 | 
			
		||||
  - Mutant::CLI#add_debug_options
 | 
			
		||||
  - Mutant::CLI#add_environment_options
 | 
			
		||||
  - Mutant::Reporter::CLI::Printer::Config#run
 | 
			
		||||
  - Mutant::Reporter::CLI::Printer::EnvProgress#run
 | 
			
		||||
  - Mutant::Runner#run_driver
 | 
			
		||||
  - Mutant::Zombifier::File#self.find
 | 
			
		||||
  max_statements: 7
 | 
			
		||||
UncommunicativeMethodName:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude:
 | 
			
		||||
  - Mutant::AST::Sexp#s
 | 
			
		||||
  - Mutant::Mutation#sha1
 | 
			
		||||
  reject:
 | 
			
		||||
  - !ruby/regexp /^[a-z]$/
 | 
			
		||||
  - !ruby/regexp /[0-9]$/
 | 
			
		||||
  - !ruby/regexp /[A-Z]/
 | 
			
		||||
  accept: []
 | 
			
		||||
UncommunicativeModuleName:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude: []
 | 
			
		||||
  reject:
 | 
			
		||||
  - !ruby/regexp /^.$/
 | 
			
		||||
  - !ruby/regexp /[0-9]$/
 | 
			
		||||
  accept: []
 | 
			
		||||
UncommunicativeParameterName:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude: []
 | 
			
		||||
  reject:
 | 
			
		||||
  - !ruby/regexp /^.$/
 | 
			
		||||
  - !ruby/regexp /[0-9]$/
 | 
			
		||||
  - !ruby/regexp /[A-Z]/
 | 
			
		||||
  accept: []
 | 
			
		||||
UncommunicativeVariableName:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude: []
 | 
			
		||||
  reject:
 | 
			
		||||
  - !ruby/regexp /^.$/
 | 
			
		||||
  - !ruby/regexp /[0-9]$/
 | 
			
		||||
  - !ruby/regexp /[A-Z]/
 | 
			
		||||
  accept: ['force_utf32']
 | 
			
		||||
UnusedParameters:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude: []
 | 
			
		||||
UtilityFunction:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  exclude:
 | 
			
		||||
  - Mutant::AST::Sexp#s
 | 
			
		||||
  - Mutant::Actor::Env#new_mailbox
 | 
			
		||||
  - Mutant::CLI#reporter
 | 
			
		||||
  - Mutant::Integration::Null#call
 | 
			
		||||
  - Mutant::Integration::Rspec#parse_example
 | 
			
		||||
  - Mutant::Integration::Rspec#parse_expression # intentional, private
 | 
			
		||||
  - Mutant::Meta::Example::Verification#format_mutations # intentional, private
 | 
			
		||||
  - Mutant::Reporter::CLI::Format::Progressive#new_buffer
 | 
			
		||||
  - Mutant::Reporter::CLI::Printer::StatusProgressive#object # False positive calls super
 | 
			
		||||
  - Mutant::Repository::Diff#tracks? # intentional, private
 | 
			
		||||
  - Mutant::Repository::Diff#within_working_directory? # intentional, private
 | 
			
		||||
  max_helper_calls: 0
 | 
			
		||||
detectors:
 | 
			
		||||
  Attribute:
 | 
			
		||||
    enabled: false
 | 
			
		||||
    exclude: []
 | 
			
		||||
  BooleanParameter:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude: []
 | 
			
		||||
  ClassVariable:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude: []
 | 
			
		||||
  ControlParameter:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude:
 | 
			
		||||
    - Mutant::Expression#match_length
 | 
			
		||||
  DataClump:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude: []
 | 
			
		||||
    max_copies: 2
 | 
			
		||||
    min_clump_size: 2
 | 
			
		||||
  DuplicateMethodCall:
 | 
			
		||||
    enabled: false
 | 
			
		||||
    exclude: []
 | 
			
		||||
    max_calls: 1
 | 
			
		||||
    allow_calls: []
 | 
			
		||||
  FeatureEnvy:
 | 
			
		||||
    enabled: false
 | 
			
		||||
  # Buggy smell detector
 | 
			
		||||
  IrresponsibleModule:
 | 
			
		||||
    enabled: false
 | 
			
		||||
    exclude: []
 | 
			
		||||
  LongParameterList:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude:
 | 
			
		||||
    - Mutant::Matcher::Method::Instance#self.build
 | 
			
		||||
    - Mutant::Meta::Example::DSL # 3 vars
 | 
			
		||||
    max_params: 2
 | 
			
		||||
  LongYieldList:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude: []
 | 
			
		||||
    max_params: 2
 | 
			
		||||
  NestedIterators:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude:
 | 
			
		||||
    - Mutant#self.singleton_subclass_instance
 | 
			
		||||
    - Mutant::CLI#parse
 | 
			
		||||
    - Mutant::Mutator::Node::Arguments#emit_argument_mutations
 | 
			
		||||
    - Mutant::Mutator::Node::Resbody#mutate_captures
 | 
			
		||||
    - Mutant::Mutator::Util::Array::Element#dispatch
 | 
			
		||||
    - Mutant::Parallel::Master#run
 | 
			
		||||
    - Mutant::RequireHighjack#self.call
 | 
			
		||||
    - Mutant::Selector::Expression#call
 | 
			
		||||
    - Parser::Lexer#self.new
 | 
			
		||||
    max_allowed_nesting: 1
 | 
			
		||||
    ignore_iterators: []
 | 
			
		||||
  NilCheck:
 | 
			
		||||
    enabled: false
 | 
			
		||||
  RepeatedConditional:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude:
 | 
			
		||||
    - Mutant::Mutator
 | 
			
		||||
    - Mutant::Meta::Example::DSL
 | 
			
		||||
    max_ifs: 1
 | 
			
		||||
  TooManyInstanceVariables:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude:
 | 
			
		||||
    - Mutant::Mutator # 4 vars
 | 
			
		||||
    - Mutant::Parallel::Master # 4 vars
 | 
			
		||||
    - Mutant::Meta::Example::DSL # 4 vars
 | 
			
		||||
    max_instance_variables: 3
 | 
			
		||||
  TooManyMethods:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude:
 | 
			
		||||
    - Mutant::CLI
 | 
			
		||||
    - Mutant::Mutator::Node
 | 
			
		||||
    - Mutant::Parallel::Master
 | 
			
		||||
    max_methods: 10
 | 
			
		||||
  TooManyStatements:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude:
 | 
			
		||||
    - Mutant::CLI#add_debug_options
 | 
			
		||||
    - Mutant::CLI#add_environment_options
 | 
			
		||||
    - Mutant::Reporter::CLI::Printer::Config#run
 | 
			
		||||
    - Mutant::Reporter::CLI::Printer::EnvProgress#run
 | 
			
		||||
    - Mutant::Runner#run_driver
 | 
			
		||||
    - Mutant::Zombifier::File#self.find
 | 
			
		||||
    max_statements: 7
 | 
			
		||||
  UncommunicativeMethodName:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude:
 | 
			
		||||
    - Mutant::AST::Sexp#s
 | 
			
		||||
    - Mutant::Mutation#sha1
 | 
			
		||||
    reject:
 | 
			
		||||
    - '/^[a-z]$/'
 | 
			
		||||
    - '/[0-9]$/'
 | 
			
		||||
    - '/[A-Z]/'
 | 
			
		||||
    accept: []
 | 
			
		||||
  UncommunicativeModuleName:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude: []
 | 
			
		||||
    reject:
 | 
			
		||||
    - '/^.$/'
 | 
			
		||||
    - '/[0-9]$/'
 | 
			
		||||
    accept: []
 | 
			
		||||
  UncommunicativeParameterName:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude: []
 | 
			
		||||
    reject:
 | 
			
		||||
    - '/^.$/'
 | 
			
		||||
    - '/[0-9]$/'
 | 
			
		||||
    - '/[A-Z]/'
 | 
			
		||||
    accept: []
 | 
			
		||||
  UncommunicativeVariableName:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude: []
 | 
			
		||||
    reject:
 | 
			
		||||
    - '/^.$/'
 | 
			
		||||
    - '/[0-9]$/'
 | 
			
		||||
    - '/[A-Z]/'
 | 
			
		||||
    accept: ['force_utf32']
 | 
			
		||||
  UnusedParameters:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude: []
 | 
			
		||||
  UtilityFunction:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    exclude:
 | 
			
		||||
    - Mutant::AST::Sexp#s
 | 
			
		||||
    - Mutant::Actor::Env#new_mailbox
 | 
			
		||||
    - Mutant::CLI#reporter
 | 
			
		||||
    - Mutant::Integration::Null#call
 | 
			
		||||
    - Mutant::Integration::Rspec#parse_example
 | 
			
		||||
    - Mutant::Integration::Rspec#parse_expression # intentional, private
 | 
			
		||||
    - Mutant::Meta::Example::Verification#format_mutations # intentional, private
 | 
			
		||||
    - Mutant::Reporter::CLI::Format::Progressive#new_buffer
 | 
			
		||||
    - Mutant::Reporter::CLI::Printer::StatusProgressive#object # False positive calls super
 | 
			
		||||
    - Mutant::Repository::Diff#tracks? # intentional, private
 | 
			
		||||
    - Mutant::Repository::Diff#within_working_directory? # intentional, private
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@ CollectionMethods:
 | 
			
		|||
    find_all: 'select'
 | 
			
		||||
 | 
			
		||||
AccessModifierIndentation:
 | 
			
		||||
  EnforcedStyle: outdent
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Limit line length
 | 
			
		||||
LineLength:
 | 
			
		||||
| 
						 | 
				
			
			@ -181,5 +181,27 @@ AlignHash:
 | 
			
		|||
Send:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Layout/EmptyLineAfterGuardClause:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Layout/SpaceInsideArrayLiteralBrackets:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Lint/BooleanSymbol:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Lint/InterpolationCheck:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Lint/MissingCopEnableDirective:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Lint/UnifiedInteger:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Naming/FileName:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Style/AccessModifierDeclarations:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Style/CommentedKeyword:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Style/MixinGrouping:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Style/RescueStandardError:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
Style/StderrPuts:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require 'abstract_type'
 | 
			
		||||
require 'adamantium'
 | 
			
		||||
require 'anima'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # A minimal actor implementation
 | 
			
		||||
  module Actor
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module Actor
 | 
			
		||||
    # Actor root environment
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module Actor
 | 
			
		||||
    # Unbound mailbox
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module Actor
 | 
			
		||||
    # Receiver side of an actor
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module Actor
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # AST helpers
 | 
			
		||||
  module AST
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Node meta information mixin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Node meta information mixin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Node meta information mixin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Node meta information mixin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Node meta information mixin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Node meta information mixin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Node meta information mixin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Module for node predicates
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Singleton nodes
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Regexp source mapper
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    module Regexp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    module Regexp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    module Regexp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    module Regexp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    module Regexp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    module Regexp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    module Regexp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    module Regexp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    module Regexp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Mixin for node sexp syntax
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module AST
 | 
			
		||||
    # Groups of node types
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Commandline parser / runner
 | 
			
		||||
  class CLI
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Class to colorize strings
 | 
			
		||||
  class Color
 | 
			
		||||
| 
						 | 
				
			
			@ -25,7 +26,7 @@ module Mutant
 | 
			
		|||
        text
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
    private # rubocop:disable AccessModifierIndentation
 | 
			
		||||
    private
 | 
			
		||||
 | 
			
		||||
      # Initialize null color
 | 
			
		||||
      #
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Standalone configuration of a mutant execution.
 | 
			
		||||
  #
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # An abstract context where mutations can be applied to.
 | 
			
		||||
  class Context
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Class to create diffs from source code
 | 
			
		||||
  class Diff
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Abstract base class for mutant environments
 | 
			
		||||
  class Env
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								lib/mutant/env/bootstrap.rb
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								lib/mutant/env/bootstrap.rb
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Env
 | 
			
		||||
    # Bootstrap environment
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
 | 
			
		||||
  # Abstract base class for match expression
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Expression
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Expression
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Expression
 | 
			
		||||
    # Abstract base class for expressions matching namespaces
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Expression
 | 
			
		||||
    class Parser
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
 | 
			
		||||
  # Abstract base class mutant test framework integrations
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require 'rspec/core'
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Isolation
 | 
			
		||||
    include AbstractType
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Isolation
 | 
			
		||||
    # Isolation via the fork(2) systemcall.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Module providing isolation
 | 
			
		||||
  class Isolation
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Base class for code loaders
 | 
			
		||||
  class Loader
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Abstract matcher to find subjects to mutate
 | 
			
		||||
  class Matcher
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    # Matcher chaining results of other matchers together
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    # Subject matcher configuration
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    # Matcher filter
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    # Abstract base class for method matchers
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    class Method
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    class Method
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    # Abstract base class for matcher that returns method subjects from scope
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    # Matcher for specific namespace
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    # A null matcher, that does not match any subjects
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    # Matcher expanding Mutant::Scope objects into method matches
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Matcher
 | 
			
		||||
    # Matcher returning subjects already known at its creation time
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Namespace for mutant metadata
 | 
			
		||||
  module Meta
 | 
			
		||||
| 
						 | 
				
			
			@ -15,6 +16,8 @@ module Mutant
 | 
			
		|||
      # Add example
 | 
			
		||||
      #
 | 
			
		||||
      # @return [undefined]
 | 
			
		||||
      #
 | 
			
		||||
      # rubocop:disable Performance/Caller
 | 
			
		||||
      def self.add(type, &block)
 | 
			
		||||
        file = caller.first.split(':in', 2).first
 | 
			
		||||
        ALL << DSL.call(file, type, block)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module Meta
 | 
			
		||||
    class Example
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module Meta
 | 
			
		||||
    class Example
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  module Meta
 | 
			
		||||
    class Example
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Represent a mutated node with its subject
 | 
			
		||||
  class Mutation
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  # Generator for mutations
 | 
			
		||||
  class Mutator
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
 | 
			
		||||
  # Generator for mutations
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Mutant
 | 
			
		||||
  class Mutator
 | 
			
		||||
    class Node
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue