Guard against undefined module bodies in navbar/navtree.

This commit is contained in:
Daniel Rosenwasser
2022-01-12 01:21:48 +00:00
committed by GitHub
parent f230a5af47
commit 3ba84692c6
+4 -1
View File
@@ -650,7 +650,10 @@ namespace ts.NavigationBar {
// We use 1 NavNode to represent 'A.B.C', but there are multiple source nodes.
// Only merge module nodes that have the same chain. Don't merge 'A.B.C' with 'A'!
function areSameModule(a: ModuleDeclaration, b: ModuleDeclaration): boolean {
return a.body!.kind === b.body!.kind && (a.body!.kind !== SyntaxKind.ModuleDeclaration || areSameModule(a.body as ModuleDeclaration, b.body as ModuleDeclaration));
if (!a.body || !b.body) {
return a.body === b.body;
}
return a.body.kind === b.body.kind && (a.body.kind !== SyntaxKind.ModuleDeclaration || areSameModule(a.body as ModuleDeclaration, b.body as ModuleDeclaration));
}
/** Merge source into target. Source should be thrown away after this is called. */