Workaround for missing `prefix` in UnaryExpression generated by Esprima
authorMihai Bazon <mihai@bazon.net>
Mon, 29 Apr 2013 12:03:52 +0000 (15:03 +0300)
committerMihai Bazon <mihai@bazon.net>
Mon, 29 Apr 2013 12:03:52 +0000 (15:03 +0300)
See #193

lib/mozilla-ast.js

index 982d621..d795094 100644 (file)
     };
 
     function From_Moz_Unary(M) {
-        return new (M.prefix ? AST_UnaryPrefix : AST_UnaryPostfix)({
+        var prefix = "prefix" in M ? M.prefix
+            : M.type == "UnaryExpression" ? true : false;
+        return new (prefix ? AST_UnaryPrefix : AST_UnaryPostfix)({
             start      : my_start_token(M),
             end        : my_end_token(M),
             operator   : M.operator,
             expression : from_moz(M.argument)
-        })
+        });
     };
 
     var ME_TO_MOZ = {};