Skip to content

Commit 0487e3b

Browse files
committed
Improve checking
1. getTypeAtLocation never returns undefined, only errorType, so check for that. 2. Return directly after missing baseTypeNode instead of continuing to return later.
1 parent 2710ea8 commit 0487e3b

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/services/goToDefinition.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,13 @@ namespace ts.GoToDefinition {
171171
if (!baseDeclaration) return;
172172

173173
const baseTypeNode = getEffectiveBaseTypeNode(baseDeclaration);
174-
const baseType = baseTypeNode ? typeChecker.getTypeAtLocation(baseTypeNode) : undefined;
175-
if (!baseType) return;
174+
if (!baseTypeNode) return;
175+
const baseType = typeChecker.getTypeAtLocation(baseTypeNode);
176+
if (!baseType.symbol) return;
176177

177178
const name = unescapeLeadingUnderscores(getTextOfPropertyName(classElement.name));
178179
const symbol = hasStaticModifier(classElement)
179-
? baseType.symbol && typeChecker.getPropertyOfType(typeChecker.getTypeOfSymbolAtLocation(baseType.symbol, baseDeclaration), name)
180+
? typeChecker.getPropertyOfType(typeChecker.getTypeOfSymbolAtLocation(baseType.symbol, baseDeclaration), name)
180181
: typeChecker.getPropertyOfType(baseType, name);
181182
if (!symbol) return;
182183

0 commit comments

Comments
 (0)