42 references to AddressKind
Microsoft.CodeAnalysis.VisualBasic (42)
CodeGen\CodeGenerator.vb (1)
220
Private Sub EmitSequencePointExpressionAddress(node As BoundSequencePointExpression, addressKind As
AddressKind
)
CodeGen\EmitAddress.vb (21)
42
Private Function EmitAddress(expression As BoundExpression, addressKind As
AddressKind
) As LocalDefinition
150
Private Function EmitSequenceAddress(sequence As BoundSequence, addressKind As
AddressKind
) As LocalDefinition
289
Private Function AllowedToTakeRef(expression As BoundExpression, addressKind As
AddressKind
) As Boolean
293
Return addressKind =
AddressKind
.ReadOnly OrElse addressKind =
AddressKind
.Immutable
297
If addressKind <>
AddressKind
.Immutable Then
326
Return addressKind <> CodeGenerator.
AddressKind
.Writeable
337
Private Function AllowedToTakeRef(boundLocal As BoundLocal, addressKind As
AddressKind
) As Boolean
338
Debug.Assert(addressKind <> CodeGenerator.
AddressKind
.Immutable, "immutable address is always ok")
342
If addressKind = CodeGenerator.
AddressKind
.Writeable AndAlso
374
Private Function AllowedToTakeRef(fieldAccess As BoundFieldAccess, addressKind As
AddressKind
) As Boolean
376
If addressKind <>
AddressKind
.Immutable Then
389
If fieldReceiver IsNot Nothing AndAlso Not AllowedToTakeRef(fieldReceiver, CodeGenerator.
AddressKind
.ReadOnly) Then
405
Private Sub EmitArrayElementAddress(arrayAccess As BoundArrayAccess, addressKind As
AddressKind
)
413
If addressKind <>
AddressKind
.Writeable AndAlso elementType.IsTypeParameter() Then
425
Private Function EmitFieldAddress(fieldAccess As BoundFieldAccess, addressKind As
AddressKind
) As LocalDefinition
462
addressKind As
AddressKind
) As LocalDefinition
480
Return EmitAddress(receiver,
AddressKind
.ReadOnly)
500
Private Function EmitInstanceFieldAddress(fieldAccess As BoundFieldAccess, addressKind As
AddressKind
) As LocalDefinition
504
If addressKind =
AddressKind
.Writeable AndAlso IsMeReceiver(fieldAccess.ReceiverOpt) Then
505
addressKind =
AddressKind
.ReadOnly
CodeGen\EmitExpression.vb (19)
297
receiverTemp = EmitReceiverRef(receiver, isAccessConstrained:=Not receiverType.IsReferenceType, addressKind:=
AddressKind
.ReadOnly)
380
receiverTemp = EmitReceiverRef(receiver, isAccessConstrained:=Not receiverType.IsReferenceType, addressKind:=
AddressKind
.ReadOnly)
410
Dim receiverTemp = EmitAddress(expression.ReferenceTypeReceiver, addressKind:=
AddressKind
.ReadOnly)
416
EmitReceiverRef(expression.ValueTypeReceiver, isAccessConstrained:=True, addressKind:=
AddressKind
.ReadOnly)
553
Dim temp = EmitAddress(argument,
AddressKind
.Writeable)
690
Dim temp = EmitReceiverRef(receiver, isAccessConstrained:=False, addressKind:=
AddressKind
.Immutable)
988
tempOpt = EmitReceiverRef(receiver, isAccessConstrained:=False, addressKind:=
AddressKind
.ReadOnly)
1018
AddressKind
.ReadOnly,
1019
AddressKind
.Writeable))
1027
tempOpt = EmitReceiverRef(receiver, isAccessConstrained:=True, addressKind:=
AddressKind
.ReadOnly)
1056
(receiver.Kind = BoundKind.ConditionalAccessReceiverPlaceholder OrElse Not AllowedToTakeRef(receiver,
AddressKind
.ReadOnly)),
1060
tempOpt = EmitReceiverRef(receiver, isAccessConstrained:=callKind = CallKind.ConstrainedCallVirt, addressKind:=
AddressKind
.ReadOnly)
1581
EmitAddress(target, addressKind:=
AddressKind
.Immutable)
1710
Return AllowedToTakeRef(left,
AddressKind
.Writeable) AndAlso Not (left.Kind = BoundKind.ArrayAccess AndAlso left.Type.TypeKind = TypeKind.TypeParameter)
1714
Dim temp = Me.EmitAddress(target,
AddressKind
.Writeable)
1727
Dim temp = Me.EmitAddress(target,
AddressKind
.Writeable)
1788
Dim temp = EmitReceiverRef(left.ReceiverOpt, isAccessConstrained:=False, addressKind:=
AddressKind
.ReadOnly)
1813
Dim temp = EmitAddress(left, addressKind:=
AddressKind
.Writeable)
1873
Dim temp = EmitAddress(capture.LValue, addressKind:=
AddressKind
.Writeable)
CodeGen\EmitStatement.vb (1)
369
Dim temp1 = EmitReceiverRef(receiver, isAccessConstrained:=False, addressKind:=
AddressKind
.[ReadOnly])