Plato on Github
Report Home
lang/compiler/parser/partial-expr.js
Maintainability
100.99
Lines of code
38
Difficulty
18.53
Estimated Errors
0.33
Function weight
By Complexity
By SLOC
(function(sc) { "use strict"; require("./parser"); var Parser = sc.lang.compiler.Parser; var Node = sc.lang.compiler.Node; /* PartialExpression : BinaryExpression */ Parser.addParseMethod("PartialExpression", function() { if (this.state.innerElements) { return this.parseBinaryExpression(); } this.state.underscore = []; var marker = this.createMarker(); var node = this.parseBinaryExpression(); if (this.state.underscore.length) { var args = new Array(this.state.underscore.length); for (var i = 0, imax = args.length; i < imax; ++i) { var x = this.state.underscore[i]; var y = Node.createVariableDeclarator(x); args[i] = this.createMarker(x).update(x).apply(y); } node = Node.createFunctionExpression({ list: args }, [ node ], { partial: true }); } this.state.underscore = []; return marker.update().apply(node); }); })(sc);