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)
302receiverTemp = EmitReceiverRef(receiver, isAccessConstrained:=Not receiverType.IsReferenceType, addressKind:=AddressKind.ReadOnly) 385receiverTemp = EmitReceiverRef(receiver, isAccessConstrained:=Not receiverType.IsReferenceType, addressKind:=AddressKind.ReadOnly) 415Dim receiverTemp = EmitAddress(expression.ReferenceTypeReceiver, addressKind:=AddressKind.ReadOnly) 421EmitReceiverRef(expression.ValueTypeReceiver, isAccessConstrained:=True, addressKind:=AddressKind.ReadOnly) 558Dim temp = EmitAddress(argument, AddressKind.Writeable) 695Dim temp = EmitReceiverRef(receiver, isAccessConstrained:=False, addressKind:=AddressKind.Immutable) 993tempOpt = EmitReceiverRef(receiver, isAccessConstrained:=False, addressKind:=AddressKind.ReadOnly) 1023AddressKind.ReadOnly, 1024AddressKind.Writeable)) 1032tempOpt = EmitReceiverRef(receiver, isAccessConstrained:=True, addressKind:=AddressKind.ReadOnly) 1187Not AllowedToTakeRef(receiver, AddressKind.ReadOnly) OrElse 1193Dim tempOpt As LocalDefinition = EmitReceiverRef(receiver, isAccessConstrained:=callKind = CallKind.ConstrainedCallVirt, addressKind:=AddressKind.ReadOnly) 1704EmitAddress(target, addressKind:=AddressKind.Immutable) 1833Return AllowedToTakeRef(left, AddressKind.Writeable) AndAlso Not (left.Kind = BoundKind.ArrayAccess AndAlso left.Type.TypeKind = TypeKind.TypeParameter) 1837Dim temp = Me.EmitAddress(target, AddressKind.Writeable) 1850Dim temp = Me.EmitAddress(target, AddressKind.Writeable) 1911Dim temp = EmitReceiverRef(left.ReceiverOpt, isAccessConstrained:=False, addressKind:=AddressKind.ReadOnly) 1936Dim temp = EmitAddress(left, addressKind:=AddressKind.Writeable) 1996Dim temp = EmitAddress(capture.LValue, addressKind:=AddressKind.Writeable)
CodeGen\EmitStatement.vb (1)
369Dim temp1 = EmitReceiverRef(receiver, isAccessConstrained:=False, addressKind:=AddressKind.[ReadOnly])