From 4e42054277c2ca448c0e13a32fbfaae717f7d093 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 13 Apr 2015 16:28:06 -0700 Subject: [PATCH] Fix #2725: Add check for parent before using it --- src/services/services.ts | 4 +++- tests/cases/fourslash/completionAfterDotDotDot.ts | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/completionAfterDotDotDot.ts diff --git a/src/services/services.ts b/src/services/services.ts index 1d006e0b14c..fe5be09244d 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3109,6 +3109,7 @@ module ts { case SyntaxKind.SemicolonToken: return containingNodeKind === SyntaxKind.PropertySignature && + previousToken.parent && previousToken.parent.parent && (previousToken.parent.parent.kind === SyntaxKind.InterfaceDeclaration || // interface a { f; | previousToken.parent.parent.kind === SyntaxKind.TypeLiteral); // let x : { a; | @@ -3124,7 +3125,8 @@ module ts { case SyntaxKind.DotDotDotToken: return containingNodeKind === SyntaxKind.Parameter || containingNodeKind === SyntaxKind.Constructor || - (previousToken.parent.parent.kind === SyntaxKind.ArrayBindingPattern); // var [ ...z| + (previousToken.parent && previousToken.parent.parent && + previousToken.parent.parent.kind === SyntaxKind.ArrayBindingPattern); // var [ ...z| case SyntaxKind.PublicKeyword: case SyntaxKind.PrivateKeyword: diff --git a/tests/cases/fourslash/completionAfterDotDotDot.ts b/tests/cases/fourslash/completionAfterDotDotDot.ts new file mode 100644 index 00000000000..10c2d39b8cb --- /dev/null +++ b/tests/cases/fourslash/completionAfterDotDotDot.ts @@ -0,0 +1,6 @@ +/// + +////.../**/ + +goTo.marker(); +verify.not.completionListIsEmpty(); \ No newline at end of file