From 3e329469c11cb757aa5456413f59cbd878a4c007 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 22 Nov 2019 14:36:22 -0800 Subject: [PATCH] Actually use the moer complete update function in visitEachChild (#35301) --- src/compiler/visitor.ts | 3 ++- src/testRunner/unittests/transform.ts | 11 +++++++++++ ...Correctly.transformDefiniteAssignmentAssertions.js | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/transformApi/transformsCorrectly.transformDefiniteAssignmentAssertions.js diff --git a/src/compiler/visitor.ts b/src/compiler/visitor.ts index 4f36ccb1b90..f9ce78293e4 100644 --- a/src/compiler/visitor.ts +++ b/src/compiler/visitor.ts @@ -702,8 +702,9 @@ namespace ts { visitNode((node).finallyBlock, visitor, isBlock)); case SyntaxKind.VariableDeclaration: - return updateVariableDeclaration(node, + return updateTypeScriptVariableDeclaration(node, visitNode((node).name, visitor, isBindingName), + visitNode((node).exclamationToken, tokenVisitor, isToken), visitNode((node).type, visitor, isTypeNode), visitNode((node).initializer, visitor, isExpression)); diff --git a/src/testRunner/unittests/transform.ts b/src/testRunner/unittests/transform.ts index bcb0c93d1a8..fd5b54d3565 100644 --- a/src/testRunner/unittests/transform.ts +++ b/src/testRunner/unittests/transform.ts @@ -97,6 +97,17 @@ namespace ts { ]); }); + testBaseline("transformDefiniteAssignmentAssertions", () => { + return transformSourceFile(`let a!: () => void`, [ + context => file => visitNode(file, function visitor(node: Node): VisitResult { + if (node.kind === SyntaxKind.VoidKeyword) { + return createIdentifier("undefined"); + } + return visitEachChild(node, visitor, context); + }) + ]); + }); + testBaseline("fromTranspileModule", () => { return transpileModule(`var oldName = undefined;`, { transformers: { diff --git a/tests/baselines/reference/transformApi/transformsCorrectly.transformDefiniteAssignmentAssertions.js b/tests/baselines/reference/transformApi/transformsCorrectly.transformDefiniteAssignmentAssertions.js new file mode 100644 index 00000000000..cbcf5f6a820 --- /dev/null +++ b/tests/baselines/reference/transformApi/transformsCorrectly.transformDefiniteAssignmentAssertions.js @@ -0,0 +1 @@ +let a!: () => undefined;