Merge pull request #16026 from Microsoft/importEqualsMethod

buildSymbolDisplay: Handle alias parentSymbol
This commit is contained in:
Andy 2017-05-23 09:57:32 -07:00 committed by GitHub
commit 8b15e2b523
2 changed files with 19 additions and 3 deletions

View file

@ -2033,7 +2033,7 @@ namespace ts {
ts.forEach(symbolFromSymbolTable.declarations, isExternalModuleImportEqualsDeclaration)) {
const resolvedImportedSymbol = resolveAlias(symbolFromSymbolTable);
if (isAccessible(symbolFromSymbolTable, resolveAlias(symbolFromSymbolTable))) {
if (isAccessible(symbolFromSymbolTable, resolvedImportedSymbol)) {
return [symbolFromSymbolTable];
}
@ -3093,8 +3093,8 @@ namespace ts {
// Write type arguments of instantiated class/interface here
if (flags & SymbolFormatFlags.WriteTypeParametersOrArguments) {
if (getCheckFlags(symbol) & CheckFlags.Instantiated) {
buildDisplayForTypeArgumentsAndDelimiters(getTypeParametersOfClassOrInterface(parentSymbol),
(<TransientSymbol>symbol).mapper, writer, enclosingDeclaration);
const params = getTypeParametersOfClassOrInterface(parentSymbol.flags & SymbolFlags.Alias ? resolveAlias(parentSymbol) : parentSymbol);
buildDisplayForTypeArgumentsAndDelimiters(params, (<TransientSymbol>symbol).mapper, writer, enclosingDeclaration);
}
else {
buildTypeParameterDisplayFromSymbol(parentSymbol, writer, enclosingDeclaration);

View file

@ -0,0 +1,16 @@
/// <reference path="fourslash.ts" />
// Test for https://github.com/Microsoft/TypeScript/issues/15931
// @Filename: /a.d.ts
////declare class C<T> {
//// m(): void;
////}
////export = C;
// @Filename: /b.ts
////import C = require("./a");
////declare var x: C<number>;
////x./**/m;
verify.quickInfoAt("", "(method) C<number>.m(): void", undefined);