16 instantiations of MethodInvocationInfo
Microsoft.CodeAnalysis.CSharp (16)
Binder\Binder.ValueChecks.cs (16)
114=> new MethodInvocationInfo 127=> new MethodInvocationInfo 142return new MethodInvocationInfo 158return new MethodInvocationInfo 174return new MethodInvocationInfo 190return new MethodInvocationInfo 207return new MethodInvocationInfo 221=> new MethodInvocationInfo 234=> new MethodInvocationInfo 247=> new MethodInvocationInfo 262return new MethodInvocationInfo 279return new MethodInvocationInfo 293=> new MethodInvocationInfo 308return new MethodInvocationInfo 318=> new MethodInvocationInfo 4963new MethodInvocationInfo
122 references to MethodInvocationInfo
Microsoft.CodeAnalysis.CSharp (122)
Binder\Binder_Statements.cs (5)
1617var methodInvocationInfo = MethodInvocationInfo.FromCallParts(propSet, property.ReceiverOpt, args: [op2], receiverIsSubjectToCloning: property.InitialBindingReceiverIsSubjectToCloning); 1621methodInvocationInfo = MethodInvocationInfo.FromCallParts(indexerSet, indexer.ReceiverOpt, args: [.. indexer.Arguments, op2], receiverIsSubjectToCloning: indexer.InitialBindingReceiverIsSubjectToCloning); 1653void analyzeSetterInvocation(ref readonly MethodInvocationInfo methodInvocationInfo) 1656var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
Binder\Binder.ValueChecks.cs (92)
113public static MethodInvocationInfo FromCall(BoundCall call, BoundExpression? substitutedReceiver = null) 126public static MethodInvocationInfo FromCallParts(MethodSymbol method, BoundExpression receiver, ImmutableArray<BoundExpression> args, ThreeState receiverIsSubjectToCloning) 139public static MethodInvocationInfo FromFunctionPointerInvocation(BoundFunctionPointerInvocation ptrInvocation) 155public static MethodInvocationInfo FromIndexerGetter(BoundIndexerAccess indexerAccess, BoundExpression? substitutedReceiver = null) 171public static MethodInvocationInfo FromObjectCreation(BoundObjectCreationExpressionBase objectCreation) 187public static MethodInvocationInfo FromUnaryOperator(BoundUnaryOperator unaryOperator) 203public static MethodInvocationInfo FromBinaryOperator(BoundBinaryOperator binaryOperator) 220public static MethodInvocationInfo FromUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator logicalOperator) 233public static MethodInvocationInfo FromUserDefinedOrUnionConversion(MethodSymbol operatorMethod, BoundExpression operand, bool hasAnyErrors) 246public static MethodInvocationInfo FromInlineArrayConversion(SignatureOnlyMethodSymbol equivalentSignatureMethod, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKinds, bool hasAnyErrors) 259public static MethodInvocationInfo FromIncrementOperator(BoundIncrementOperator incrementOperator) 275public static MethodInvocationInfo FromCompoundAssignmentOperator(BoundCompoundAssignmentOperator compoundOperator) 292public static MethodInvocationInfo FromInlineArrayAccess(SignatureOnlyMethodSymbol equivalentSignatureMethod, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKinds, bool hasAnyErrors) 305public static MethodInvocationInfo FromPropertyGetter(BoundPropertyAccess propertyAccess) 317public static MethodInvocationInfo FromCollectionElementInitializer(BoundCollectionElementInitializer colElement) 2263in MethodInvocationInfo methodInvocationInfo, 2271var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo); 2280SafeContext getInvocationEscapeWithOldRules(ref readonly MethodInvocationInfo methodInvocationInfo, bool isRefEscape) 2345ref readonly MethodInvocationInfo methodInvocationInfo, 2388in MethodInvocationInfo methodInvocationInfo) 2415private static MethodInvocationInfo ReplaceWithExtensionImplementationIfNeeded(ref readonly MethodInvocationInfo methodInvocationInfo) 2429var result = methodInvocationInfo with { MethodInfo = replacedMethodInfo }; 2474in MethodInvocationInfo methodInvocationInfo, 2485var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo); 2494bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly MethodInvocationInfo methodInvocationInfo, 2504var receiverlessMethodInvocationInfo = methodInvocationInfo with 2570ref readonly MethodInvocationInfo methodInvocationInfo, 2623in MethodInvocationInfo methodInvocationInfo, 2661ref readonly MethodInvocationInfo methodInvocationInfo, 2812ref readonly MethodInvocationInfo methodInvocationInfo, 2866ref readonly MethodInvocationInfo methodInvocationInfo, 2869var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo); 2946in MethodInvocationInfo methodInvocationInfo, 2983ref readonly MethodInvocationInfo methodInvocationInfo, 2988var receiverlessInvocationInfo = methodInvocationInfo; 3048ref readonly MethodInvocationInfo methodInvocationInfo, 3053var adjustedMethodInvocationInfo = methodInvocationInfo; 3157ref readonly MethodInvocationInfo methodInvocationInfo, 3168bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly MethodInvocationInfo methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting) 3176var receiverlessInvocationInfo = methodInvocationInfo; 3251ref readonly MethodInvocationInfo methodInvocationInfo, 3812MethodInvocationInfo.FromCall(call), 3827MethodInvocationInfo.FromFunctionPointerInvocation(ptrInvocation), 3837MethodInvocationInfo.FromIndexerGetter(indexerAccess), 3852MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 3872MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 3897MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 3906MethodInvocationInfo.FromPropertyGetter(propertyAccess), 4103MethodInvocationInfo.FromCall(call), 4122MethodInvocationInfo.FromIndexerGetter(indexerAccess), 4146MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 4170MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 4199MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 4217MethodInvocationInfo.FromFunctionPointerInvocation(functionPointerInvocation), 4235MethodInvocationInfo.FromPropertyGetter(propertyAccess), 4468MethodInvocationInfo.FromCall(call), 4477MethodInvocationInfo.FromFunctionPointerInvocation(ptrInvocation), 4486MethodInvocationInfo.FromIndexerGetter(indexerAccess), 4501MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 4515MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 4531MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 4540MethodInvocationInfo.FromPropertyGetter(propertyAccess), 4549MethodInvocationInfo.FromObjectCreation(objectCreation), 4587MethodInvocationInfo.FromUnaryOperator(unaryOperator), 4614MethodInvocationInfo.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors), 4624MethodInvocationInfo.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors), 4653MethodInvocationInfo.FromIncrementOperator(increment), 4670MethodInvocationInfo.FromCompoundAssignmentOperator(compound), 4688MethodInvocationInfo.FromBinaryOperator(binary), 4705MethodInvocationInfo.FromUserDefinedConditionalLogicalOperator(uo), 4837safeContext = GetInvocationEscapeToReceiver(MethodInvocationInfo.FromCollectionElementInitializer(colElement)); 4845safeContext = GetInvocationEscapeToReceiver(MethodInvocationInfo.FromCollectionElementInitializer(spreadElementInitializer)); 4887MethodInvocationInfo.FromCollectionElementInitializer(colElement)) 5190MethodInvocationInfo.FromCall(call), 5203MethodInvocationInfo.FromFunctionPointerInvocation(ptrInvocation), 5216MethodInvocationInfo.FromIndexerGetter(indexerAccess), 5235MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 5255MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 5275MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 5288MethodInvocationInfo.FromPropertyGetter(propertyAccess), 5301MethodInvocationInfo.FromObjectCreation(objectCreation), 5359MethodInvocationInfo.FromUnaryOperator(unary), 5400MethodInvocationInfo.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors), 5414MethodInvocationInfo.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors), 5448MethodInvocationInfo.FromIncrementOperator(increment), 5467MethodInvocationInfo.FromCompoundAssignmentOperator(compound), 5494MethodInvocationInfo.FromBinaryOperator(binary), 5519MethodInvocationInfo.FromUserDefinedConditionalLogicalOperator(uo), 5827MethodInvocationInfo.FromCollectionElementInitializer(colElement), 5921MethodInvocationInfo.FromCall(call))); 5963MethodInvocationInfo.FromCall(call),
Binder\RefSafetyAnalysis.cs (25)
625var methodInvocationInfo = MethodInvocationInfo.FromCompoundAssignmentOperator(node); 782MethodInvocationInfo methodInvocationInfo = getInvocationInfo(node); 785var calls = ArrayBuilder<(BoundCall call, MethodInvocationInfo methodInvocationInfo)>.GetInstance(); 820static MethodInvocationInfo getInvocationInfo(BoundCall node) 822var methodInvocationInfo = MethodInvocationInfo.FromCall(node); 832void visitReceiver(BoundCall node, ref readonly MethodInvocationInfo methodInvocationInfo) 844void visitArguments(BoundCall node, ref readonly MethodInvocationInfo methodInvocationInfo) 862private void VisitReceiver(ref readonly MethodInvocationInfo methodInvocationInfo) 875private void VisitArguments(BoundCall node, ref readonly MethodInvocationInfo methodInvocationInfo) 992var methodInvocationInfo = MethodInvocationInfo.FromObjectCreation(node); 1014private void VisitObjectCreationWithInitializer(BoundObjectCreationExpressionBase node, in MethodInvocationInfo methodInvocationInfo, SafeContext initializerEscape) 1083var methodInvocationInfo = MethodInvocationInfo.FromIndexerGetter(node); 1107var methodInvocationInfo = MethodInvocationInfo.FromFunctionPointerInvocation(node); 1186var methodInvocationInfo = MethodInvocationInfo.FromCall(invocation); 1308MethodInvocationInfo.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, node.HasAnyErrors), 1426var methodInvocationInfo = MethodInvocationInfo.FromCollectionElementInitializer(spreadElementInitializer); 1454var methodInvocationInfo = MethodInvocationInfo.FromObjectCreation(objectCreation);