16 instantiations of MethodInvocationInfo
Microsoft.CodeAnalysis.CSharp (16)
Binder\Binder.ValueChecks.cs (16)
134
=> new
MethodInvocationInfo
147
=> new
MethodInvocationInfo
162
return new
MethodInvocationInfo
176
=> new
MethodInvocationInfo
191
return new
MethodInvocationInfo
207
return new
MethodInvocationInfo
224
return new
MethodInvocationInfo
238
=> new
MethodInvocationInfo
251
=> new
MethodInvocationInfo
264
=> new
MethodInvocationInfo
279
return new
MethodInvocationInfo
296
return new
MethodInvocationInfo
310
=> new
MethodInvocationInfo
323
=> new
MethodInvocationInfo
332
=> new
MethodInvocationInfo
4932
new
MethodInvocationInfo
116 references to MethodInvocationInfo
Microsoft.CodeAnalysis.CSharp (116)
Binder\Binder.ValueChecks.cs (91)
133
public static
MethodInvocationInfo
FromCall(BoundCall call, BoundExpression? substitutedReceiver = null)
146
public static
MethodInvocationInfo
FromCallParts(MethodSymbol method, BoundExpression receiver, ImmutableArray<BoundExpression> args, ThreeState receiverIsSubjectToCloning)
159
public static
MethodInvocationInfo
FromFunctionPointerInvocation(BoundFunctionPointerInvocation ptrInvocation)
175
public static
MethodInvocationInfo
FromIndexerAccess(BoundIndexerAccess indexerAccess, BoundExpression? substitutedReceiver = null)
188
public static
MethodInvocationInfo
FromObjectCreation(BoundObjectCreationExpressionBase objectCreation)
204
public static
MethodInvocationInfo
FromUnaryOperator(BoundUnaryOperator unaryOperator)
220
public static
MethodInvocationInfo
FromBinaryOperator(BoundBinaryOperator binaryOperator)
237
public static
MethodInvocationInfo
FromUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator logicalOperator)
250
public static
MethodInvocationInfo
FromUserDefinedOrUnionConversion(MethodSymbol operatorMethod, BoundExpression operand, bool hasAnyErrors)
263
public static
MethodInvocationInfo
FromInlineArrayConversion(SignatureOnlyMethodSymbol equivalentSignatureMethod, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKinds, bool hasAnyErrors)
276
public static
MethodInvocationInfo
FromIncrementOperator(BoundIncrementOperator incrementOperator)
292
public static
MethodInvocationInfo
FromCompoundAssignmentOperator(BoundCompoundAssignmentOperator compoundOperator)
309
public static
MethodInvocationInfo
FromInlineArrayAccess(SignatureOnlyMethodSymbol equivalentSignatureMethod, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKinds, bool hasAnyErrors)
322
public static
MethodInvocationInfo
FromProperty(BoundPropertyAccess propertyAccess)
331
public static
MethodInvocationInfo
FromCollectionElementInitializer(BoundCollectionElementInitializer colElement)
2259
in
MethodInvocationInfo
methodInvocationInfo,
2267
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2276
SafeContext getInvocationEscapeWithOldRules(ref readonly
MethodInvocationInfo
methodInvocationInfo, bool isRefEscape)
2341
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2384
in
MethodInvocationInfo
methodInvocationInfo)
2411
private static
MethodInvocationInfo
ReplaceWithExtensionImplementationIfNeeded(ref readonly
MethodInvocationInfo
methodInvocationInfo)
2425
var
result = methodInvocationInfo with { MethodInfo = replacedMethodInfo };
2470
in
MethodInvocationInfo
methodInvocationInfo,
2481
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2490
bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo,
2500
var
receiverlessMethodInvocationInfo = methodInvocationInfo with
2566
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2619
in
MethodInvocationInfo
methodInvocationInfo,
2657
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2833
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2887
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2890
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2967
in
MethodInvocationInfo
methodInvocationInfo,
3004
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3009
var
receiverlessInvocationInfo = methodInvocationInfo;
3069
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3074
var
adjustedMethodInvocationInfo = methodInvocationInfo;
3178
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3189
bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting)
3197
var
receiverlessInvocationInfo = methodInvocationInfo;
3272
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3345
private static bool AllParametersConsideredInEscapeAnalysisHaveArguments(ref readonly
MethodInvocationInfo
methodInvocationInfo)
3826
MethodInvocationInfo
.FromCall(call),
3841
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
3851
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
3866
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
3886
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
3911
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
3920
MethodInvocationInfo
.FromProperty(propertyAccess),
4113
MethodInvocationInfo
.FromCall(call),
4132
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4156
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4180
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4209
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4227
MethodInvocationInfo
.FromFunctionPointerInvocation(functionPointerInvocation),
4245
MethodInvocationInfo
.FromProperty(propertyAccess),
4473
MethodInvocationInfo
.FromCall(call),
4482
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
4491
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4506
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4520
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4536
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4545
MethodInvocationInfo
.FromProperty(propertyAccess),
4554
MethodInvocationInfo
.FromObjectCreation(objectCreation),
4592
MethodInvocationInfo
.FromUnaryOperator(unaryOperator),
4619
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
4629
MethodInvocationInfo
.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
4658
MethodInvocationInfo
.FromIncrementOperator(increment),
4675
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
4693
MethodInvocationInfo
.FromBinaryOperator(binary),
4710
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
4856
MethodInvocationInfo
.FromCollectionElementInitializer(colElement))
5154
MethodInvocationInfo
.FromCall(call),
5167
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
5180
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
5199
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
5219
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
5239
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
5252
MethodInvocationInfo
.FromProperty(propertyAccess),
5265
MethodInvocationInfo
.FromObjectCreation(objectCreation),
5323
MethodInvocationInfo
.FromUnaryOperator(unary),
5364
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
5378
MethodInvocationInfo
.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
5412
MethodInvocationInfo
.FromIncrementOperator(increment),
5431
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
5458
MethodInvocationInfo
.FromBinaryOperator(binary),
5483
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
5791
MethodInvocationInfo
.FromCollectionElementInitializer(colElement),
5885
MethodInvocationInfo
.FromCall(call)));
5927
MethodInvocationInfo
.FromCall(call),
Binder\Binder_Statements.cs (5)
1617
var
methodInvocationInfo =
MethodInvocationInfo
.FromCallParts(propSet, receiver, args: [op2], receiverIsSubjectToCloning: ThreeState.Unknown);
1621
methodInvocationInfo =
MethodInvocationInfo
.FromIndexerAccess(indexer);
1654
void handleExtensionSetter(ref readonly
MethodInvocationInfo
methodInvocationInfo)
1657
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
Binder\RefSafetyAnalysis.cs (20)
615
var
methodInvocationInfo =
MethodInvocationInfo
.FromCompoundAssignmentOperator(node);
760
MethodInvocationInfo
methodInvocationInfo = getInvocationInfo(node);
763
var calls = ArrayBuilder<(BoundCall call,
MethodInvocationInfo
methodInvocationInfo)>.GetInstance();
798
static
MethodInvocationInfo
getInvocationInfo(BoundCall node)
800
var
methodInvocationInfo =
MethodInvocationInfo
.FromCall(node);
810
void visitReceiver(BoundCall node, ref readonly
MethodInvocationInfo
methodInvocationInfo)
822
void visitArguments(BoundCall node, ref readonly
MethodInvocationInfo
methodInvocationInfo)
840
private void VisitReceiver(ref readonly
MethodInvocationInfo
methodInvocationInfo)
853
private void VisitArguments(BoundCall node, ref readonly
MethodInvocationInfo
methodInvocationInfo)
970
var
methodInvocationInfo =
MethodInvocationInfo
.FromObjectCreation(node);
1041
var
methodInvocationInfo =
MethodInvocationInfo
.FromIndexerAccess(node);
1065
var
methodInvocationInfo =
MethodInvocationInfo
.FromFunctionPointerInvocation(node);
1144
var
methodInvocationInfo =
MethodInvocationInfo
.FromCall(invocation);
1266
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, node.HasAnyErrors),