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
4927
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)
2254
in
MethodInvocationInfo
methodInvocationInfo,
2262
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2271
SafeContext getInvocationEscapeWithOldRules(ref readonly
MethodInvocationInfo
methodInvocationInfo, bool isRefEscape)
2336
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2379
in
MethodInvocationInfo
methodInvocationInfo)
2406
private static
MethodInvocationInfo
ReplaceWithExtensionImplementationIfNeeded(ref readonly
MethodInvocationInfo
methodInvocationInfo)
2420
var
result = methodInvocationInfo with { MethodInfo = replacedMethodInfo };
2465
in
MethodInvocationInfo
methodInvocationInfo,
2476
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2485
bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo,
2495
var
receiverlessMethodInvocationInfo = methodInvocationInfo with
2561
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2614
in
MethodInvocationInfo
methodInvocationInfo,
2652
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2828
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2882
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2885
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2962
in
MethodInvocationInfo
methodInvocationInfo,
2999
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3004
var
receiverlessInvocationInfo = methodInvocationInfo;
3064
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3069
var
adjustedMethodInvocationInfo = methodInvocationInfo;
3173
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3184
bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting)
3192
var
receiverlessInvocationInfo = methodInvocationInfo;
3267
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3340
private static bool AllParametersConsideredInEscapeAnalysisHaveArguments(ref readonly
MethodInvocationInfo
methodInvocationInfo)
3821
MethodInvocationInfo
.FromCall(call),
3836
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
3846
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
3861
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
3881
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
3906
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
3915
MethodInvocationInfo
.FromProperty(propertyAccess),
4108
MethodInvocationInfo
.FromCall(call),
4127
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4151
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4175
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4204
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4222
MethodInvocationInfo
.FromFunctionPointerInvocation(functionPointerInvocation),
4240
MethodInvocationInfo
.FromProperty(propertyAccess),
4468
MethodInvocationInfo
.FromCall(call),
4477
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
4486
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4501
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4515
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4531
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4540
MethodInvocationInfo
.FromProperty(propertyAccess),
4549
MethodInvocationInfo
.FromObjectCreation(objectCreation),
4587
MethodInvocationInfo
.FromUnaryOperator(unaryOperator),
4614
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
4624
MethodInvocationInfo
.FromUserDefinedConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
4653
MethodInvocationInfo
.FromIncrementOperator(increment),
4670
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
4688
MethodInvocationInfo
.FromBinaryOperator(binary),
4705
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
4851
MethodInvocationInfo
.FromCollectionElementInitializer(colElement))
5149
MethodInvocationInfo
.FromCall(call),
5162
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
5175
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
5194
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
5214
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
5234
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
5247
MethodInvocationInfo
.FromProperty(propertyAccess),
5260
MethodInvocationInfo
.FromObjectCreation(objectCreation),
5318
MethodInvocationInfo
.FromUnaryOperator(unary),
5359
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
5373
MethodInvocationInfo
.FromUserDefinedConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
5407
MethodInvocationInfo
.FromIncrementOperator(increment),
5426
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
5453
MethodInvocationInfo
.FromBinaryOperator(binary),
5478
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
5786
MethodInvocationInfo
.FromCollectionElementInitializer(colElement),
5880
MethodInvocationInfo
.FromCall(call)));
5922
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),