diff --git a/src/compiler/transformers/es6.ts b/src/compiler/transformers/es6.ts index ed5659e8a3f..df21df5e1fb 100644 --- a/src/compiler/transformers/es6.ts +++ b/src/compiler/transformers/es6.ts @@ -224,7 +224,7 @@ namespace ts { : visitorWorker(node); } - function saveStateAndInvoke(node: Node, f: (node: Node) => T): T { + function saveStateAndInvoke(node: T, f: (node: T) => U): U { const savedEnclosingFunction = enclosingFunction; const savedEnclosingNonArrowFunction = enclosingNonArrowFunction; const savedEnclosingNonAsyncFunctionBody = enclosingNonAsyncFunctionBody; @@ -867,7 +867,7 @@ namespace ts { } if (constructor) { - const body = saveStateAndInvoke(constructor, makeTransformerForConstructorBodyAtOffset(statementOffset)); + const body = saveStateAndInvoke(constructor, constructor => visitNodes(constructor.body.statements, visitor, isStatement, /*start*/ statementOffset)); addRange(statements, body); } @@ -900,10 +900,6 @@ namespace ts { return block; } - function makeTransformerForConstructorBodyAtOffset(offset: number): (c: ConstructorDeclaration) => NodeArray { - return constructor => visitNodes(constructor.body.statements, visitor, isStatement, /*start*/ offset); - } - /** * We want to try to avoid emitting a return statement in certain cases if a user already returned something. * It would be pointless and generate dead code, so we'll try to make things a little bit prettier