@@ -1387,7 +1387,7 @@ namespace ts.Completions {
1387
1387
1388
1388
// Get all entities in the current scope.
1389
1389
completionKind = CompletionKind . Global ;
1390
- isNewIdentifierLocation = isNewIdentifierDefinitionLocation ( contextToken ) ;
1390
+ isNewIdentifierLocation = isNewIdentifierDefinitionLocation ( ) ;
1391
1391
1392
1392
if ( previousToken !== contextToken ) {
1393
1393
Debug . assert ( ! ! previousToken , "Expected 'contextToken' to be defined when different from 'previousToken'." ) ;
@@ -1849,18 +1849,19 @@ namespace ts.Completions {
1849
1849
return false ;
1850
1850
}
1851
1851
1852
- function isNewIdentifierDefinitionLocation ( previousToken : Node | undefined ) : boolean {
1853
- if ( previousToken ) {
1854
- const containingNodeKind = previousToken . parent . kind ;
1852
+ function isNewIdentifierDefinitionLocation ( ) : boolean {
1853
+ if ( contextToken ) {
1854
+ const containingNodeKind = contextToken . parent . kind ;
1855
1855
// Previous token may have been a keyword that was converted to an identifier.
1856
- switch ( keywordForNode ( previousToken ) ) {
1856
+ switch ( keywordForNode ( contextToken ) ) {
1857
1857
case SyntaxKind . CommaToken :
1858
1858
return containingNodeKind === SyntaxKind . CallExpression // func( a, |
1859
1859
|| containingNodeKind === SyntaxKind . Constructor // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */
1860
1860
|| containingNodeKind === SyntaxKind . NewExpression // new C(a, |
1861
1861
|| containingNodeKind === SyntaxKind . ArrayLiteralExpression // [a, |
1862
1862
|| containingNodeKind === SyntaxKind . BinaryExpression // const x = (a, |
1863
- || containingNodeKind === SyntaxKind . FunctionType ; // var x: (s: string, list|
1863
+ || containingNodeKind === SyntaxKind . FunctionType // var x: (s: string, list|
1864
+ || containingNodeKind === SyntaxKind . ObjectLiteralExpression ; // const obj = { x, |
1864
1865
1865
1866
case SyntaxKind . OpenParenToken :
1866
1867
return containingNodeKind === SyntaxKind . CallExpression // func( |
@@ -1882,7 +1883,8 @@ namespace ts.Completions {
1882
1883
return containingNodeKind === SyntaxKind . ModuleDeclaration ; // module A.|
1883
1884
1884
1885
case SyntaxKind . OpenBraceToken :
1885
- return containingNodeKind === SyntaxKind . ClassDeclaration ; // class A{ |
1886
+ return containingNodeKind === SyntaxKind . ClassDeclaration // class A { |
1887
+ || containingNodeKind === SyntaxKind . ObjectLiteralExpression ; // const obj = { |
1886
1888
1887
1889
case SyntaxKind . EqualsToken :
1888
1890
return containingNodeKind === SyntaxKind . VariableDeclaration // const x = a|
0 commit comments