28 references to CallKind
Microsoft.CodeAnalysis.CSharp (28)
CodeGen\EmitExpression.cs (28)
1785CallKind callKind;
1811CallKind parentCallKind = determineEmitReceiverStrategy(parentCall, out addressKind, out box);
1831Debug.Assert(parentCallKind != CallKind.ConstrainedCallVirt);
1930CallKind determineEmitReceiverStrategy(BoundCall call, out AddressKind? addressKind, out bool box)
1936CallKind callKind;
1950callKind = CallKind.Call;
1954callKind = CallKind.CallVirt;
1975callKind = CallKind.Call;
1979callKind = CallKind.ConstrainedCallVirt;
1995callKind = CallKind.ConstrainedCallVirt;
2001callKind = CallKind.Call;
2013CallKind.CallVirt :
2014CallKind.ConstrainedCallVirt;
2016addressKind = (callKind == CallKind.ConstrainedCallVirt) ? AddressKind.Constrained : AddressKind.Writeable;
2019Debug.Assert((callKind != CallKind.ConstrainedCallVirt) || (addressKind.GetValueOrDefault() == AddressKind.Constrained) || receiverType.IsVerifierValue());
2025void emitReceiver(BoundCall call, CallKind callKind, AddressKind? addressKind, bool box, out LocalDefinition tempOpt)
2051void emitArgumentsAndCallEpilogue(BoundCall call, CallKind callKind, UseKind useKind)
2062if (method.IsOverride && callKind != CallKind.Call)
2067if (callKind == CallKind.ConstrainedCallVirt && actualMethodTargetedByTheCall.ContainingType.IsValueType)
2072callKind = CallKind.Call;
2076if (callKind == CallKind.CallVirt)
2089callKind = CallKind.Call;
2100callKind = CallKind.Call;
2109case CallKind.Call:
2119case CallKind.CallVirt:
2123case CallKind.ConstrainedCallVirt:
2137void emitGenericReceiverCloneIfNecessary(BoundCall call, CallKind callKind, ref LocalDefinition tempOpt)
2142if (callKind == CallKind.ConstrainedCallVirt && tempOpt is null && !receiverType.IsValueType &&