aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/compress.js9
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();