Skip to content

Commit 6ef2904

Browse files
committed
Unify static/instance node->symbol->type path
1 parent 13c7008 commit 6ef2904

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/services/goToDefinition.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,14 @@ namespace ts.GoToDefinition {
172172

173173
const baseTypeNode = getEffectiveBaseTypeNode(baseDeclaration);
174174
if (!baseTypeNode) return;
175-
const base = typeChecker.getSymbolAtLocation(baseTypeNode);
175+
const expression = skipParentheses(baseTypeNode.expression);
176+
const base = isClassExpression(expression) ? expression.symbol : typeChecker.getSymbolAtLocation(expression);
176177
if (!base) return;
177178

178179
const name = unescapeLeadingUnderscores(getTextOfPropertyName(classElement.name));
179180
const symbol = hasStaticModifier(classElement)
180-
? typeChecker.getPropertyOfType(typeChecker.getDeclaredTypeOfSymbol(base), name)
181-
: typeChecker.getPropertyOfType(typeChecker.getTypeOfSymbolAtLocation(base, baseDeclaration), name);
181+
? typeChecker.getPropertyOfType(typeChecker.getTypeOfSymbol(base), name)
182+
: typeChecker.getPropertyOfType(typeChecker.getDeclaredTypeOfSymbol(base), name)
182183
if (!symbol) return;
183184

184185
return getDefinitionFromSymbol(typeChecker, symbol, node);

0 commit comments

Comments
 (0)