44 references to AddressKind
Microsoft.CodeAnalysis.VisualBasic (44)
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 Or expression.Type.IsNullableType() 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 (21)
264receiverTemp = EmitAddress(receiver, addressKind:=AddressKind.Immutable) 294receiverTemp = EmitAddress(receiver, addressKind:=AddressKind.Immutable) 323receiverTemp = EmitReceiverRef(receiver, isAccessConstrained:=Not receiverType.IsReferenceType, addressKind:=AddressKind.ReadOnly) 406receiverTemp = EmitReceiverRef(receiver, isAccessConstrained:=Not receiverType.IsReferenceType, addressKind:=AddressKind.ReadOnly) 436Dim receiverTemp = EmitAddress(expression.ReferenceTypeReceiver, addressKind:=AddressKind.ReadOnly) 442EmitReceiverRef(expression.ValueTypeReceiver, isAccessConstrained:=True, addressKind:=AddressKind.ReadOnly) 579Dim temp = EmitAddress(argument, AddressKind.Writeable) 716Dim temp = EmitReceiverRef(receiver, isAccessConstrained:=False, addressKind:=AddressKind.Immutable) 1014tempOpt = EmitReceiverRef(receiver, isAccessConstrained:=False, addressKind:=AddressKind.ReadOnly) 1044AddressKind.ReadOnly, 1045AddressKind.Writeable)) 1053tempOpt = EmitReceiverRef(receiver, isAccessConstrained:=True, addressKind:=AddressKind.ReadOnly) 1208Not AllowedToTakeRef(receiver, AddressKind.ReadOnly) OrElse 1214Dim tempOpt As LocalDefinition = EmitReceiverRef(receiver, isAccessConstrained:=callKind = CallKind.ConstrainedCallVirt, addressKind:=AddressKind.ReadOnly) 1725EmitAddress(target, addressKind:=AddressKind.Immutable) 1854Return AllowedToTakeRef(left, AddressKind.Writeable) AndAlso Not (left.Kind = BoundKind.ArrayAccess AndAlso left.Type.TypeKind = TypeKind.TypeParameter) 1858Dim temp = Me.EmitAddress(target, AddressKind.Writeable) 1871Dim temp = Me.EmitAddress(target, AddressKind.Writeable) 1932Dim temp = EmitReceiverRef(left.ReceiverOpt, isAccessConstrained:=False, addressKind:=AddressKind.ReadOnly) 1957Dim temp = EmitAddress(left, addressKind:=AddressKind.Writeable) 2017Dim temp = EmitAddress(capture.LValue, addressKind:=AddressKind.Writeable)
CodeGen\EmitStatement.vb (1)
369Dim temp1 = EmitReceiverRef(receiver, isAccessConstrained:=False, addressKind:=AddressKind.[ReadOnly])