Merge pull request #25414 from Microsoft/classMembersInSuperClassFromUnknownNamespace

Fix the completion when base type is class from unknown namespace
This commit is contained in:
Sheetal Nandi 2018-07-03 13:21:11 -07:00 committed by GitHub
commit 75369cd887
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 2 deletions

View file

@ -1653,8 +1653,8 @@ namespace ts.Completions {
if (!(classElementModifierFlags & ModifierFlags.Private)) {
// List of property symbols of base type that are not private and already implemented
const baseSymbols = flatMap(getAllSuperTypeNodes(decl), baseTypeNode => {
const type = typeChecker.getTypeAtLocation(baseTypeNode)!; // TODO: GH#18217
return typeChecker.getPropertiesOfType(classElementModifierFlags & ModifierFlags.Static ? typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl) : type);
const type = typeChecker.getTypeAtLocation(baseTypeNode);
return type && typeChecker.getPropertiesOfType(classElementModifierFlags & ModifierFlags.Static ? typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl) : type);
});
symbols = filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags);
}

View file

@ -0,0 +1,9 @@
/// <reference path="fourslash.ts" />
////class Child extends Namespace.Parent {
//// /**/
////}
goTo.marker("");
verify.completionListContainsClassElementKeywords();
verify.completionListCount(verify.allowedClassElementKeywords.length);