diff options
author | Mihai Bazon <mihai.bazon@gmail.com> | 2015-11-10 10:12:30 +0200 |
---|---|---|
committer | Mihai Bazon <mihai.bazon@gmail.com> | 2015-11-10 10:12:30 +0200 |
commit | 3c4346728e5067608b6393ba98e24849ac22adea (patch) | |
tree | cbbe09a3f9a99b8fbab0c395e2ee586c38dd9311 | |
parent | 18d37ac761d8f9bb3904d447ddbb0ac471fc161c (diff) | |
parent | 7dbe961b2d49533d54dfe5263f94de27de043316 (diff) | |
download | tracifyjs-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.js | 11 |
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", |