MCPcopy Index your code
hub / github.com/nodejs/node / checkReferenceAssignment

Function checkReferenceAssignment

test/fixtures/snapshot/typescript.js:78804–78819  ·  view source on GitHub ↗
(target, sourceType, checkMode)

Source from the content-addressed store, hash-verified

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 */ ?
78807 ts.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access :
78808 ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access;
78809 var optionalError = target.parent.kind === 298 /* SyntaxKind.SpreadAssignment */ ?
78810 ts.Diagnostics.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access :
78811 ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access;
78812 if (checkReferenceExpression(target, error, optionalError)) {
78813 checkTypeAssignableToAndOptionallyElaborate(sourceType, targetType, target, target);
78814 }
78815 if (ts.isPrivateIdentifierPropertyAccessExpression(target)) {
78816 checkExternalEmitHelpers(target.parent, 1048576 /* ExternalEmitHelpers.ClassPrivateFieldSet */);
78817 }
78818 return sourceType;
78819 }
78820 /**
78821 * This is a *shallow* check: An expression is side-effect-free if the
78822 * evaluation of the expression *itself* cannot produce side effects.

Callers 1

Calls 4

checkReferenceExpressionFunction · 0.85
checkExternalEmitHelpersFunction · 0.85
checkExpressionFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…