28 references to CallKind
Microsoft.CodeAnalysis.CSharp (28)
CodeGen\EmitExpression.cs (28)
1716CallKind callKind;
1742CallKind parentCallKind = determineEmitReceiverStrategy(parentCall, out addressKind, out box);
1762Debug.Assert(parentCallKind != CallKind.ConstrainedCallVirt);
1861CallKind determineEmitReceiverStrategy(BoundCall call, out AddressKind? addressKind, out bool box)
1867CallKind callKind;
1881callKind = CallKind.Call;
1885callKind = CallKind.CallVirt;
1906callKind = CallKind.Call;
1910callKind = CallKind.ConstrainedCallVirt;
1926callKind = CallKind.ConstrainedCallVirt;
1932callKind = CallKind.Call;
1944CallKind.CallVirt :
1945CallKind.ConstrainedCallVirt;
1947addressKind = (callKind == CallKind.ConstrainedCallVirt) ? AddressKind.Constrained : AddressKind.Writeable;
1950Debug.Assert((callKind != CallKind.ConstrainedCallVirt) || (addressKind.GetValueOrDefault() == AddressKind.Constrained) || receiverType.IsVerifierValue());
1956void emitReceiver(BoundCall call, CallKind callKind, AddressKind? addressKind, bool box, out LocalDefinition tempOpt)
1982void emitArgumentsAndCallEpilogue(BoundCall call, CallKind callKind, UseKind useKind)
1993if (method.IsOverride && callKind != CallKind.Call)
1998if (callKind == CallKind.ConstrainedCallVirt && actualMethodTargetedByTheCall.ContainingType.IsValueType)
2003callKind = CallKind.Call;
2007if (callKind == CallKind.CallVirt)
2020callKind = CallKind.Call;
2031callKind = CallKind.Call;
2040case CallKind.Call:
2050case CallKind.CallVirt:
2054case CallKind.ConstrainedCallVirt:
2068void emitGenericReceiverCloneIfNecessary(BoundCall call, CallKind callKind, ref LocalDefinition tempOpt)
2073if (callKind == CallKind.ConstrainedCallVirt && tempOpt is null && !receiverType.IsValueType &&