70 references to AddressKind
Microsoft.CodeAnalysis.CSharp (70)
Binder\Binder.ValueChecks.cs (11)
2080var receiverAddressKind = method.IsEffectivelyReadOnly ? Binder.AddressKind.ReadOnly : Binder.AddressKind.Writeable; 4578internal static bool IsAnyReadOnly(AddressKind addressKind) => addressKind >= AddressKind.ReadOnly; 4586AddressKind addressKind, 4596if (addressKind == AddressKind.ReadOnly && !expression.Type.IsValueType && peVerifyCompatEnabled) 4715AddressKind addressKind, 4736if (addressKind == AddressKind.ReadOnlyStrict) 4742if (addressKind == AddressKind.ReadOnly && !peVerifyCompatEnabled) 4779|| !HasHome(receiver, AddressKind.ReadOnly, containingSymbol, peVerifyCompatEnabled, stackLocalsOpt);
CodeGen\EmitAddress.cs (21)
26private LocalDefinition EmitAddress(BoundExpression expression, AddressKind addressKind) 181private LocalDefinition EmitPassByCopyAddress(BoundPassByCopy passByCopyExpr, AddressKind addressKind) 210private void EmitConditionalOperatorAddress(BoundConditionalOperator expr, AddressKind addressKind) 245var receiverTemp = EmitAddress(expression.ReferenceTypeReceiver, AddressKind.ReadOnly); 252EmitReceiverRef(expression.ValueTypeReceiver, AddressKind.Constrained); 260private LocalDefinition EmitLocalAddress(BoundLocal localAccess, AddressKind addressKind) 293private LocalDefinition EmitDupAddress(BoundDup dup, AddressKind addressKind) 338private LocalDefinition EmitSequenceAddress(BoundSequence sequence, AddressKind addressKind) 390private void EmitArrayElementAddress(BoundArrayAccess arrayAccess, AddressKind addressKind) 413private bool ShouldEmitReadOnlyPrefix(BoundArrayAccess arrayAccess, AddressKind addressKind) 415if (addressKind == AddressKind.Constrained) 433private LocalDefinition EmitFieldAddress(BoundFieldAccess fieldAccess, AddressKind addressKind) 463private bool HasHome(BoundExpression expression, AddressKind addressKind) 466private LocalDefinition EmitParameterAddress(BoundParameter parameter, AddressKind addressKind) 499private LocalDefinition EmitReceiverRef(BoundExpression receiver, AddressKind addressKind) 517if (addressKind == AddressKind.Constrained) 540private LocalDefinition EmitInstanceFieldAddress(BoundFieldAccess fieldAccess, AddressKind addressKind) 552(addressKind == AddressKind.Constrained ? AddressKind.Writeable : addressKind) : 553(addressKind != AddressKind.ReadOnlyStrict ? AddressKind.ReadOnly : addressKind));
CodeGen\EmitArrayInitializer.cs (2)
538EmitAddress(inPlaceTarget, Binder.AddressKind.Writeable); 568EmitAddress(inPlaceTarget, Binder.AddressKind.Writeable);
CodeGen\EmitExpression.cs (29)
405receiverTemp = EmitReceiverRef(receiver, AddressKind.ReadOnly); 438receiverTemp = EmitReceiverRef(receiver, AddressKind.Constrained); 484var addressKind = AddressKind.ReadOnly; 497receiverTemp = EmitReceiverRef(receiver, AddressKind.ReadOnly); 562receiverTemp = EmitReceiverRef(receiver, AddressKind.Constrained); 664var temp = EmitAddress(expression.Operand, AddressKind.Writeable); 712var temp = EmitAddress(argument, AddressKind.ReadOnly); 719var unexpectedTemp = EmitAddress(argument, refKind == RefKindExtensions.StrictIn ? AddressKind.ReadOnlyStrict : AddressKind.Writeable); 735var temp = EmitAddress(expression.Operand, AddressKind.ReadOnlyStrict); 1164return EmitFieldLoadReceiverAddress(receiver) ? null : EmitReceiverRef(receiver, AddressKind.ReadOnly); 1239if (!HasHome(receiver, AddressKind.ReadOnly)) 1608LocalDefinition tempOpt = EmitReceiverRef(receiver, AddressKind.Writeable); 1682var receiverAddresskind = IsReadOnlyCall(method, methodContainingType) ? 1683AddressKind.ReadOnly : 1684AddressKind.Writeable; 1710tempOpt = EmitReceiverRef(receiver, AddressKind.Writeable); 1813LocalDefinition tempOpt = EmitReceiverRef(receiver, callKind == CallKind.ConstrainedCallVirt ? AddressKind.Constrained : AddressKind.Writeable); 2430if (!HasHome(left, AddressKind.Writeable)) 2457var temp = EmitAddress(target, AddressKind.Writeable); 2486var temp = EmitAddress(target, AddressKind.Writeable); 2572var temp = EmitReceiverRef(left.ReceiverOpt, AddressKind.Writeable); 2656var temp = EmitAddress(left, AddressKind.Writeable); 2667var temp = EmitAddress(left, AddressKind.Writeable); 2679var temp = EmitAddress(left, AddressKind.Writeable); 2776LocalDefinition temp = EmitAddress(assignmentOperator.Right, lhs.GetRefKind() == RefKind.RefReadOnly ? AddressKind.ReadOnlyStrict : AddressKind.Writeable);
CodeGen\EmitStatement.cs (5)
554EmitReceiverRef(receiver, AddressKind.ReadOnly); 568EmitReceiverRef(receiver, AddressKind.ReadOnly); 848var unexpectedTemp = this.EmitAddress(expressionOpt, this._method.RefKind == RefKind.RefReadOnly ? AddressKind.ReadOnlyStrict : AddressKind.Writeable); 1147var receiverTemp = EmitReceiverRef(left.ReceiverOpt, AddressKind.Writeable);
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
466Binder.AddressKind.Constrained,
Lowering\SyntheticBoundNodeFactory.cs (1)
1532Binder.AddressKind.ReadOnly,