Skip to content

Commit 9579094

Browse files
committed
bring back IsControlFlowContainer
1 parent 3c573f7 commit 9579094

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

src/compiler/binder.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3843,27 +3843,28 @@ export function getContainerFlags(node: Node): ContainerFlags {
38433843
// falls through
38443844
case SyntaxKind.Constructor:
38453845
case SyntaxKind.FunctionDeclaration:
3846-
case SyntaxKind.ClassStaticBlockDeclaration:
3847-
return ContainerFlags.IsContainer | ContainerFlags.IsControlFlowContainer | ContainerFlags.HasLocals | ContainerFlags.IsFunctionLike;
38483846
case SyntaxKind.MethodSignature:
38493847
case SyntaxKind.CallSignature:
38503848
case SyntaxKind.JSDocSignature:
38513849
case SyntaxKind.JSDocFunctionType:
38523850
case SyntaxKind.FunctionType:
38533851
case SyntaxKind.ConstructSignature:
38543852
case SyntaxKind.ConstructorType:
3855-
return ContainerFlags.IsContainer | ContainerFlags.HasLocals | ContainerFlags.IsFunctionLike;
3853+
case SyntaxKind.ClassStaticBlockDeclaration:
3854+
return ContainerFlags.IsContainer | ContainerFlags.IsControlFlowContainer | ContainerFlags.HasLocals | ContainerFlags.IsFunctionLike;
38563855

38573856
case SyntaxKind.JSDocImportTag:
38583857
// treat as a container to prevent using an enclosing effective host, ensuring import bindings are scoped correctly
3859-
return ContainerFlags.IsContainer | ContainerFlags.HasLocals;
3858+
return ContainerFlags.IsContainer | ContainerFlags.IsControlFlowContainer | ContainerFlags.HasLocals;
38603859

38613860
case SyntaxKind.FunctionExpression:
38623861
case SyntaxKind.ArrowFunction:
38633862
return ContainerFlags.IsContainer | ContainerFlags.IsControlFlowContainer | ContainerFlags.HasLocals | ContainerFlags.IsFunctionLike | ContainerFlags.IsFunctionExpression;
38643863

38653864
case SyntaxKind.ModuleBlock:
38663865
return ContainerFlags.IsControlFlowContainer;
3866+
case SyntaxKind.PropertyDeclaration:
3867+
return (node as PropertyDeclaration).initializer ? ContainerFlags.IsControlFlowContainer : 0;
38673868

38683869
case SyntaxKind.CatchClause:
38693870
case SyntaxKind.ForStatement:

0 commit comments

Comments
 (0)