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 4947new 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) 2247in MethodInvocationInfo methodInvocationInfo, 2255var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo); 2264SafeContext getInvocationEscapeWithOldRules(ref readonly MethodInvocationInfo methodInvocationInfo, bool isRefEscape) 2329ref readonly MethodInvocationInfo methodInvocationInfo, 2372in MethodInvocationInfo methodInvocationInfo) 2399private static MethodInvocationInfo ReplaceWithExtensionImplementationIfNeeded(ref readonly MethodInvocationInfo methodInvocationInfo) 2413var result = methodInvocationInfo with { MethodInfo = replacedMethodInfo }; 2458in MethodInvocationInfo methodInvocationInfo, 2469var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo); 2478bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly MethodInvocationInfo methodInvocationInfo, 2488var receiverlessMethodInvocationInfo = methodInvocationInfo with 2554ref readonly MethodInvocationInfo methodInvocationInfo, 2607in MethodInvocationInfo methodInvocationInfo, 2645ref readonly MethodInvocationInfo methodInvocationInfo, 2796ref readonly MethodInvocationInfo methodInvocationInfo, 2850ref readonly MethodInvocationInfo methodInvocationInfo, 2853var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo); 2930in MethodInvocationInfo methodInvocationInfo, 2967ref readonly MethodInvocationInfo methodInvocationInfo, 2972var receiverlessInvocationInfo = methodInvocationInfo; 3032ref readonly MethodInvocationInfo methodInvocationInfo, 3037var adjustedMethodInvocationInfo = methodInvocationInfo; 3141ref readonly MethodInvocationInfo methodInvocationInfo, 3152bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly MethodInvocationInfo methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting) 3160var receiverlessInvocationInfo = methodInvocationInfo; 3235ref readonly MethodInvocationInfo methodInvocationInfo, 3796MethodInvocationInfo.FromCall(call), 3811MethodInvocationInfo.FromFunctionPointerInvocation(ptrInvocation), 3821MethodInvocationInfo.FromIndexerGetter(indexerAccess), 3836MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 3856MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 3881MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 3890MethodInvocationInfo.FromPropertyGetter(propertyAccess), 4087MethodInvocationInfo.FromCall(call), 4106MethodInvocationInfo.FromIndexerGetter(indexerAccess), 4130MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 4154MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 4183MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 4201MethodInvocationInfo.FromFunctionPointerInvocation(functionPointerInvocation), 4219MethodInvocationInfo.FromPropertyGetter(propertyAccess), 4452MethodInvocationInfo.FromCall(call), 4461MethodInvocationInfo.FromFunctionPointerInvocation(ptrInvocation), 4470MethodInvocationInfo.FromIndexerGetter(indexerAccess), 4485MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 4499MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 4515MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 4524MethodInvocationInfo.FromPropertyGetter(propertyAccess), 4533MethodInvocationInfo.FromObjectCreation(objectCreation), 4571MethodInvocationInfo.FromUnaryOperator(unaryOperator), 4598MethodInvocationInfo.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors), 4608MethodInvocationInfo.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors), 4637MethodInvocationInfo.FromIncrementOperator(increment), 4654MethodInvocationInfo.FromCompoundAssignmentOperator(compound), 4672MethodInvocationInfo.FromBinaryOperator(binary), 4689MethodInvocationInfo.FromUserDefinedConditionalLogicalOperator(uo), 4821safeContext = GetInvocationEscapeToReceiver(MethodInvocationInfo.FromCollectionElementInitializer(colElement)); 4829safeContext = GetInvocationEscapeToReceiver(MethodInvocationInfo.FromCollectionElementInitializer(spreadElementInitializer)); 4871MethodInvocationInfo.FromCollectionElementInitializer(colElement)) 5174MethodInvocationInfo.FromCall(call), 5187MethodInvocationInfo.FromFunctionPointerInvocation(ptrInvocation), 5200MethodInvocationInfo.FromIndexerGetter(indexerAccess), 5219MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 5239MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 5259MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 5272MethodInvocationInfo.FromPropertyGetter(propertyAccess), 5285MethodInvocationInfo.FromObjectCreation(objectCreation), 5343MethodInvocationInfo.FromUnaryOperator(unary), 5384MethodInvocationInfo.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors), 5398MethodInvocationInfo.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors), 5432MethodInvocationInfo.FromIncrementOperator(increment), 5451MethodInvocationInfo.FromCompoundAssignmentOperator(compound), 5478MethodInvocationInfo.FromBinaryOperator(binary), 5503MethodInvocationInfo.FromUserDefinedConditionalLogicalOperator(uo), 5811MethodInvocationInfo.FromCollectionElementInitializer(colElement), 5905MethodInvocationInfo.FromCall(call))); 5947MethodInvocationInfo.FromCall(call),
Binder\RefSafetyAnalysis.cs (25)
674var methodInvocationInfo = MethodInvocationInfo.FromCompoundAssignmentOperator(node); 831MethodInvocationInfo methodInvocationInfo = getInvocationInfo(node); 834var calls = ArrayBuilder<(BoundCall call, MethodInvocationInfo methodInvocationInfo)>.GetInstance(); 869static MethodInvocationInfo getInvocationInfo(BoundCall node) 871var methodInvocationInfo = MethodInvocationInfo.FromCall(node); 881void visitReceiver(BoundCall node, ref readonly MethodInvocationInfo methodInvocationInfo) 893void visitArguments(BoundCall node, ref readonly MethodInvocationInfo methodInvocationInfo) 911private void VisitReceiver(ref readonly MethodInvocationInfo methodInvocationInfo) 924private void VisitArguments(BoundCall node, ref readonly MethodInvocationInfo methodInvocationInfo) 1041var methodInvocationInfo = MethodInvocationInfo.FromObjectCreation(node); 1063private void VisitObjectCreationWithInitializer(BoundObjectCreationExpressionBase node, in MethodInvocationInfo methodInvocationInfo, SafeContext initializerEscape) 1132var methodInvocationInfo = MethodInvocationInfo.FromIndexerGetter(node); 1156var methodInvocationInfo = MethodInvocationInfo.FromFunctionPointerInvocation(node); 1235var methodInvocationInfo = MethodInvocationInfo.FromCall(invocation); 1357MethodInvocationInfo.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, node.HasAnyErrors), 1475var methodInvocationInfo = MethodInvocationInfo.FromCollectionElementInitializer(spreadElementInitializer); 1503var methodInvocationInfo = MethodInvocationInfo.FromObjectCreation(objectCreation);