mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-04 21:53:42 -06:00
Fix empty statement handling in using declaration for-of loops
Co-authored-by: weswigham <2932786+weswigham@users.noreply.github.com>
This commit is contained in:
parent
0b3bf33a8e
commit
957cf79304
@ -317,8 +317,11 @@ export function transformESNext(context: TransformationContext): (x: SourceFile
|
||||
const usingVarStatement = factory.createVariableStatement(/*modifiers*/ undefined, usingVarList);
|
||||
|
||||
// Wrap the original loop body in an additional block scope to handle shadowing
|
||||
// Don't create an extra block if the original statement is empty
|
||||
const isEmptyBlock = isBlock(node.statement) && node.statement.statements.length === 0;
|
||||
// Don't create an extra block if the original statement is empty or contains only empty statements
|
||||
const isEmptyBlock = isBlock(node.statement) && (
|
||||
node.statement.statements.length === 0 ||
|
||||
node.statement.statements.every(stmt => stmt.kind === SyntaxKind.EmptyStatement)
|
||||
);
|
||||
const shouldWrapInBlock = !isEmptyBlock;
|
||||
|
||||
const statements: Statement[] = [usingVarStatement];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user