(exprOrAssignment, sourceType, checkMode, rightIsThis)
| 78772 | return undefined; |
| 78773 | } |
| 78774 | function checkDestructuringAssignment(exprOrAssignment, sourceType, checkMode, rightIsThis) { |
| 78775 | var target; |
| 78776 | if (exprOrAssignment.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { |
| 78777 | var prop = exprOrAssignment; |
| 78778 | if (prop.objectAssignmentInitializer) { |
| 78779 | // In strict null checking mode, if a default value of a non-undefined type is specified, remove |
| 78780 | // undefined from the final type. |
| 78781 | if (strictNullChecks && |
| 78782 | !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 32768 /* TypeFlags.Undefined */)) { |
| 78783 | sourceType = getTypeWithFacts(sourceType, 524288 /* TypeFacts.NEUndefined */); |
| 78784 | } |
| 78785 | checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, checkMode); |
| 78786 | } |
| 78787 | target = exprOrAssignment.name; |
| 78788 | } |
| 78789 | else { |
| 78790 | target = exprOrAssignment; |
| 78791 | } |
| 78792 | if (target.kind === 221 /* SyntaxKind.BinaryExpression */ && target.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { |
| 78793 | checkBinaryExpression(target, checkMode); |
| 78794 | target = target.left; |
| 78795 | } |
| 78796 | if (target.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { |
| 78797 | return checkObjectLiteralAssignment(target, sourceType, rightIsThis); |
| 78798 | } |
| 78799 | if (target.kind === 204 /* SyntaxKind.ArrayLiteralExpression */) { |
| 78800 | return checkArrayLiteralAssignment(target, sourceType, checkMode); |
| 78801 | } |
| 78802 | return checkReferenceAssignment(target, sourceType, checkMode); |
| 78803 | } |
| 78804 | function checkReferenceAssignment(target, sourceType, checkMode) { |
| 78805 | var targetType = checkExpression(target, checkMode); |
| 78806 | var error = target.parent.kind === 298 /* SyntaxKind.SpreadAssignment */ ? |
no test coverage detected
searching dependent graphs…