Account for interface extends clauses.
This commit is contained in:
parent
091e2344a3
commit
48de0b6ff6
1 changed files with 14 additions and 3 deletions
|
@ -14054,9 +14054,20 @@ namespace ts {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isHeritageClauseElementIdentifier(<EntityName>entityName)) {
|
if (isHeritageClauseElementIdentifier(<EntityName>entityName)) {
|
||||||
let meaning = entityName.parent.kind === SyntaxKind.ExpressionWithTypeArguments ?
|
let meaning = SymbolFlags.None;
|
||||||
(SymbolFlags.Value | SymbolFlags.Type) :
|
|
||||||
SymbolFlags.Namespace;
|
// In an interface or class, we're definitely interested in a type.
|
||||||
|
if (entityName.parent.kind === SyntaxKind.ExpressionWithTypeArguments) {
|
||||||
|
meaning = SymbolFlags.Type;
|
||||||
|
|
||||||
|
// In a class 'extends' clause we are also looking for a value.
|
||||||
|
if (isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent)) {
|
||||||
|
meaning |= SymbolFlags.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
meaning = SymbolFlags.Namespace;
|
||||||
|
}
|
||||||
|
|
||||||
meaning |= SymbolFlags.Alias;
|
meaning |= SymbolFlags.Alias;
|
||||||
return resolveEntityName(<EntityName>entityName, meaning);
|
return resolveEntityName(<EntityName>entityName, meaning);
|
||||||
|
|
Loading…
Reference in a new issue