UNPKG

esfuzz

Version:

JS fuzzer for generative testing of parsers that implement the SpiderMonkey Reflect.parse API

59 lines (58 loc) 1.44 kB
// Generated by CoffeeScript 2.0.0-beta7 void function () { var BinaryExpression, construct, Expression, Node, OPERATORS, randomElement; Node = require('../node'); Expression = require('../classes/Expression'); randomElement = require('../random').randomElement; construct = require('../combinators').construct; OPERATORS = [ '==', '!=', '===', '!==', '<', '<=', '>', '>=', '<<', '>>', '>>>', '+', '-', '*', '/', '%', '|', '^', 'in', 'instanceof' ]; BinaryExpression = function (super$) { extends$(BinaryExpression, super$); BinaryExpression.prototype.type = BinaryExpression.name; function BinaryExpression(depth, ancestors) { --depth; ancestors = [this].concat(ancestors); this.operator = randomElement(OPERATORS); this.left = Expression(depth, ancestors); this.right = Expression(depth, ancestors); } return BinaryExpression; }(Node); module.exports = construct(BinaryExpression); function isOwn$(o, p) { return {}.hasOwnProperty.call(o, p); } function extends$(child, parent) { for (var key in parent) if (isOwn$(parent, key)) child[key] = parent[key]; function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; } }.call(this);