File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed
src/compiler/transformers Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -475,15 +475,17 @@ namespace ts {
475
475
const weakMapName = accessPrivateName ( node . left . name ) ;
476
476
if ( isCompoundAssignment ( node . operatorToken . kind ) ) {
477
477
let setReceiver : Expression ;
478
- let getReceiver : Identifier ;
479
- if ( ! isIdentifier ( node . left . expression ) && ! isKeyword ( node . left . expression . kind ) ) {
480
- getReceiver = createTempVariable ( /* recordTempVariable */ undefined ) ;
481
- hoistVariableDeclaration ( getReceiver ) ;
482
- setReceiver = createBinary ( getReceiver , SyntaxKind . EqualsToken , node . left . expression ) ;
478
+ let getReceiver : Expression ;
479
+ const receiverExpr = node . left . expression ;
480
+ if ( ! isIdentifier ( receiverExpr ) && ! isThisProperty ( node . left ) && ! isSuperProperty ( node . left ) ) {
481
+ const tempVariable = createTempVariable ( /* recordTempVariable */ undefined ) ;
482
+ hoistVariableDeclaration ( tempVariable ) ;
483
+ setReceiver = createBinary ( tempVariable , SyntaxKind . EqualsToken , node . left . expression ) ;
484
+ getReceiver = tempVariable ;
483
485
}
484
486
else {
485
- getReceiver = node . left . expression as Identifier ;
486
- setReceiver = node . left . expression as Identifier ;
487
+ getReceiver = node . left . expression ;
488
+ setReceiver = node . left . expression ;
487
489
}
488
490
return setOriginalNode (
489
491
createClassPrivateFieldSetHelper (
You can’t perform that action at this time.
0 commit comments