mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Get correct kind for generic symbol completion entries
This commit is contained in:
@@ -7145,7 +7145,7 @@ module ts {
|
||||
}
|
||||
|
||||
function getRootSymbol(symbol: Symbol) {
|
||||
return (symbol.flags & SymbolFlags.Transient) ? getSymbolLinks(symbol).target : symbol;
|
||||
return (symbol.flags & SymbolFlags.Transient) && getSymbolLinks(symbol).target || symbol;
|
||||
}
|
||||
|
||||
// Emitter support
|
||||
|
||||
@@ -1592,7 +1592,6 @@ module ts {
|
||||
}
|
||||
|
||||
var declarations = symbol.getDeclarations();
|
||||
var firstDeclaration = [0];
|
||||
return {
|
||||
name: displayName,
|
||||
kind: getSymbolKind(symbol),
|
||||
@@ -1956,7 +1955,7 @@ module ts {
|
||||
}
|
||||
|
||||
function getSymbolKind(symbol: Symbol): string {
|
||||
var flags = symbol.getFlags();
|
||||
var flags = typeInfoResolver.getRootSymbol(symbol).getFlags();
|
||||
|
||||
if (flags & SymbolFlags.Module) return ScriptElementKind.moduleElement;
|
||||
if (flags & SymbolFlags.Class) return ScriptElementKind.classElement;
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// Ensure kind is set correctelly on completions of a generic symbol
|
||||
|
||||
////var a = [1,2,3];
|
||||
////a./**/
|
||||
|
||||
goTo.marker();
|
||||
verify.memberListContains('length', "number", /*docComments*/ undefined, /*fullSymbolName*/ undefined,/*kind*/ "property");
|
||||
verify.memberListContains('toString', "() => string", /*docComments*/ undefined, /*fullSymbolName*/ undefined,/*kind*/ "method");
|
||||
|
||||
Reference in New Issue
Block a user