MCPcopy Create free account
hub / github.com/microsoft/typescript-go / checkReferenceAssignment

Method checkReferenceAssignment

internal/checker/checker.go:12666–12678  ·  view source on GitHub ↗
(target *ast.Node, sourceType *Type, checkMode CheckMode)

Source from the content-addressed store, hash-verified

12664}
12665
12666func (c *Checker) checkReferenceAssignment(target *ast.Node, sourceType *Type, checkMode CheckMode) *Type {
12667 targetType := c.checkExpressionEx(target, checkMode)
12668 message := core.IfElse(ast.IsSpreadAssignment(target.Parent),
12669 diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access,
12670 diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access)
12671 optionalMessage := core.IfElse(ast.IsSpreadAssignment(target.Parent),
12672 diagnostics.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access,
12673 diagnostics.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access)
12674 if c.checkReferenceExpression(target, message, optionalMessage) {
12675 c.checkTypeAssignableToAndOptionallyElaborate(sourceType, targetType, target, target, nil, nil)
12676 }
12677 return sourceType
12678}
12679
12680func (c *Checker) reportOperatorError(leftType *Type, operator ast.Kind, rightType *Type, errorNode *ast.Node, isRelated func(left *Type, right *Type) bool) {
12681 wouldWorkWithAwait := false

Callers 1

Calls 5

checkExpressionExMethod · 0.95
IfElseFunction · 0.92
IsSpreadAssignmentFunction · 0.92

Tested by

no test coverage detected