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