benchmark/old.js
function isExpression(node) {
        switch (node.type) {
        case Syntax.AssignmentExpression:
        case Syntax.ArrayExpression:
        case Syntax.ArrayPattern:
        case Syntax.BinaryExpression:
        case Syntax.CallExpression:
        case Syntax.ConditionalExpression:
        case Syntax.ClassExpression:
        case Syntax.ExportBatchSpecifier:
        case Syntax.ExportSpecifier:
        case Syntax.FunctionExpression:
        case Syntax.Identifier:
        case Syntax.ImportDefaultSpecifier:
        case Syntax.ImportNamespaceSpecifier:
        case Syntax.ImportSpecifier:
        case Syntax.Literal:
        case Syntax.LogicalExpression:
        case Syntax.MemberExpression:
        case Syntax.MethodDefinition:
        case Syntax.ModuleSpecifier:
        case Syntax.NewExpression:
        case Syntax.ObjectExpression:
        case Syntax.ObjectPattern:
        case Syntax.Property:
        case Syntax.SequenceExpression:
        case Syntax.ThisExpression:
        case Syntax.UnaryExpression:
        case Syntax.UpdateExpression:
        case Syntax.YieldExpression:
            return true;
        }
        return false;
    }
function isExpression(node) {
        switch (node.type) {
        case Syntax.AssignmentExpression:
        case Syntax.ArrayExpression:
        case Syntax.ArrayPattern:
        case Syntax.BinaryExpression:
        case Syntax.CallExpression:
        case Syntax.ConditionalExpression:
        case Syntax.ClassExpression:
        case Syntax.ExportBatchSpecifier:
        case Syntax.ExportSpecifier:
        case Syntax.FunctionExpression:
        case Syntax.Identifier:
        case Syntax.ImportDefaultSpecifier:
        case Syntax.ImportNamespaceSpecifier:
        case Syntax.ImportSpecifier:
        case Syntax.Literal:
        case Syntax.LogicalExpression:
        case Syntax.MemberExpression:
        case Syntax.MethodDefinition:
        case Syntax.ModuleSpecifier:
        case Syntax.NewExpression:
        case Syntax.ObjectExpression:
        case Syntax.ObjectPattern:
        case Syntax.Property:
        case Syntax.SequenceExpression:
        case Syntax.ThisExpression:
        case Syntax.UnaryExpression:
        case Syntax.UpdateExpression:
        case Syntax.YieldExpression:
            return true;
        }
        return false;
    }
function isExpression ( node ) { switch ( node . type ) { case Syntax . AssignmentExpression : case Syntax . ArrayExpression : case Syntax . ArrayPattern : case Syntax . BinaryExpression : case Syntax . CallExpression : case Syntax . ConditionalExpression : case Syntax . ClassExpression : case Syntax . ExportBatchSpecifier : case Syntax . ExportSpecifier : case Syntax . FunctionExpression : case Syntax . Identifier : case Syntax . ImportDefaultSpecifier : case Syntax . ImportNamespaceSpecifier : case Syntax . ImportSpecifier : case Syntax . Literal : case Syntax . LogicalExpression : case Syntax . MemberExpression : case Syntax . MethodDefinition : case Syntax . ModuleSpecifier : case Syntax . NewExpression : case Syntax . ObjectExpression : case Syntax . ObjectPattern : case Syntax . Property : case Syntax . SequenceExpression : case Syntax . ThisExpression : case Syntax . UnaryExpression : case Syntax . UpdateExpression : case Syntax . YieldExpression : return true ; } return false ; }
Generation is done by generateExpression.
Generation is done by generateExpression .