diff options
-rw-r--r-- | lib/compress.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/compress.js b/lib/compress.js index c13421ea..78d9d0c0 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -534,7 +534,14 @@ merge(Compressor.prototype, { } }); def(AST_Statement, function(){ - throw new Error("Cannot evaluate a statement"); + throw new Error(string_template("Cannot evaluate a statement [{file}:{line},{col}]", this.start)); + }); + def(AST_Function, function(){ + // XXX: AST_Function inherits from AST_Scope, which itself + // inherits from AST_Statement; however, an AST_Function + // isn't really a statement. This could byte in other + // places too. :-( Wish JS had multiple inheritance. + return [ this ]; }); function ev(node) { return node._eval(); |