@@ -3010,7 +3010,7 @@ namespace ts {
3010
3010
let typeMembers = typeChecker . getPropertiesOfType ( typeForObject ) ;
3011
3011
if ( typeMembers && typeMembers . length > 0 ) {
3012
3012
// Add filtered items to the completion list
3013
- symbols = filterContextualMembersList ( typeMembers , existingMembers ) ;
3013
+ symbols = filterObjectMembersList ( typeMembers , existingMembers ) ;
3014
3014
}
3015
3015
}
3016
3016
else if ( getAncestor ( contextToken , SyntaxKind . ImportClause ) ) {
@@ -3356,26 +3356,28 @@ namespace ts {
3356
3356
return filter ( exports , e => ! lookUp ( exisingImports , e . name ) ) ;
3357
3357
}
3358
3358
3359
- function filterContextualMembersList ( contextualMemberSymbols : Symbol [ ] , existingMembers : Declaration [ ] ) : Symbol [ ] {
3359
+ function filterObjectMembersList ( contextualMemberSymbols : Symbol [ ] , existingMembers : Declaration [ ] ) : Symbol [ ] {
3360
3360
if ( ! existingMembers || existingMembers . length === 0 ) {
3361
3361
return contextualMemberSymbols ;
3362
3362
}
3363
3363
3364
3364
let existingMemberNames : Map < boolean > = { } ;
3365
- forEach ( existingMembers , m => {
3366
- if ( m . kind !== SyntaxKind . PropertyAssignment && m . kind !== SyntaxKind . ShorthandPropertyAssignment ) {
3367
- // Ignore omitted expressions for missing members in the object literal
3368
- return ;
3365
+ for ( let m of existingMembers ) {
3366
+ if ( m . kind !== SyntaxKind . PropertyAssignment &&
3367
+ m . kind !== SyntaxKind . ShorthandPropertyAssignment &&
3368
+ m . kind !== SyntaxKind . BindingElement ) {
3369
+ // Ignore omitted expressions for missing members
3370
+ continue ;
3369
3371
}
3370
3372
3371
3373
if ( m . getStart ( ) <= position && position <= m . getEnd ( ) ) {
3372
3374
// If this is the current item we are editing right now, do not filter it out
3373
- return ;
3375
+ continue ;
3374
3376
}
3375
3377
3376
3378
// TODO(jfreeman): Account for computed property name
3377
3379
existingMemberNames [ ( < Identifier > m . name ) . text ] = true ;
3378
- } ) ;
3380
+ }
3379
3381
3380
3382
let filteredMembers : Symbol [ ] = [ ] ;
3381
3383
forEach ( contextualMemberSymbols , s => {
0 commit comments