diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index a32a82ecf1016..197e91ac38310 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -359,6 +359,7 @@ namespace ts { case SyntaxKind.TemplateTail: return "}" + escapeText(node.text, CharacterCodes.backtick) + "`"; case SyntaxKind.NumericLiteral: + case SyntaxKind.RegularExpressionLiteral: return node.text; } diff --git a/src/harness/unittests/printer.ts b/src/harness/unittests/printer.ts index 23e301f366920..825bfddbb4a46 100644 --- a/src/harness/unittests/printer.ts +++ b/src/harness/unittests/printer.ts @@ -56,6 +56,9 @@ namespace ts { // github #14948 printsCorrectly("templateLiteral", {}, printer => printer.printFile(createSourceFile("source.ts", "let greeting = `Hi ${name}, how are you?`;", ScriptTarget.ES2017))); + + // github #18071 + printsCorrectly("regularExpressionLiteral", {}, printer => printer.printFile(createSourceFile("source.ts", "let regex = /abc/;", ScriptTarget.ES2017))); }); describe("printBundle", () => { diff --git a/tests/baselines/reference/printerApi/printsFileCorrectly.regularExpressionLiteral.js b/tests/baselines/reference/printerApi/printsFileCorrectly.regularExpressionLiteral.js new file mode 100644 index 0000000000000..309f689977974 --- /dev/null +++ b/tests/baselines/reference/printerApi/printsFileCorrectly.regularExpressionLiteral.js @@ -0,0 +1 @@ +let regex = /abc/;