File tree Expand file tree Collapse file tree 2 files changed +29
-8
lines changed
Expand file tree Collapse file tree 2 files changed +29
-8
lines changed Original file line number Diff line number Diff line change @@ -418,10 +418,10 @@ module ts.NavigationBar {
418418 }
419419
420420 function createFunctionItem ( node : FunctionDeclaration ) {
421- if ( node . name && node . body && node . body . kind === SyntaxKind . Block ) {
421+ if ( ( node . name || node . flags & NodeFlags . Default ) && node . body && node . body . kind === SyntaxKind . Block ) {
422422 let childItems = getItemsWorker ( sortNodes ( ( < Block > node . body ) . statements ) , createChildItem ) ;
423423
424- return getNavigationBarItem ( node . name . text ,
424+ return getNavigationBarItem ( ( ! node . name && node . flags & NodeFlags . Default ) ? "default" : node . name . text ,
425425 ts . ScriptElementKind . functionElement ,
426426 getNodeModifiers ( node ) ,
427427 [ getNodeSpan ( node ) ] ,
@@ -452,11 +452,6 @@ module ts.NavigationBar {
452452 }
453453
454454 function createClassItem ( node : ClassDeclaration ) : ts . NavigationBarItem {
455- if ( ! node . name ) {
456- // An export default class may be nameless
457- return undefined ;
458- }
459-
460455 let childItems : NavigationBarItem [ ] ;
461456
462457 if ( node . members ) {
@@ -475,8 +470,10 @@ module ts.NavigationBar {
475470 childItems = getItemsWorker ( sortNodes ( nodes ) , createChildItem ) ;
476471 }
477472
473+ var nodeName = ! node . name && ( node . flags & NodeFlags . Default ) ? "default" : node . name . text ;
474+
478475 return getNavigationBarItem (
479- node . name . text ,
476+ nodeName ,
480477 ts . ScriptElementKind . classElement ,
481478 getNodeModifiers ( node ) ,
482479 [ getNodeSpan ( node ) ] ,
Original file line number Diff line number Diff line change 1+ /// <reference path="fourslash.ts" />
2+
3+ // @Filename : a.ts
4+ //// {| "itemName": "default", "kind": "class", "parentName": "" |}export default class { }
5+
6+ // @Filename : b.ts
7+ //// {| "itemName": "C", "kind": "class", "parentName": "" |}export default class C { }
8+
9+ // @Filename : c.ts
10+ //// {| "itemName": "default", "kind": "function", "parentName": "" |}export default function { }
11+
12+ // @Filename : d.ts
13+ //// {| "itemName": "Func", "kind": "function", "parentName": "" |}export default function Func { }
14+
15+ test . markers ( ) . forEach ( marker => {
16+ goTo . file ( marker . fileName ) ;
17+ verify . getScriptLexicalStructureListContains (
18+ marker . data . itemName ,
19+ marker . data . kind ,
20+ marker . fileName ,
21+ marker . data . parentName ,
22+ marker . data . isAdditionalRange ,
23+ marker . position ) ;
24+ } ) ;
You can’t perform that action at this time.
0 commit comments