diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index d3a10ca0d1c..dfe7add357b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -9684,7 +9684,7 @@ module ts { } } } - else if (node.kind !== SyntaxKind.ExportAssignment && node.flags & NodeFlags.Export) { + else if (node.kind !== SyntaxKind.ExportAssignment && node.flags & NodeFlags.Export && !(node.flags & NodeFlags.Default)) { return true; } } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 24f2b23db60..03dc3912aea 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -501,7 +501,7 @@ module ts { } export interface FunctionDeclaration extends FunctionLikeDeclaration, Statement { - name: Identifier; + name?: Identifier; body?: Block; } @@ -825,7 +825,7 @@ module ts { } export interface ClassDeclaration extends Declaration, ModuleElement { - name: Identifier; + name?: Identifier; typeParameters?: NodeArray; heritageClauses?: NodeArray; members: NodeArray; diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index e32ac03caef..cb9c649c525 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -415,6 +415,11 @@ module ts.NavigationBar { } function createClassItem(node: ClassDeclaration): ts.NavigationBarItem { + if (!node.name) { + // An export default class may be nameless + return undefined; + } + var childItems: NavigationBarItem[]; if (node.members) {