Skip to content

Commit d80677b

Browse files
author
Andy Hanson
committed
Add class expressions to navigation bar
1 parent 3f9efa0 commit d80677b

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

src/services/navigationBar.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ namespace ts.NavigationBar {
159159

160160
for (const node of nodes) {
161161
switch (node.kind) {
162+
case SyntaxKind.ClassExpression:
162163
case SyntaxKind.ClassDeclaration:
163164
topLevelNodes.push(node);
164165
for (const member of (<ClassDeclaration>node).members) {
@@ -193,6 +194,11 @@ namespace ts.NavigationBar {
193194
addTopLevelNodes((<Block>functionDeclaration.body).statements, topLevelNodes);
194195
}
195196
break;
197+
198+
default:
199+
const childrens: Node[] = [];
200+
forEachChild(node, child => { childrens.push(child) });
201+
addTopLevelNodes(childrens, topLevelNodes);
196202
}
197203
}
198204
}
@@ -405,6 +411,7 @@ namespace ts.NavigationBar {
405411
case SyntaxKind.SourceFile:
406412
return createSourceFileItem(<SourceFile>node);
407413

414+
case SyntaxKind.ClassExpression:
408415
case SyntaxKind.ClassDeclaration:
409416
return createClassItem(<ClassDeclaration>node);
410417

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
////console.log(class A { b() {} });
4+
5+
debug.printNavigationBar();
6+
verify.navigationBarCount(2);
7+
verify.navigationBarContains("A", "class");
8+
verify.navigationBarChildItem("A", "b", "method");

0 commit comments

Comments
 (0)