@@ -495,7 +495,7 @@ module ts {
495
495
getCompletionEntryDetails ( fileName : string , position : number , entryName : string ) : CompletionEntryDetails ;
496
496
497
497
getTypeAtPosition ( fileName : string , position : number ) : TypeInfo ;
498
- getQuickInfo ( fileName : string , position : number ) : SymbolDisplayPart [ ] ;
498
+ getQuickInfo ( fileName : string , position : number ) : QuickInfo ;
499
499
500
500
getNameOrDottedNameSpan ( fileName : string , startPos : number , endPos : number ) : TypeScript . TextSpan ;
501
501
@@ -1722,11 +1722,10 @@ module ts {
1722
1722
return undefined ;
1723
1723
}
1724
1724
1725
- var declarations = symbol . getDeclarations ( ) ;
1726
1725
return {
1727
1726
name : displayName ,
1728
1727
kind : getSymbolKind ( symbol ) ,
1729
- kindModifiers : declarations ? getNodeModifiers ( declarations [ 0 ] ) : ScriptElementKindModifier . none
1728
+ kindModifiers : getSymbolModifiers ( symbol )
1730
1729
} ;
1731
1730
}
1732
1731
@@ -2207,6 +2206,12 @@ module ts {
2207
2206
}
2208
2207
}
2209
2208
2209
+ function getSymbolModifiers ( symbol : Symbol ) : string {
2210
+ return symbol && symbol . declarations && symbol . declarations . length > 0
2211
+ ? getNodeModifiers ( symbol . declarations [ 0 ] )
2212
+ : ScriptElementKindModifier . none ;
2213
+ }
2214
+
2210
2215
function getNodeModifiers ( node : Node ) : string {
2211
2216
var flags = node . flags ;
2212
2217
var result : string [ ] = [ ] ;
@@ -2221,7 +2226,7 @@ module ts {
2221
2226
}
2222
2227
2223
2228
/// QuickInfo
2224
- function getQuickInfo ( fileName : string , position : number ) : SymbolDisplayPart [ ] {
2229
+ function getQuickInfo ( fileName : string , position : number ) : QuickInfo {
2225
2230
synchronizeHostData ( ) ;
2226
2231
2227
2232
fileName = TypeScript . switchToForwardSlashes ( fileName ) ;
@@ -2232,16 +2237,15 @@ module ts {
2232
2237
}
2233
2238
2234
2239
var symbol = typeInfoResolver . getSymbolInfo ( node ) ;
2235
- return symbol ? typeInfoResolver . symbolToDisplayParts ( symbol ) : [ ] ;
2236
- //var type = symbol && typeInfoResolver.getTypeOfSymbol(symbol);
2237
- //if (type) {
2238
- // return new TypeInfo(
2239
- // new TypeScript.MemberNameString(typeInfoResolver.typeToString(type)),
2240
- // "", typeInfoResolver.symbolToString(symbol, getContainerNode(node)),
2241
- // getSymbolKind(symbol), TypeScript.TextSpan.fromBounds(node.pos, node.end));
2242
- //}
2240
+ if ( ! symbol ) {
2241
+ return undefined ;
2242
+ }
2243
2243
2244
- //return undefined;
2244
+ return new QuickInfo (
2245
+ getSymbolKind ( symbol ) ,
2246
+ getSymbolModifiers ( symbol ) ,
2247
+ new TypeScript . TextSpan ( node . getStart ( ) , node . getWidth ( ) ) ,
2248
+ typeInfoResolver . symbolToDisplayParts ( symbol ) ) ;
2245
2249
}
2246
2250
2247
2251
function getTypeAtPosition ( fileName : string , position : number ) : TypeInfo {
@@ -4038,7 +4042,7 @@ module ts {
4038
4042
var kind = getSymbolKind ( symbol ) ;
4039
4043
if ( kind ) {
4040
4044
return RenameInfo . Create ( symbol . name , typeInfoResolver . getFullyQualifiedName ( symbol ) , kind ,
4041
- getNodeModifiers ( symbol . getDeclarations ( ) [ 0 ] ) ,
4045
+ getSymbolModifiers ( symbol ) ,
4042
4046
new TypeScript . TextSpan ( node . getStart ( ) , node . getWidth ( ) ) ) ;
4043
4047
}
4044
4048
}
0 commit comments