mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-18 05:26:13 -05:00
Component commits:
ffc82db6fc Fix visitLexicalEnvironment to properly merge hoisted declarations
This commit is contained in:
committed by
Ron Buckton
parent
a109d14644
commit
cd32df66ec
@@ -141,11 +141,8 @@ namespace ts {
|
||||
export function visitLexicalEnvironment(statements: NodeArray<Statement>, visitor: Visitor, context: TransformationContext, start?: number, ensureUseStrict?: boolean) {
|
||||
context.startLexicalEnvironment();
|
||||
statements = visitNodes(statements, visitor, isStatement, start);
|
||||
if (ensureUseStrict && !startsWithUseStrict(statements)) {
|
||||
statements = setTextRange(createNodeArray([createExpressionStatement(createLiteral("use strict")), ...statements]), statements);
|
||||
}
|
||||
const declarations = context.endLexicalEnvironment();
|
||||
return setTextRange(createNodeArray(concatenate(declarations, statements)), statements);
|
||||
if (ensureUseStrict) statements = ts.ensureUseStrict(statements); // tslint:disable-line no-unnecessary-qualifier
|
||||
return mergeLexicalEnvironment(statements, context.endLexicalEnvironment());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user