Skip to content

Commit 4442b45

Browse files
committed
Add a temporary fix to quick info
1 parent 2ce627c commit 4442b45

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

src/services/services.ts

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2404,31 +2404,34 @@ module ts {
24042404

24052405
var documentationParts = getSymbolDocumentationDisplayParts(symbol);
24062406

2407+
// TODO: handle union properties appropriately when merging with master
2408+
var symbolFlags = typeInfoResolver.getRootSymbols(symbol)[0].flags;
2409+
24072410
// Having all this logic here is pretty unclean. Consider moving to the roslyn model
24082411
// where all symbol display logic is encapsulated into visitors and options.
24092412
var totalParts: SymbolDisplayPart[] = [];
24102413

2411-
if (symbol.flags & SymbolFlags.Class) {
2414+
if (symbolFlags & SymbolFlags.Class) {
24122415
totalParts.push(keywordPart(SyntaxKind.ClassKeyword));
24132416
totalParts.push(spacePart());
24142417
totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol, sourceFile));
24152418
}
2416-
else if (symbol.flags & SymbolFlags.Interface) {
2419+
else if (symbolFlags & SymbolFlags.Interface) {
24172420
totalParts.push(keywordPart(SyntaxKind.InterfaceKeyword));
24182421
totalParts.push(spacePart());
24192422
totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol, sourceFile));
24202423
}
2421-
else if (symbol.flags & SymbolFlags.Enum) {
2424+
else if (symbolFlags & SymbolFlags.Enum) {
24222425
totalParts.push(keywordPart(SyntaxKind.EnumKeyword));
24232426
totalParts.push(spacePart());
24242427
totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol, sourceFile));
24252428
}
2426-
else if (symbol.flags & SymbolFlags.Module) {
2429+
else if (symbolFlags & SymbolFlags.Module) {
24272430
totalParts.push(keywordPart(SyntaxKind.ModuleKeyword));
24282431
totalParts.push(spacePart());
24292432
totalParts.push.apply(totalParts, typeInfoResolver.symbolToDisplayParts(symbol, sourceFile));
24302433
}
2431-
else if (symbol.flags & SymbolFlags.TypeParameter) {
2434+
else if (symbolFlags & SymbolFlags.TypeParameter) {
24322435
totalParts.push(punctuationPart(SyntaxKind.OpenParenToken));
24332436
totalParts.push(new SymbolDisplayPart("type parameter", SymbolDisplayPartKind.text, undefined));
24342437
totalParts.push(punctuationPart(SyntaxKind.CloseParenToken));
@@ -2439,11 +2442,11 @@ module ts {
24392442
totalParts.push(punctuationPart(SyntaxKind.OpenParenToken));
24402443
var text: string;
24412444

2442-
if (symbol.flags & SymbolFlags.Property) { text = "property" }
2443-
else if (symbol.flags & SymbolFlags.EnumMember) { text = "enum member" }
2444-
else if (symbol.flags & SymbolFlags.Function) { text = "function" }
2445-
else if (symbol.flags & SymbolFlags.Variable) { text = "variable" }
2446-
else if (symbol.flags & SymbolFlags.Method) { text = "method" }
2445+
if (symbolFlags & SymbolFlags.Property) { text = "property" }
2446+
else if (symbolFlags & SymbolFlags.EnumMember) { text = "enum member" }
2447+
else if (symbolFlags & SymbolFlags.Function) { text = "function" }
2448+
else if (symbolFlags & SymbolFlags.Variable) { text = "variable" }
2449+
else if (symbolFlags & SymbolFlags.Method) { text = "method" }
24472450

24482451
if (!text) {
24492452
return undefined;
@@ -2457,22 +2460,22 @@ module ts {
24572460

24582461
var type = typeInfoResolver.getTypeOfSymbol(symbol);
24592462

2460-
if (symbol.flags & SymbolFlags.Property ||
2461-
symbol.flags & SymbolFlags.Variable) {
2463+
if (symbolFlags & SymbolFlags.Property ||
2464+
symbolFlags & SymbolFlags.Variable) {
24622465

24632466
if (type) {
24642467
totalParts.push(punctuationPart(SyntaxKind.ColonToken));
24652468
totalParts.push(spacePart());
24662469
totalParts.push.apply(totalParts, typeInfoResolver.typeToDisplayParts(type, getContainerNode(node)));
24672470
}
24682471
}
2469-
else if (symbol.flags & SymbolFlags.Function ||
2470-
symbol.flags & SymbolFlags.Method) {
2472+
else if (symbolFlags & SymbolFlags.Function ||
2473+
symbolFlags & SymbolFlags.Method) {
24712474
if (type) {
24722475
totalParts.push.apply(totalParts, typeInfoResolver.typeToDisplayParts(type, getContainerNode(node)));
24732476
}
24742477
}
2475-
else if (symbol.flags & SymbolFlags.EnumMember) {
2478+
else if (symbolFlags & SymbolFlags.EnumMember) {
24762479
var declaration = symbol.declarations[0];
24772480
if (declaration.kind === SyntaxKind.EnumMember) {
24782481
var constantValue = typeInfoResolver.getEnumMemberValue(<EnumMember>declaration);

0 commit comments

Comments
 (0)