free_mutant/lib/mutant/ast/sexp.rb
2015-07-02 03:35:54 +00:00

32 lines
563 B
Ruby

module Mutant
module AST
# Mixin for node sexp syntax
module Sexp
private
# Build node
#
# @param [Symbol] type
#
# @return [Parser::AST::Node]
#
# @api private
def s(type, *children)
Parser::AST::Node.new(type, children)
end
# Build a negated boolean node
#
# @param [Parser::AST::Node] node
#
# @return [Parser::AST::Node]
#
# @api private
def n_not(node)
s(:send, node, :!)
end
end # Sexp
end # AST
end # Mutant