mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-22 12:03:44 -05:00
Fixed crashed related to emptied labeled statements in converted loop bodies (#59434)
This commit is contained in:
committed by
GitHub
parent
574ae44fd4
commit
9757109caf
@@ -2946,7 +2946,7 @@ export function transformES2015(context: TransformationContext): (x: SourceFile
|
||||
const statement = unwrapInnermostStatementOfLabel(node, convertedLoopState && recordLabel);
|
||||
return isIterationStatement(statement, /*lookInLabeledStatements*/ false)
|
||||
? visitIterationStatement(statement, /*outermostLabeledStatement*/ node)
|
||||
: factory.restoreEnclosingLabel(Debug.checkDefined(visitNode(statement, visitor, isStatement, factory.liftToBlock)), node, convertedLoopState && resetLabel);
|
||||
: factory.restoreEnclosingLabel(visitNode(statement, visitor, isStatement, factory.liftToBlock) ?? setTextRange(factory.createEmptyStatement(), statement), node, convertedLoopState && resetLabel);
|
||||
}
|
||||
|
||||
function visitIterationStatement(node: IterationStatement, outermostLabeledStatement: LabeledStatement) {
|
||||
|
||||
@@ -993,7 +993,7 @@ export function transformModule(context: TransformationContext): (x: SourceFile
|
||||
return factory.updateLabeledStatement(
|
||||
node,
|
||||
node.label,
|
||||
visitNode(node.statement, topLevelNestedVisitor, isStatement, factory.liftToBlock) ?? factory.createExpressionStatement(factory.createIdentifier("")),
|
||||
visitNode(node.statement, topLevelNestedVisitor, isStatement, factory.liftToBlock) ?? setTextRange(factory.createEmptyStatement(), node.statement),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user