From 66e1e47d2e261a15284173a4cb748e0f5e4ce8ab Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 7 Oct 2014 14:06:21 -0700 Subject: [PATCH] Use local meaning for variables in quick info. This means we no longer indicate a variable is an interface if it shares the a name with one. --- src/services/services.ts | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 8fa7863eb61..2d7f2cce00d 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2395,11 +2395,6 @@ module ts { totalParts.push(spacePart()); totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol, sourceFile)); } - else if (symbol.flags & SymbolFlags.Interface) { - totalParts.push(keywordPart(SyntaxKind.InterfaceKeyword)); - totalParts.push(spacePart()); - totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol, sourceFile)); - } else if (symbol.flags & SymbolFlags.Enum) { totalParts.push(keywordPart(SyntaxKind.EnumKeyword)); totalParts.push(spacePart()); @@ -2410,12 +2405,19 @@ module ts { totalParts.push(spacePart()); totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol, sourceFile)); } - else if (symbol.flags & SymbolFlags.TypeParameter) { - totalParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - totalParts.push(new SymbolDisplayPart("type parameter", SymbolDisplayPartKind.text, undefined)); - totalParts.push(punctuationPart(SyntaxKind.CloseParenToken)); - totalParts.push(spacePart()); - totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol)); + else if (getMeaningFromLocation(node) === SemanticMeaning.Type) { + if (symbol.flags & SymbolFlags.Interface) { + totalParts.push(keywordPart(SyntaxKind.InterfaceKeyword)); + totalParts.push(spacePart()); + totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol, sourceFile)); + } + else if (symbol.flags & SymbolFlags.TypeParameter) { + totalParts.push(punctuationPart(SyntaxKind.OpenParenToken)); + totalParts.push(new SymbolDisplayPart("type parameter", SymbolDisplayPartKind.text, undefined)); + totalParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + totalParts.push(spacePart()); + totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol)); + } } else { totalParts.push(punctuationPart(SyntaxKind.OpenParenToken));