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
4902
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
FromUserDefinedConversion(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)
2237
in
MethodInvocationInfo
methodInvocationInfo,
2245
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2254
SafeContext getInvocationEscapeWithOldRules(ref readonly
MethodInvocationInfo
methodInvocationInfo, bool isRefEscape)
2319
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2362
in
MethodInvocationInfo
methodInvocationInfo)
2389
private static
MethodInvocationInfo
ReplaceWithExtensionImplementationIfNeeded(ref readonly
MethodInvocationInfo
methodInvocationInfo)
2403
var
result = methodInvocationInfo with { MethodInfo = replacedMethodInfo };
2448
in
MethodInvocationInfo
methodInvocationInfo,
2459
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2468
bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo,
2478
var
receiverlessMethodInvocationInfo = methodInvocationInfo with
2544
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2597
in
MethodInvocationInfo
methodInvocationInfo,
2635
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2811
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2865
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2868
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2945
in
MethodInvocationInfo
methodInvocationInfo,
2982
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2987
var
receiverlessInvocationInfo = methodInvocationInfo;
3047
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3052
var
adjustedMethodInvocationInfo = methodInvocationInfo;
3156
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3167
bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting)
3175
var
receiverlessInvocationInfo = methodInvocationInfo;
3250
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3323
private static bool AllParametersConsideredInEscapeAnalysisHaveArguments(ref readonly
MethodInvocationInfo
methodInvocationInfo)
3804
MethodInvocationInfo
.FromCall(call),
3819
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
3829
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
3844
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
3864
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
3889
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
3898
MethodInvocationInfo
.FromProperty(propertyAccess),
4091
MethodInvocationInfo
.FromCall(call),
4110
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4134
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4158
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4187
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4205
MethodInvocationInfo
.FromFunctionPointerInvocation(functionPointerInvocation),
4223
MethodInvocationInfo
.FromProperty(propertyAccess),
4449
MethodInvocationInfo
.FromCall(call),
4458
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
4467
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4482
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4496
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4512
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4521
MethodInvocationInfo
.FromProperty(propertyAccess),
4530
MethodInvocationInfo
.FromObjectCreation(objectCreation),
4568
MethodInvocationInfo
.FromUnaryOperator(unaryOperator),
4597
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
4607
MethodInvocationInfo
.FromUserDefinedConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
4636
MethodInvocationInfo
.FromIncrementOperator(increment),
4653
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
4671
MethodInvocationInfo
.FromBinaryOperator(binary),
4688
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
4826
MethodInvocationInfo
.FromCollectionElementInitializer(colElement))
5122
MethodInvocationInfo
.FromCall(call),
5135
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
5148
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
5167
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
5187
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
5207
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
5220
MethodInvocationInfo
.FromProperty(propertyAccess),
5233
MethodInvocationInfo
.FromObjectCreation(objectCreation),
5291
MethodInvocationInfo
.FromUnaryOperator(unary),
5331
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
5345
MethodInvocationInfo
.FromUserDefinedConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
5379
MethodInvocationInfo
.FromIncrementOperator(increment),
5398
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
5425
MethodInvocationInfo
.FromBinaryOperator(binary),
5450
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
5758
MethodInvocationInfo
.FromCollectionElementInitializer(colElement),
5852
MethodInvocationInfo
.FromCall(call)));
5894
MethodInvocationInfo
.FromCall(call),
Binder\Binder_Statements.cs (5)
1616
var
methodInvocationInfo =
MethodInvocationInfo
.FromCallParts(propSet, receiver, args: [op2], receiverIsSubjectToCloning: ThreeState.Unknown);
1620
methodInvocationInfo =
MethodInvocationInfo
.FromIndexerAccess(indexer);
1653
void handleExtensionSetter(ref readonly
MethodInvocationInfo
methodInvocationInfo)
1656
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),