UNPKG

esfuzz

Version:

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

46 lines (45 loc) 1.31 kB
// Generated by CoffeeScript 2.0.0-beta7 void function () { var construct, Expression, Node, OPERATORS, randomElement, UnaryExpression; Node = require('../node'); Expression = require('../classes/Expression'); construct = require('../combinators').construct; randomElement = require('../random').randomElement; OPERATORS = [ '-', '+', '!', '~', 'typeof', 'void', 'delete' ]; UnaryExpression = function (super$) { extends$(UnaryExpression, super$); UnaryExpression.prototype.type = UnaryExpression.name; UnaryExpression.prototype.prefix = true; function UnaryExpression(depth, ancestors) { --depth; ancestors = [this].concat(ancestors); this.operator = randomElement(OPERATORS); this.argument = Expression(depth, ancestors); } return UnaryExpression; }(Node); module.exports = construct(UnaryExpression); 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);