aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMihai Bazon <mihai.bazon@gmail.com>2015-11-10 10:12:30 +0200
committerMihai Bazon <mihai.bazon@gmail.com>2015-11-10 10:12:30 +0200
commit3c4346728e5067608b6393ba98e24849ac22adea (patch)
treecbbe09a3f9a99b8fbab0c395e2ee586c38dd9311
parent18d37ac761d8f9bb3904d447ddbb0ac471fc161c (diff)
parent7dbe961b2d49533d54dfe5263f94de27de043316 (diff)
downloadtracifyjs-3c4346728e5067608b6393ba98e24849ac22adea.tar.gz
tracifyjs-3c4346728e5067608b6393ba98e24849ac22adea.zip
Merge pull request #854 from kzc/moz-regexp-2
Have mozilla AST RegExpLiteral parser use regex.pattern and regex.flags
-rw-r--r--lib/mozilla-ast.js11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/mozilla-ast.js b/lib/mozilla-ast.js
index 15be4581..2bb469fb 100644
--- a/lib/mozilla-ast.js
+++ b/lib/mozilla-ast.js
@@ -146,7 +146,14 @@
case "boolean":
return new (val ? AST_True : AST_False)(args);
default:
- args.value = M.regex && M.raw ? M.raw : val;
+ var rx = M.regex;
+ if (rx && rx.pattern) {
+ // RegExpLiteral as per ESTree AST spec
+ args.value = new RegExp(rx.pattern, rx.flags).toString();
+ } else {
+ // support legacy RegExp
+ args.value = M.regex && M.raw ? M.raw : val;
+ }
return new AST_RegExp(args);
}
},
@@ -334,7 +341,7 @@
};
});
- def_to_moz(AST_RegExp, function To_Moz_RegExp(M) {
+ def_to_moz(AST_RegExp, function To_Moz_RegExpLiteral(M) {
var value = M.value;
return {
type: "Literal",