28 references to CallKind
Microsoft.CodeAnalysis.CSharp (28)
CodeGen\EmitExpression.cs (28)
1719CallKind callKind;
1745CallKind parentCallKind = determineEmitReceiverStrategy(parentCall, out addressKind, out box);
1765Debug.Assert(parentCallKind != CallKind.ConstrainedCallVirt);
1864CallKind determineEmitReceiverStrategy(BoundCall call, out AddressKind? addressKind, out bool box)
1870CallKind callKind;
1884callKind = CallKind.Call;
1888callKind = CallKind.CallVirt;
1909callKind = CallKind.Call;
1913callKind = CallKind.ConstrainedCallVirt;
1929callKind = CallKind.ConstrainedCallVirt;
1935callKind = CallKind.Call;
1947CallKind.CallVirt :
1948CallKind.ConstrainedCallVirt;
1950addressKind = (callKind == CallKind.ConstrainedCallVirt) ? AddressKind.Constrained : AddressKind.Writeable;
1953Debug.Assert((callKind != CallKind.ConstrainedCallVirt) || (addressKind.GetValueOrDefault() == AddressKind.Constrained) || receiverType.IsVerifierValue());
1959void emitReceiver(BoundCall call, CallKind callKind, AddressKind? addressKind, bool box, out LocalDefinition tempOpt)
1985void emitArgumentsAndCallEpilogue(BoundCall call, CallKind callKind, UseKind useKind)
1996if (method.IsOverride && callKind != CallKind.Call)
2001if (callKind == CallKind.ConstrainedCallVirt && actualMethodTargetedByTheCall.ContainingType.IsValueType)
2006callKind = CallKind.Call;
2010if (callKind == CallKind.CallVirt)
2023callKind = CallKind.Call;
2034callKind = CallKind.Call;
2043case CallKind.Call:
2053case CallKind.CallVirt:
2057case CallKind.ConstrainedCallVirt:
2071void emitGenericReceiverCloneIfNecessary(BoundCall call, CallKind callKind, ref LocalDefinition tempOpt)
2076if (callKind == CallKind.ConstrainedCallVirt && tempOpt is null && !receiverType.IsValueType &&