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
4975
new
MethodInvocationInfo
123 references to MethodInvocationInfo
Microsoft.CodeAnalysis.CSharp (123)
Binder\Binder.ValueChecks.cs (93)
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)
2265
in
MethodInvocationInfo
methodInvocationInfo,
2273
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2282
SafeContext getInvocationEscapeWithOldRules(ref readonly
MethodInvocationInfo
methodInvocationInfo, bool isRefEscape)
2347
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2390
in
MethodInvocationInfo
methodInvocationInfo)
2417
private static
MethodInvocationInfo
ReplaceWithExtensionImplementationIfNeeded(ref readonly
MethodInvocationInfo
methodInvocationInfo)
2431
var
result = methodInvocationInfo with { MethodInfo = replacedMethodInfo };
2476
in
MethodInvocationInfo
methodInvocationInfo,
2487
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2496
bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo,
2506
var
receiverlessMethodInvocationInfo = methodInvocationInfo with
2572
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2625
in
MethodInvocationInfo
methodInvocationInfo,
2663
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2839
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2893
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2896
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2973
in
MethodInvocationInfo
methodInvocationInfo,
3010
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3015
var
receiverlessInvocationInfo = methodInvocationInfo;
3075
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3080
var
adjustedMethodInvocationInfo = methodInvocationInfo;
3184
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3195
bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting)
3203
var
receiverlessInvocationInfo = methodInvocationInfo;
3278
ref readonly
MethodInvocationInfo
methodInvocationInfo,
3351
private static bool AllParametersConsideredInEscapeAnalysisHaveArguments(ref readonly
MethodInvocationInfo
methodInvocationInfo)
3832
MethodInvocationInfo
.FromCall(call),
3847
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
3857
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
3872
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
3892
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
3917
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
3926
MethodInvocationInfo
.FromProperty(propertyAccess),
4119
MethodInvocationInfo
.FromCall(call),
4138
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4162
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4186
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4215
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4233
MethodInvocationInfo
.FromFunctionPointerInvocation(functionPointerInvocation),
4251
MethodInvocationInfo
.FromProperty(propertyAccess),
4480
MethodInvocationInfo
.FromCall(call),
4489
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
4498
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
4513
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
4527
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4543
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4552
MethodInvocationInfo
.FromProperty(propertyAccess),
4561
MethodInvocationInfo
.FromObjectCreation(objectCreation),
4599
MethodInvocationInfo
.FromUnaryOperator(unaryOperator),
4626
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
4636
MethodInvocationInfo
.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
4665
MethodInvocationInfo
.FromIncrementOperator(increment),
4682
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
4700
MethodInvocationInfo
.FromBinaryOperator(binary),
4717
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
4849
safeContext = GetInvocationEscapeToReceiver(
MethodInvocationInfo
.FromCollectionElementInitializer(colElement));
4857
safeContext = GetInvocationEscapeToReceiver(
MethodInvocationInfo
.FromCollectionElementInitializer(spreadElementInitializer));
4899
MethodInvocationInfo
.FromCollectionElementInitializer(colElement))
5198
MethodInvocationInfo
.FromCall(call),
5211
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
5224
MethodInvocationInfo
.FromIndexerAccess(indexerAccess),
5243
MethodInvocationInfo
.FromIndexerAccess(indexerAccess, implicitIndexerAccess.Receiver),
5263
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
5283
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
5296
MethodInvocationInfo
.FromProperty(propertyAccess),
5309
MethodInvocationInfo
.FromObjectCreation(objectCreation),
5367
MethodInvocationInfo
.FromUnaryOperator(unary),
5408
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
5422
MethodInvocationInfo
.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
5456
MethodInvocationInfo
.FromIncrementOperator(increment),
5475
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
5502
MethodInvocationInfo
.FromBinaryOperator(binary),
5527
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
5835
MethodInvocationInfo
.FromCollectionElementInitializer(colElement),
5929
MethodInvocationInfo
.FromCall(call)));
5971
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 (25)
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);
992
private void VisitObjectCreationWithInitializer(BoundObjectCreationExpressionBase node, in
MethodInvocationInfo
methodInvocationInfo, SafeContext initializerEscape)
1048
var
methodInvocationInfo =
MethodInvocationInfo
.FromIndexerAccess(node);
1072
var
methodInvocationInfo =
MethodInvocationInfo
.FromFunctionPointerInvocation(node);
1151
var
methodInvocationInfo =
MethodInvocationInfo
.FromCall(invocation);
1273
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, node.HasAnyErrors),
1391
var
methodInvocationInfo =
MethodInvocationInfo
.FromCollectionElementInitializer(spreadElementInitializer);
1419
var
methodInvocationInfo =
MethodInvocationInfo
.FromObjectCreation(objectCreation);