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
4937
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)
2264
in
MethodInvocationInfo
methodInvocationInfo,
2272
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2281
SafeContext getInvocationEscapeWithOldRules(ref readonly
MethodInvocationInfo
methodInvocationInfo, bool isRefEscape)
2346
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2389
in
MethodInvocationInfo
methodInvocationInfo)
2416
private static
MethodInvocationInfo
ReplaceWithExtensionImplementationIfNeeded(ref readonly
MethodInvocationInfo
methodInvocationInfo)
2430
var
result = methodInvocationInfo with { MethodInfo = replacedMethodInfo };
2475
in
MethodInvocationInfo
methodInvocationInfo,
2486
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2495
bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo,
2505
var
receiverlessMethodInvocationInfo = methodInvocationInfo with
2571
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2624
in
MethodInvocationInfo
methodInvocationInfo,
2662
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2838
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2892
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2895
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2972
in
MethodInvocationInfo
methodInvocationInfo,
3009
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3014
var
receiverlessInvocationInfo = methodInvocationInfo;
3074
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3079
var
adjustedMethodInvocationInfo = methodInvocationInfo;
3183
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3194
bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting)
3202
var
receiverlessInvocationInfo = methodInvocationInfo;
3277
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3350
private static bool AllParametersConsideredInEscapeAnalysisHaveArguments(ref readonly
MethodInvocationInfo
methodInvocationInfo)
3831
MethodInvocationInfo
.FromCall(call),
3846
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
3856
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
3871
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
3891
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
3916
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
3925
MethodInvocationInfo
.FromProperty(propertyAccess),
4118
MethodInvocationInfo
.FromCall(call),
4137
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4161
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4185
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4214
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4232
MethodInvocationInfo
.FromFunctionPointerInvocation(functionPointerInvocation),
4250
MethodInvocationInfo
.FromProperty(propertyAccess),
4478
MethodInvocationInfo
.FromCall(call),
4487
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
4496
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4511
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4525
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4541
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4550
MethodInvocationInfo
.FromProperty(propertyAccess),
4559
MethodInvocationInfo
.FromObjectCreation(objectCreation),
4597
MethodInvocationInfo
.FromUnaryOperator(unaryOperator),
4624
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
4634
MethodInvocationInfo
.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
4663
MethodInvocationInfo
.FromIncrementOperator(increment),
4680
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
4698
MethodInvocationInfo
.FromBinaryOperator(binary),
4715
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
4861
MethodInvocationInfo
.FromCollectionElementInitializer(colElement))
5159
MethodInvocationInfo
.FromCall(call),
5172
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
5185
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
5204
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
5224
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
5244
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
5257
MethodInvocationInfo
.FromProperty(propertyAccess),
5270
MethodInvocationInfo
.FromObjectCreation(objectCreation),
5328
MethodInvocationInfo
.FromUnaryOperator(unary),
5369
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
5383
MethodInvocationInfo
.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
5417
MethodInvocationInfo
.FromIncrementOperator(increment),
5436
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
5463
MethodInvocationInfo
.FromBinaryOperator(binary),
5488
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
5796
MethodInvocationInfo
.FromCollectionElementInitializer(colElement),
5890
MethodInvocationInfo
.FromCall(call)));
5932
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),