28 references to CallKind
Microsoft.CodeAnalysis.CSharp (28)
CodeGen\EmitExpression.cs (28)
1705CallKind callKind;
1731CallKind parentCallKind = determineEmitReceiverStrategy(parentCall, out addressKind, out box);
1751Debug.Assert(parentCallKind != CallKind.ConstrainedCallVirt);
1850CallKind determineEmitReceiverStrategy(BoundCall call, out AddressKind? addressKind, out bool box)
1856CallKind callKind;
1870callKind = CallKind.Call;
1874callKind = CallKind.CallVirt;
1895callKind = CallKind.Call;
1899callKind = CallKind.ConstrainedCallVirt;
1911callKind = CallKind.ConstrainedCallVirt;
1917callKind = CallKind.Call;
1929CallKind.CallVirt :
1930CallKind.ConstrainedCallVirt;
1932addressKind = (callKind == CallKind.ConstrainedCallVirt) ? AddressKind.Constrained : AddressKind.Writeable;
1935Debug.Assert((callKind != CallKind.ConstrainedCallVirt) || (addressKind.GetValueOrDefault() == AddressKind.Constrained) || receiverType.IsVerifierValue());
1941void emitReceiver(BoundCall call, CallKind callKind, AddressKind? addressKind, bool box, out LocalDefinition tempOpt)
1967void emitArgumentsAndCallEpilogue(BoundCall call, CallKind callKind, UseKind useKind)
1978if (method.IsOverride && callKind != CallKind.Call)
1983if (callKind == CallKind.ConstrainedCallVirt && actualMethodTargetedByTheCall.ContainingType.IsValueType)
1988callKind = CallKind.Call;
1992if (callKind == CallKind.CallVirt)
2005callKind = CallKind.Call;
2016callKind = CallKind.Call;
2025case CallKind.Call:
2029case CallKind.CallVirt:
2033case CallKind.ConstrainedCallVirt:
2047void emitGenericReceiverCloneIfNecessary(BoundCall call, CallKind callKind, ref LocalDefinition tempOpt)
2052if (callKind == CallKind.ConstrainedCallVirt && tempOpt is null && !receiverType.IsValueType &&