diff --git a/escodegen.js b/escodegen.js index 41b3850f..1874d4a8 100644 --- a/escodegen.js +++ b/escodegen.js @@ -2308,6 +2308,10 @@ } } + if (expr.regex) { + return '/' + expr.regex.pattern + '/' + expr.regex.flags; + } + if (expr.value === null) { return 'null'; } @@ -2324,9 +2328,6 @@ return expr.value ? 'true' : 'false'; } - if (expr.regex) { - return '/' + expr.regex.pattern + '/' + expr.regex.flags; - } return generateRegExp(expr.value); }, diff --git a/test/test.js b/test/test.js index a21cd487..c2baaafa 100644 --- a/test/test.js +++ b/test/test.js @@ -4429,6 +4429,32 @@ data = { value: '/[P QR]/\\g', range: [8, 18] }] + }, + + 'var x = /foo/i;': { + generateFrom: { + type: 'Program', + body: [{ + type: 'VariableDeclaration', + kind: 'var', + declarations: [{ + type: 'VariableDeclarator', + id: { + type: 'Identifier', + name: 'x', + }, + init: { + type: 'Literal', + value: null, + raw: '/foo/i', + regex: { + pattern: 'foo', + flags: 'i' + } + }, + }] + }], + } } },