16 instantiations of MethodInvocationInfo
Microsoft.CodeAnalysis.CSharp (16)
Binder\Binder.ValueChecks.cs (16)
113=> new MethodInvocationInfo 126=> new MethodInvocationInfo 141return new MethodInvocationInfo 157return new MethodInvocationInfo 173return new MethodInvocationInfo 189return new MethodInvocationInfo 206return new MethodInvocationInfo 220=> new MethodInvocationInfo 233=> new MethodInvocationInfo 246=> new MethodInvocationInfo 261return new MethodInvocationInfo 278return new MethodInvocationInfo 292=> new MethodInvocationInfo 307return new MethodInvocationInfo 317=> new MethodInvocationInfo 4962new MethodInvocationInfo
123 references to MethodInvocationInfo
Microsoft.CodeAnalysis.CSharp (123)
Binder\Binder.ValueChecks.cs (93)
112public static MethodInvocationInfo FromCall(BoundCall call, BoundExpression? substitutedReceiver = null) 125public static MethodInvocationInfo FromCallParts(MethodSymbol method, BoundExpression receiver, ImmutableArray<BoundExpression> args, ThreeState receiverIsSubjectToCloning) 138public static MethodInvocationInfo FromFunctionPointerInvocation(BoundFunctionPointerInvocation ptrInvocation) 154public static MethodInvocationInfo FromIndexerGetter(BoundIndexerAccess indexerAccess, BoundExpression? substitutedReceiver = null) 170public static MethodInvocationInfo FromObjectCreation(BoundObjectCreationExpressionBase objectCreation) 186public static MethodInvocationInfo FromUnaryOperator(BoundUnaryOperator unaryOperator) 202public static MethodInvocationInfo FromBinaryOperator(BoundBinaryOperator binaryOperator) 219public static MethodInvocationInfo FromUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator logicalOperator) 232public static MethodInvocationInfo FromUserDefinedOrUnionConversion(MethodSymbol operatorMethod, BoundExpression operand, bool hasAnyErrors) 245public static MethodInvocationInfo FromInlineArrayConversion(SignatureOnlyMethodSymbol equivalentSignatureMethod, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKinds, bool hasAnyErrors) 258public static MethodInvocationInfo FromIncrementOperator(BoundIncrementOperator incrementOperator) 274public static MethodInvocationInfo FromCompoundAssignmentOperator(BoundCompoundAssignmentOperator compoundOperator) 291public static MethodInvocationInfo FromInlineArrayAccess(SignatureOnlyMethodSymbol equivalentSignatureMethod, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKinds, bool hasAnyErrors) 304public static MethodInvocationInfo FromPropertyGetter(BoundPropertyAccess propertyAccess) 316public static MethodInvocationInfo FromCollectionElementInitializer(BoundCollectionElementInitializer colElement) 2262in MethodInvocationInfo methodInvocationInfo, 2270var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo); 2279SafeContext getInvocationEscapeWithOldRules(ref readonly MethodInvocationInfo methodInvocationInfo, bool isRefEscape) 2344ref readonly MethodInvocationInfo methodInvocationInfo, 2387in MethodInvocationInfo methodInvocationInfo) 2414private static MethodInvocationInfo ReplaceWithExtensionImplementationIfNeeded(ref readonly MethodInvocationInfo methodInvocationInfo) 2428var result = methodInvocationInfo with { MethodInfo = replacedMethodInfo }; 2473in MethodInvocationInfo methodInvocationInfo, 2484var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo); 2493bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly MethodInvocationInfo methodInvocationInfo, 2503var receiverlessMethodInvocationInfo = methodInvocationInfo with 2569ref readonly MethodInvocationInfo methodInvocationInfo, 2622in MethodInvocationInfo methodInvocationInfo, 2660ref readonly MethodInvocationInfo methodInvocationInfo, 2811ref readonly MethodInvocationInfo methodInvocationInfo, 2865ref readonly MethodInvocationInfo methodInvocationInfo, 2868var localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo); 2945in MethodInvocationInfo methodInvocationInfo, 2982ref readonly MethodInvocationInfo methodInvocationInfo, 2987var receiverlessInvocationInfo = methodInvocationInfo; 3047ref readonly MethodInvocationInfo methodInvocationInfo, 3052var adjustedMethodInvocationInfo = methodInvocationInfo; 3156ref readonly MethodInvocationInfo methodInvocationInfo, 3167bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly MethodInvocationInfo methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting) 3175var receiverlessInvocationInfo = methodInvocationInfo; 3250ref readonly MethodInvocationInfo methodInvocationInfo, 3323private static bool AllParametersConsideredInEscapeAnalysisHaveArguments(ref readonly MethodInvocationInfo methodInvocationInfo) 3811MethodInvocationInfo.FromCall(call), 3826MethodInvocationInfo.FromFunctionPointerInvocation(ptrInvocation), 3836MethodInvocationInfo.FromIndexerGetter(indexerAccess), 3851MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 3871MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 3896MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 3905MethodInvocationInfo.FromPropertyGetter(propertyAccess), 4102MethodInvocationInfo.FromCall(call), 4121MethodInvocationInfo.FromIndexerGetter(indexerAccess), 4145MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 4169MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 4198MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 4216MethodInvocationInfo.FromFunctionPointerInvocation(functionPointerInvocation), 4234MethodInvocationInfo.FromPropertyGetter(propertyAccess), 4467MethodInvocationInfo.FromCall(call), 4476MethodInvocationInfo.FromFunctionPointerInvocation(ptrInvocation), 4485MethodInvocationInfo.FromIndexerGetter(indexerAccess), 4500MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 4514MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 4530MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 4539MethodInvocationInfo.FromPropertyGetter(propertyAccess), 4548MethodInvocationInfo.FromObjectCreation(objectCreation), 4586MethodInvocationInfo.FromUnaryOperator(unaryOperator), 4613MethodInvocationInfo.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors), 4623MethodInvocationInfo.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors), 4652MethodInvocationInfo.FromIncrementOperator(increment), 4669MethodInvocationInfo.FromCompoundAssignmentOperator(compound), 4687MethodInvocationInfo.FromBinaryOperator(binary), 4704MethodInvocationInfo.FromUserDefinedConditionalLogicalOperator(uo), 4836safeContext = GetInvocationEscapeToReceiver(MethodInvocationInfo.FromCollectionElementInitializer(colElement)); 4844safeContext = GetInvocationEscapeToReceiver(MethodInvocationInfo.FromCollectionElementInitializer(spreadElementInitializer)); 4886MethodInvocationInfo.FromCollectionElementInitializer(colElement)) 5189MethodInvocationInfo.FromCall(call), 5202MethodInvocationInfo.FromFunctionPointerInvocation(ptrInvocation), 5215MethodInvocationInfo.FromIndexerGetter(indexerAccess), 5234MethodInvocationInfo.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver), 5254MethodInvocationInfo.FromCall(call, implicitIndexerAccess.Receiver), 5274MethodInvocationInfo.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors), 5287MethodInvocationInfo.FromPropertyGetter(propertyAccess), 5300MethodInvocationInfo.FromObjectCreation(objectCreation), 5358MethodInvocationInfo.FromUnaryOperator(unary), 5399MethodInvocationInfo.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors), 5413MethodInvocationInfo.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors), 5447MethodInvocationInfo.FromIncrementOperator(increment), 5466MethodInvocationInfo.FromCompoundAssignmentOperator(compound), 5493MethodInvocationInfo.FromBinaryOperator(binary), 5518MethodInvocationInfo.FromUserDefinedConditionalLogicalOperator(uo), 5826MethodInvocationInfo.FromCollectionElementInitializer(colElement), 5920MethodInvocationInfo.FromCall(call))); 5962MethodInvocationInfo.FromCall(call),
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\RefSafetyAnalysis.cs (25)
620var methodInvocationInfo = MethodInvocationInfo.FromCompoundAssignmentOperator(node); 777MethodInvocationInfo methodInvocationInfo = getInvocationInfo(node); 780var calls = ArrayBuilder<(BoundCall call, MethodInvocationInfo methodInvocationInfo)>.GetInstance(); 815static MethodInvocationInfo getInvocationInfo(BoundCall node) 817var methodInvocationInfo = MethodInvocationInfo.FromCall(node); 827void visitReceiver(BoundCall node, ref readonly MethodInvocationInfo methodInvocationInfo) 839void visitArguments(BoundCall node, ref readonly MethodInvocationInfo methodInvocationInfo) 857private void VisitReceiver(ref readonly MethodInvocationInfo methodInvocationInfo) 870private void VisitArguments(BoundCall node, ref readonly MethodInvocationInfo methodInvocationInfo) 987var methodInvocationInfo = MethodInvocationInfo.FromObjectCreation(node); 1009private void VisitObjectCreationWithInitializer(BoundObjectCreationExpressionBase node, in MethodInvocationInfo methodInvocationInfo, SafeContext initializerEscape) 1078var methodInvocationInfo = MethodInvocationInfo.FromIndexerGetter(node); 1102var methodInvocationInfo = MethodInvocationInfo.FromFunctionPointerInvocation(node); 1181var methodInvocationInfo = MethodInvocationInfo.FromCall(invocation); 1303MethodInvocationInfo.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, node.HasAnyErrors), 1421var methodInvocationInfo = MethodInvocationInfo.FromCollectionElementInitializer(spreadElementInitializer); 1449var methodInvocationInfo = MethodInvocationInfo.FromObjectCreation(objectCreation);