From fe931e70bdeac6cfabe0d877510d2d589c2dba7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Santos?= Date: Thu, 5 Sep 2019 14:20:52 +0100 Subject: [PATCH] support 'regex' property when 'value' is null --- escodegen.js | 7 ++++--- test/test.js | 26 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) 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' + } + }, + }] + }], + } } },