diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index b66497fc40d..82cfd59a5d6 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -519,17 +519,17 @@ module ts { bindBlockScopedDeclaration(node, SymbolFlags.Class, SymbolFlags.ClassExcludes); break; case SyntaxKind.InterfaceDeclaration: - bindDeclaration(node, SymbolFlags.Interface, SymbolFlags.InterfaceExcludes, /*isBlockScopeContainer*/ false); + bindBlockScopedDeclaration(node, SymbolFlags.Interface, SymbolFlags.InterfaceExcludes); break; case SyntaxKind.TypeAliasDeclaration: - bindDeclaration(node, SymbolFlags.TypeAlias, SymbolFlags.TypeAliasExcludes, /*isBlockScopeContainer*/ false); + bindBlockScopedDeclaration(node, SymbolFlags.TypeAlias, SymbolFlags.TypeAliasExcludes); break; case SyntaxKind.EnumDeclaration: if (isConst(node)) { - bindDeclaration(node, SymbolFlags.ConstEnum, SymbolFlags.ConstEnumExcludes, /*isBlockScopeContainer*/ false); + bindBlockScopedDeclaration(node, SymbolFlags.ConstEnum, SymbolFlags.ConstEnumExcludes); } else { - bindDeclaration(node, SymbolFlags.RegularEnum, SymbolFlags.RegularEnumExcludes, /*isBlockScopeContainer*/ false); + bindBlockScopedDeclaration(node, SymbolFlags.RegularEnum, SymbolFlags.RegularEnumExcludes); } break; case SyntaxKind.ModuleDeclaration: diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 30c9c01e742..f2b951b7d90 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -3654,18 +3654,15 @@ module ts { switch (token) { case SyntaxKind.VarKeyword: case SyntaxKind.LetKeyword: + case SyntaxKind.ConstKeyword: case SyntaxKind.FunctionKeyword: case SyntaxKind.ClassKeyword: - return StatementFlags.Statement; case SyntaxKind.EnumKeyword: - return StatementFlags.ModuleElement; - case SyntaxKind.ConstKeyword: - nextToken(); - return token === SyntaxKind.EnumKeyword ? StatementFlags.ModuleElement : StatementFlags.Statement; + return StatementFlags.Statement; case SyntaxKind.InterfaceKeyword: case SyntaxKind.TypeKeyword: nextToken(); - return isIdentifierOrKeyword() ? StatementFlags.ModuleElement : 0; + return isIdentifierOrKeyword() ? StatementFlags.Statement : 0; case SyntaxKind.ModuleKeyword: case SyntaxKind.NamespaceKeyword: nextToken(); @@ -3708,6 +3705,7 @@ module ts { case SyntaxKind.LetKeyword: case SyntaxKind.FunctionKeyword: case SyntaxKind.ClassKeyword: + case SyntaxKind.EnumKeyword: case SyntaxKind.IfKeyword: case SyntaxKind.DoKeyword: case SyntaxKind.WhileKeyword: @@ -3726,9 +3724,6 @@ module ts { case SyntaxKind.FinallyKeyword: return StatementFlags.Statement; - case SyntaxKind.EnumKeyword: - return StatementFlags.ModuleElement; - case SyntaxKind.ConstKeyword: case SyntaxKind.ExportKeyword: case SyntaxKind.ImportKeyword: