Binder\Binder.ValueChecks.cs (5)
3720return GetValEscape(((BoundAssignmentOperator)expr).Right, scopeOfTheContainingExpression);
3836? GetRefEscape(assignment.Right, scopeOfTheContainingExpression)
3837: GetValEscape(assignment.Right, scopeOfTheContainingExpression);
4442? CheckRefEscape(expression.Syntax, assignment.Right, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics)
4443: CheckValEscape(expression.Syntax, assignment.Right, escapeFrom, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
Binder\Binder_Attributes.cs (3)
250Debug.Assert(boundNamedArguments.All(arg => !arg.Right.NeedsToBeConverted()));
911visitedArgument = new KeyValuePair<String, TypedConstant>(fa.FieldSymbol.Name, VisitExpression(assignment.Right, diagnostics, ref attrHasErrors, assignment.HasAnyErrors));
916visitedArgument = new KeyValuePair<String, TypedConstant>(pa.PropertySymbol.Name, VisitExpression(assignment.Right, diagnostics, ref attrHasErrors, assignment.HasAnyErrors));
CodeGen\Optimizer.cs (9)
773assignment.Right.Kind == BoundKind.Sequence)
793Debug.Assert(localUsedWalker.IsLocalUsedIn(assignment.Right), "who assigns the temp?");
907node.Update(sequence.Value, node.Right, node.IsRef, node.Type),
948BoundExpression right = node.Right;
959right = VisitExpression(node.Right, rhsContext);
973node.Left.Type.Equals(node.Right.Type, TypeCompareKind.AllIgnoreOptions) ||
974IsFixedBufferAssignmentToRefLocal(node.Left, node.Right, node.IsRef),
1072Debug.Assert(!IsIndirectAssignment(node.Update(((BoundSequence)node.Left).Value, node.Right, node.IsRef, node.Type)),
2113var right = (BoundExpression)Visit(node.Right);