Have mozilla AST RegExpLiteral parser use regex.pattern and regex.flags rather than non-standard raw property.

This commit is contained in:
kzc
2015-11-02 12:24:09 -05:00
parent 37ee9de902
commit 94c4daaf9e

View File

@@ -146,7 +146,17 @@
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 = "/" + rx.pattern + "/";
if (rx.flags) {
args.value += rx.flags;
}
} else {
// support legacy RegExp
args.value = M.regex && M.raw ? M.raw : val;
}
return new AST_RegExp(args);
}
},
@@ -334,7 +344,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",