Skip to content

Commit 2a67c6e

Browse files
author
Andy Hanson
committed
Add class expressions to navigation bar
1 parent f93077f commit 2a67c6e

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

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 (let 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) {
@@ -192,6 +193,11 @@ namespace ts.NavigationBar {
192193
addTopLevelNodes((<Block>functionDeclaration.body).statements, topLevelNodes);
193194
}
194195
break;
196+
197+
default:
198+
const childrens: Node[] = [];
199+
forEachChild(node, child => { childrens.push(child) });
200+
addTopLevelNodes(childrens, topLevelNodes);
195201
}
196202
}
197203
}
@@ -404,6 +410,7 @@ namespace ts.NavigationBar {
404410
case SyntaxKind.SourceFile:
405411
return createSourceFileItem(<SourceFile>node);
406412

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

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)