42 references to UseKind
Microsoft.CodeAnalysis.CSharp (42)
CodeGen\EmitAddress.cs (4)
121EmitCallExpression(call, UseKind.UsedAsAddress); 134EmitCalli(funcPtrInvocation, UseKind.UsedAsAddress); 171EmitAssignmentExpression(assignment, used ? UseKind.UsedAsAddress : UseKind.Unused);
CodeGen\EmitExpression.cs (38)
99EmitAssignmentExpression((BoundAssignmentOperator)expression, used ? UseKind.UsedAsValue : UseKind.Unused); 103EmitCallExpression((BoundCall)expression, used ? UseKind.UsedAsValue : UseKind.Unused); 347EmitCalli((BoundFunctionPointerInvocation)expression, used ? UseKind.UsedAsValue : UseKind.Unused); 1709private void EmitCallExpression(BoundCall call, UseKind useKind) 1746private void EmitStaticCallExpression(BoundCall call, UseKind useKind) 1759MightEscapeTemporaryRefs(call, used: useKind != UseKind.Unused)); 1783private void EmitInstanceCallExpression(BoundCall call, UseKind useKind) 1814UseKind receiverUseKind; 1817receiverUseKind = UseKind.UsedAsValue; 1825receiverUseKind = UseKind.UsedAsValue; 1845receiverUseKind = UseKind.UsedAsAddress; 1852receiverUseKind = UseKind.UsedAsValue; 1871Debug.Assert(receiverUseKind == UseKind.UsedAsValue); 1881Debug.Assert(receiverUseKind == UseKind.UsedAsValue); 1888if (receiverUseKind != UseKind.UsedAsAddress) 1890Debug.Assert(receiverUseKind == UseKind.UsedAsValue); 1923_builder.LocalSlotManager.EndScopeOfTrackingAddressedLocals(countBefore, MightEscapeTemporaryRefs(call, used: useKind != UseKind.Unused)); 2051void emitArgumentsAndCallEpilogue(BoundCall call, CallKind callKind, UseKind useKind) 2646private void EmitAssignmentExpression(BoundAssignmentOperator assignmentOperator, UseKind useKind) 2648if (TryEmitAssignmentInPlace(assignmentOperator, useKind != UseKind.Unused)) 3085EmitCallExpression(left, UseKind.UsedAsAddress); 3096EmitCalli(left, UseKind.UsedAsAddress); 3124EmitAssignmentExpression(assignment, UseKind.UsedAsAddress); 3185private LocalDefinition EmitAssignmentDuplication(BoundAssignmentOperator assignmentOperator, UseKind useKind, bool lhsUsesStack) 3188if (useKind != UseKind.Unused) 3335private void EmitAssignmentPostfix(BoundAssignmentOperator assignment, LocalDefinition temp, UseKind useKind) 3339if (useKind == UseKind.UsedAsAddress) 3350if (useKind == UseKind.UsedAsValue && assignment.IsRef) 4182private void EmitCalli(BoundFunctionPointerInvocation ptrInvocation, UseKind useKind) 4204MightEscapeTemporaryRefs(ptrInvocation, used: useKind != UseKind.Unused)); 4219private void EmitCallCleanup(SyntaxNode syntax, UseKind useKind, MethodSymbol method) 4223EmitPopIfUnused(useKind != UseKind.Unused); 4229Debug.Assert(useKind == UseKind.Unused, "Using the return value of a void method."); 4263if (useKind == UseKind.UsedAsValue && method.RefKind != RefKind.None) 4267else if (useKind == UseKind.UsedAsAddress)