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 {
418
418
}
419
419
420
420
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 ) {
422
422
let childItems = getItemsWorker ( sortNodes ( ( < Block > node . body ) . statements ) , createChildItem ) ;
423
423
424
- return getNavigationBarItem ( node . name . text ,
424
+ return getNavigationBarItem ( ( ! node . name && node . flags & NodeFlags . Default ) ? "default" : node . name . text ,
425
425
ts . ScriptElementKind . functionElement ,
426
426
getNodeModifiers ( node ) ,
427
427
[ getNodeSpan ( node ) ] ,
@@ -452,11 +452,6 @@ module ts.NavigationBar {
452
452
}
453
453
454
454
function createClassItem ( node : ClassDeclaration ) : ts . NavigationBarItem {
455
- if ( ! node . name ) {
456
- // An export default class may be nameless
457
- return undefined ;
458
- }
459
-
460
455
let childItems : NavigationBarItem [ ] ;
461
456
462
457
if ( node . members ) {
@@ -475,8 +470,10 @@ module ts.NavigationBar {
475
470
childItems = getItemsWorker ( sortNodes ( nodes ) , createChildItem ) ;
476
471
}
477
472
473
+ var nodeName = ! node . name && ( node . flags & NodeFlags . Default ) ? "default" : node . name . text ;
474
+
478
475
return getNavigationBarItem (
479
- node . name . text ,
476
+ nodeName ,
480
477
ts . ScriptElementKind . classElement ,
481
478
getNodeModifiers ( node ) ,
482
479
[ 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