41 references to UseKind
Microsoft.CodeAnalysis.CSharp (41)
CodeGen\EmitAddress.cs (3)
115EmitCallExpression(call, UseKind.UsedAsAddress); 127EmitCalli(funcPtrInvocation, UseKind.UsedAsAddress); 160EmitAssignmentExpression(assignment, UseKind.UsedAsAddress);
CodeGen\EmitExpression.cs (38)
99EmitAssignmentExpression((BoundAssignmentOperator)expression, used ? UseKind.UsedAsValue : UseKind.Unused); 103EmitCallExpression((BoundCall)expression, used ? UseKind.UsedAsValue : UseKind.Unused); 350EmitCalli((BoundFunctionPointerInvocation)expression, used ? UseKind.UsedAsValue : UseKind.Unused); 1640private void EmitCallExpression(BoundCall call, UseKind useKind) 1677private void EmitStaticCallExpression(BoundCall call, UseKind useKind) 1690MightEscapeTemporaryRefs(call, used: useKind != UseKind.Unused)); 1714private void EmitInstanceCallExpression(BoundCall call, UseKind useKind) 1745UseKind receiverUseKind; 1748receiverUseKind = UseKind.UsedAsValue; 1756receiverUseKind = UseKind.UsedAsValue; 1776receiverUseKind = UseKind.UsedAsAddress; 1783receiverUseKind = UseKind.UsedAsValue; 1802Debug.Assert(receiverUseKind == UseKind.UsedAsValue); 1812Debug.Assert(receiverUseKind == UseKind.UsedAsValue); 1819if (receiverUseKind != UseKind.UsedAsAddress) 1821Debug.Assert(receiverUseKind == UseKind.UsedAsValue); 1854_builder.LocalSlotManager.EndScopeOfTrackingAddressedLocals(countBefore, MightEscapeTemporaryRefs(call, used: useKind != UseKind.Unused)); 1982void emitArgumentsAndCallEpilogue(BoundCall call, CallKind callKind, UseKind useKind) 2559private void EmitAssignmentExpression(BoundAssignmentOperator assignmentOperator, UseKind useKind) 2561if (TryEmitAssignmentInPlace(assignmentOperator, useKind != UseKind.Unused)) 2993EmitCallExpression(left, UseKind.UsedAsAddress); 3004EmitCalli(left, UseKind.UsedAsAddress); 3032EmitAssignmentExpression(assignment, UseKind.UsedAsAddress); 3083private LocalDefinition EmitAssignmentDuplication(BoundAssignmentOperator assignmentOperator, UseKind useKind, bool lhsUsesStack) 3086if (useKind != UseKind.Unused) 3227private void EmitAssignmentPostfix(BoundAssignmentOperator assignment, LocalDefinition temp, UseKind useKind) 3231if (useKind == UseKind.UsedAsAddress) 3242if (useKind == UseKind.UsedAsValue && assignment.IsRef) 4074private void EmitCalli(BoundFunctionPointerInvocation ptrInvocation, UseKind useKind) 4096MightEscapeTemporaryRefs(ptrInvocation, used: useKind != UseKind.Unused)); 4111private void EmitCallCleanup(SyntaxNode syntax, UseKind useKind, MethodSymbol method) 4115EmitPopIfUnused(useKind != UseKind.Unused); 4121Debug.Assert(useKind == UseKind.Unused, "Using the return value of a void method."); 4155if (useKind == UseKind.UsedAsValue && method.RefKind != RefKind.None) 4159else if (useKind == UseKind.UsedAsAddress)