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
4918
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)
2253
in
MethodInvocationInfo
methodInvocationInfo,
2261
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2270
SafeContext getInvocationEscapeWithOldRules(ref readonly
MethodInvocationInfo
methodInvocationInfo, bool isRefEscape)
2335
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2378
in
MethodInvocationInfo
methodInvocationInfo)
2405
private static
MethodInvocationInfo
ReplaceWithExtensionImplementationIfNeeded(ref readonly
MethodInvocationInfo
methodInvocationInfo)
2419
var
result = methodInvocationInfo with { MethodInfo = replacedMethodInfo };
2464
in
MethodInvocationInfo
methodInvocationInfo,
2475
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2484
bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo,
2494
var
receiverlessMethodInvocationInfo = methodInvocationInfo with
2560
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2613
in
MethodInvocationInfo
methodInvocationInfo,
2651
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2827
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2881
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2884
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2961
in
MethodInvocationInfo
methodInvocationInfo,
2998
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3003
var
receiverlessInvocationInfo = methodInvocationInfo;
3063
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3068
var
adjustedMethodInvocationInfo = methodInvocationInfo;
3172
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3183
bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting)
3191
var
receiverlessInvocationInfo = methodInvocationInfo;
3266
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3339
private static bool AllParametersConsideredInEscapeAnalysisHaveArguments(ref readonly
MethodInvocationInfo
methodInvocationInfo)
3820
MethodInvocationInfo
.FromCall(call),
3835
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
3845
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
3860
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
3880
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
3905
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
3914
MethodInvocationInfo
.FromProperty(propertyAccess),
4107
MethodInvocationInfo
.FromCall(call),
4126
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4150
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4174
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4203
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4221
MethodInvocationInfo
.FromFunctionPointerInvocation(functionPointerInvocation),
4239
MethodInvocationInfo
.FromProperty(propertyAccess),
4465
MethodInvocationInfo
.FromCall(call),
4474
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
4483
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4498
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4512
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4528
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4537
MethodInvocationInfo
.FromProperty(propertyAccess),
4546
MethodInvocationInfo
.FromObjectCreation(objectCreation),
4584
MethodInvocationInfo
.FromUnaryOperator(unaryOperator),
4613
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
4623
MethodInvocationInfo
.FromUserDefinedConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
4652
MethodInvocationInfo
.FromIncrementOperator(increment),
4669
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
4687
MethodInvocationInfo
.FromBinaryOperator(binary),
4704
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
4842
MethodInvocationInfo
.FromCollectionElementInitializer(colElement))
5138
MethodInvocationInfo
.FromCall(call),
5151
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
5164
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
5183
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
5203
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
5223
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
5236
MethodInvocationInfo
.FromProperty(propertyAccess),
5249
MethodInvocationInfo
.FromObjectCreation(objectCreation),
5307
MethodInvocationInfo
.FromUnaryOperator(unary),
5347
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
5361
MethodInvocationInfo
.FromUserDefinedConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
5395
MethodInvocationInfo
.FromIncrementOperator(increment),
5414
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
5441
MethodInvocationInfo
.FromBinaryOperator(binary),
5466
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
5774
MethodInvocationInfo
.FromCollectionElementInitializer(colElement),
5868
MethodInvocationInfo
.FromCall(call)));
5910
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),