class Crispr::Mutations::Regexp

Generates mutations for regular expressions

def mutations_for(node)

Returns:
  • (Array) - mutated AST nodes

Parameters:
  • node (Parser::AST::Node) -- the AST node to inspect
def mutations_for(node)
  return [] unless node.type == :regexp
  parts = node.children[0...-1]
  options = node.children.last
  mutations = []
  # Remove options if present
  mutations << s(:regexp, *parts, 0) if options != 0
  # Remove the pattern entirely
  mutations << s(:regexp, s(:str, ""), options)
  mutations
end