28 references to CallKind
Microsoft.CodeAnalysis.CSharp (28)
CodeGen\EmitExpression.cs (28)
1688CallKind callKind;
1712CallKind parentCallKind = determineEmitReceiverStrategy(parentCall, out addressKind, out box);
1732Debug.Assert(parentCallKind != CallKind.ConstrainedCallVirt);
1823CallKind determineEmitReceiverStrategy(BoundCall call, out AddressKind? addressKind, out bool box)
1829CallKind callKind;
1843callKind = CallKind.Call;
1847callKind = CallKind.CallVirt;
1868callKind = CallKind.Call;
1872callKind = CallKind.ConstrainedCallVirt;
1884callKind = CallKind.ConstrainedCallVirt;
1890callKind = CallKind.Call;
1902CallKind.CallVirt :
1903CallKind.ConstrainedCallVirt;
1905addressKind = (callKind == CallKind.ConstrainedCallVirt) ? AddressKind.Constrained : AddressKind.Writeable;
1908Debug.Assert((callKind != CallKind.ConstrainedCallVirt) || (addressKind.GetValueOrDefault() == AddressKind.Constrained) || receiverType.IsVerifierValue());
1914void emitReceiver(BoundCall call, CallKind callKind, AddressKind? addressKind, bool box, out LocalDefinition tempOpt)
1940void emitArgumentsAndCallEpilogue(BoundCall call, CallKind callKind, UseKind useKind)
1951if (method.IsOverride && callKind != CallKind.Call)
1956if (callKind == CallKind.ConstrainedCallVirt && actualMethodTargetedByTheCall.ContainingType.IsValueType)
1961callKind = CallKind.Call;
1965if (callKind == CallKind.CallVirt)
1978callKind = CallKind.Call;
1989callKind = CallKind.Call;
1998case CallKind.Call:
2002case CallKind.CallVirt:
2006case CallKind.ConstrainedCallVirt:
2020void emitGenericReceiverCloneIfNecessary(BoundCall call, CallKind callKind, ref LocalDefinition tempOpt)
2025if (callKind == CallKind.ConstrainedCallVirt && tempOpt is null && !receiverType.IsValueType &&