Skip to content

Commit 5149c8f

Browse files
committed
handel completion on missing symbols correctelly
1 parent 885569d commit 5149c8f

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/compiler/checker.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2431,7 +2431,7 @@ module ts {
24312431
case SyntaxKind.Identifier:
24322432
case SyntaxKind.QualifiedName:
24332433
var symbol = getSymbolInfo(node);
2434-
return getDeclaredTypeOfSymbol(symbol);
2434+
return symbol && getDeclaredTypeOfSymbol(symbol);
24352435
default:
24362436
return unknownType;
24372437
}
@@ -7077,7 +7077,7 @@ module ts {
70777077

70787078
if (isTypeDeclarationName(node)) {
70797079
var symbol = getSymbolInfo(node);
7080-
return getDeclaredTypeOfSymbol(symbol);
7080+
return symbol && getDeclaredTypeOfSymbol(symbol);
70817081
}
70827082

70837083
if (isDeclaration(node)) {
@@ -7088,12 +7088,12 @@ module ts {
70887088

70897089
if (isDeclarationOrFunctionExpressionOrCatchVariableName(node)) {
70907090
var symbol = getSymbolInfo(node);
7091-
return getTypeOfSymbol(symbol);
7091+
return symbol && getTypeOfSymbol(symbol);
70927092
}
70937093

70947094
if (isInRightSideOfImportOrExportAssignment(node)) {
70957095
var symbol = getSymbolInfo(node);
7096-
var declaredType = getDeclaredTypeOfSymbol(symbol);
7096+
var declaredType = symbol && getDeclaredTypeOfSymbol(symbol);
70977097
return declaredType !== unknownType ? declaredType : getTypeOfSymbol(symbol);
70987098
}
70997099

src/services/services.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1810,12 +1810,13 @@ module ts {
18101810

18111811
// Right of dot member completion list
18121812
if (isRightOfDot) {
1813-
var type: ApparentType = typeInfoResolver.getApparentType(typeInfoResolver.getTypeOfNode(mappedNode));
1814-
if (!type) {
1813+
var type = typeInfoResolver.getTypeOfNode(mappedNode);
1814+
var apparentType: ApparentType = type && typeInfoResolver.getApparentType(type);
1815+
if (!apparentType) {
18151816
return undefined;
18161817
}
18171818

1818-
var symbols = type.getApparentProperties();
1819+
var symbols = apparentType.getApparentProperties();
18191820
isMemberCompletion = true;
18201821
getCompletionEntriesFromSymbols(symbols, activeCompletionSession);
18211822
}

0 commit comments

Comments
 (0)