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