Skip to content

Commit c53ae34

Browse files
committed
Merge branch 'es2015-cleanup' into es6-new-target
2 parents 5f32d3b + fa53eb1 commit c53ae34

File tree

3 files changed

+154
-215
lines changed

3 files changed

+154
-215
lines changed

src/compiler/factory.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1754,17 +1754,21 @@ namespace ts {
17541754

17551755
// Utilities
17561756

1757-
export function restoreEnclosingLabels(node: Statement, enclosingLabeledStatements: LabeledStatement[]) {
1758-
if (enclosingLabeledStatements) {
1759-
for (const labeledStatement of enclosingLabeledStatements) {
1760-
node = updateLabel(
1761-
labeledStatement,
1762-
labeledStatement.label,
1763-
node
1764-
);
1765-
}
1757+
export function restoreEnclosingLabel(node: Statement, outermostLabeledStatement: LabeledStatement, afterRestoreLabelCallback?: (node: LabeledStatement) => void): Statement {
1758+
if (!outermostLabeledStatement) {
1759+
return node;
17661760
}
1767-
return node;
1761+
const updated = updateLabel(
1762+
outermostLabeledStatement,
1763+
outermostLabeledStatement.label,
1764+
outermostLabeledStatement.statement.kind === SyntaxKind.LabeledStatement
1765+
? restoreEnclosingLabel(node, <LabeledStatement>outermostLabeledStatement.statement)
1766+
: node
1767+
);
1768+
if (afterRestoreLabelCallback) {
1769+
afterRestoreLabelCallback(outermostLabeledStatement);
1770+
}
1771+
return updated;
17681772
}
17691773

17701774
export interface CallBinding {

0 commit comments

Comments
 (0)