16 instantiations of MethodInvocationInfo
Microsoft.CodeAnalysis.CSharp (16)
Binder\Binder.ValueChecks.cs (16)
113
=> new
MethodInvocationInfo
126
=> new
MethodInvocationInfo
141
return new
MethodInvocationInfo
157
return new
MethodInvocationInfo
173
return new
MethodInvocationInfo
189
return new
MethodInvocationInfo
206
return new
MethodInvocationInfo
220
=> new
MethodInvocationInfo
233
=> new
MethodInvocationInfo
246
=> new
MethodInvocationInfo
261
return new
MethodInvocationInfo
278
return new
MethodInvocationInfo
292
=> new
MethodInvocationInfo
307
return new
MethodInvocationInfo
317
=> new
MethodInvocationInfo
4962
new
MethodInvocationInfo
123 references to MethodInvocationInfo
Microsoft.CodeAnalysis.CSharp (123)
Binder\Binder.ValueChecks.cs (93)
112
public static
MethodInvocationInfo
FromCall(BoundCall call, BoundExpression? substitutedReceiver = null)
125
public static
MethodInvocationInfo
FromCallParts(MethodSymbol method, BoundExpression receiver, ImmutableArray<BoundExpression> args, ThreeState receiverIsSubjectToCloning)
138
public static
MethodInvocationInfo
FromFunctionPointerInvocation(BoundFunctionPointerInvocation ptrInvocation)
154
public static
MethodInvocationInfo
FromIndexerGetter(BoundIndexerAccess indexerAccess, BoundExpression? substitutedReceiver = null)
170
public static
MethodInvocationInfo
FromObjectCreation(BoundObjectCreationExpressionBase objectCreation)
186
public static
MethodInvocationInfo
FromUnaryOperator(BoundUnaryOperator unaryOperator)
202
public static
MethodInvocationInfo
FromBinaryOperator(BoundBinaryOperator binaryOperator)
219
public static
MethodInvocationInfo
FromUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator logicalOperator)
232
public static
MethodInvocationInfo
FromUserDefinedOrUnionConversion(MethodSymbol operatorMethod, BoundExpression operand, bool hasAnyErrors)
245
public static
MethodInvocationInfo
FromInlineArrayConversion(SignatureOnlyMethodSymbol equivalentSignatureMethod, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKinds, bool hasAnyErrors)
258
public static
MethodInvocationInfo
FromIncrementOperator(BoundIncrementOperator incrementOperator)
274
public static
MethodInvocationInfo
FromCompoundAssignmentOperator(BoundCompoundAssignmentOperator compoundOperator)
291
public static
MethodInvocationInfo
FromInlineArrayAccess(SignatureOnlyMethodSymbol equivalentSignatureMethod, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> refKinds, bool hasAnyErrors)
304
public static
MethodInvocationInfo
FromPropertyGetter(BoundPropertyAccess propertyAccess)
316
public static
MethodInvocationInfo
FromCollectionElementInitializer(BoundCollectionElementInitializer colElement)
2262
in
MethodInvocationInfo
methodInvocationInfo,
2270
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2279
SafeContext getInvocationEscapeWithOldRules(ref readonly
MethodInvocationInfo
methodInvocationInfo, bool isRefEscape)
2344
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2387
in
MethodInvocationInfo
methodInvocationInfo)
2414
private static
MethodInvocationInfo
ReplaceWithExtensionImplementationIfNeeded(ref readonly
MethodInvocationInfo
methodInvocationInfo)
2428
var
result = methodInvocationInfo with { MethodInfo = replacedMethodInfo };
2473
in
MethodInvocationInfo
methodInvocationInfo,
2484
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
2493
bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly
MethodInvocationInfo
methodInvocationInfo,
2503
var
receiverlessMethodInvocationInfo = methodInvocationInfo with
2569
ref readonly
MethodInvocationInfo
methodInvocationInfo,
2622
in
MethodInvocationInfo
methodInvocationInfo,
2660
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)
3811
MethodInvocationInfo
.FromCall(call),
3826
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
3836
MethodInvocationInfo
.FromIndexerGetter(indexerAccess),
3851
MethodInvocationInfo
.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver),
3871
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
3896
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
3905
MethodInvocationInfo
.FromPropertyGetter(propertyAccess),
4102
MethodInvocationInfo
.FromCall(call),
4121
MethodInvocationInfo
.FromIndexerGetter(indexerAccess),
4145
MethodInvocationInfo
.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver),
4169
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4198
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4216
MethodInvocationInfo
.FromFunctionPointerInvocation(functionPointerInvocation),
4234
MethodInvocationInfo
.FromPropertyGetter(propertyAccess),
4467
MethodInvocationInfo
.FromCall(call),
4476
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
4485
MethodInvocationInfo
.FromIndexerGetter(indexerAccess),
4500
MethodInvocationInfo
.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver),
4514
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
4530
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
4539
MethodInvocationInfo
.FromPropertyGetter(propertyAccess),
4548
MethodInvocationInfo
.FromObjectCreation(objectCreation),
4586
MethodInvocationInfo
.FromUnaryOperator(unaryOperator),
4613
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
4623
MethodInvocationInfo
.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
4652
MethodInvocationInfo
.FromIncrementOperator(increment),
4669
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
4687
MethodInvocationInfo
.FromBinaryOperator(binary),
4704
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
4836
safeContext = GetInvocationEscapeToReceiver(
MethodInvocationInfo
.FromCollectionElementInitializer(colElement));
4844
safeContext = GetInvocationEscapeToReceiver(
MethodInvocationInfo
.FromCollectionElementInitializer(spreadElementInitializer));
4886
MethodInvocationInfo
.FromCollectionElementInitializer(colElement))
5189
MethodInvocationInfo
.FromCall(call),
5202
MethodInvocationInfo
.FromFunctionPointerInvocation(ptrInvocation),
5215
MethodInvocationInfo
.FromIndexerGetter(indexerAccess),
5234
MethodInvocationInfo
.FromIndexerGetter(indexerAccess, implicitIndexerAccess.Receiver),
5254
MethodInvocationInfo
.FromCall(call, implicitIndexerAccess.Receiver),
5274
MethodInvocationInfo
.FromInlineArrayAccess(equivalentSignatureMethod, arguments, refKinds, elementAccess.HasAnyErrors),
5287
MethodInvocationInfo
.FromPropertyGetter(propertyAccess),
5300
MethodInvocationInfo
.FromObjectCreation(objectCreation),
5358
MethodInvocationInfo
.FromUnaryOperator(unary),
5399
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, conversion.HasAnyErrors),
5413
MethodInvocationInfo
.FromUserDefinedOrUnionConversion(operatorMethod, conversion.Operand, conversion.HasAnyErrors),
5447
MethodInvocationInfo
.FromIncrementOperator(increment),
5466
MethodInvocationInfo
.FromCompoundAssignmentOperator(compound),
5493
MethodInvocationInfo
.FromBinaryOperator(binary),
5518
MethodInvocationInfo
.FromUserDefinedConditionalLogicalOperator(uo),
5826
MethodInvocationInfo
.FromCollectionElementInitializer(colElement),
5920
MethodInvocationInfo
.FromCall(call)));
5962
MethodInvocationInfo
.FromCall(call),
Binder\Binder_Statements.cs (5)
1617
var
methodInvocationInfo =
MethodInvocationInfo
.FromCallParts(propSet, property.ReceiverOpt, args: [op2], receiverIsSubjectToCloning: property.InitialBindingReceiverIsSubjectToCloning);
1621
methodInvocationInfo =
MethodInvocationInfo
.FromCallParts(indexerSet, indexer.ReceiverOpt, args: [.. indexer.Arguments, op2], receiverIsSubjectToCloning: indexer.InitialBindingReceiverIsSubjectToCloning);
1653
void analyzeSetterInvocation(ref readonly
MethodInvocationInfo
methodInvocationInfo)
1656
var
localMethodInvocationInfo = ReplaceWithExtensionImplementationIfNeeded(in methodInvocationInfo);
Binder\RefSafetyAnalysis.cs (25)
620
var
methodInvocationInfo =
MethodInvocationInfo
.FromCompoundAssignmentOperator(node);
777
MethodInvocationInfo
methodInvocationInfo = getInvocationInfo(node);
780
var calls = ArrayBuilder<(BoundCall call,
MethodInvocationInfo
methodInvocationInfo)>.GetInstance();
815
static
MethodInvocationInfo
getInvocationInfo(BoundCall node)
817
var
methodInvocationInfo =
MethodInvocationInfo
.FromCall(node);
827
void visitReceiver(BoundCall node, ref readonly
MethodInvocationInfo
methodInvocationInfo)
839
void visitArguments(BoundCall node, ref readonly
MethodInvocationInfo
methodInvocationInfo)
857
private void VisitReceiver(ref readonly
MethodInvocationInfo
methodInvocationInfo)
870
private void VisitArguments(BoundCall node, ref readonly
MethodInvocationInfo
methodInvocationInfo)
987
var
methodInvocationInfo =
MethodInvocationInfo
.FromObjectCreation(node);
1009
private void VisitObjectCreationWithInitializer(BoundObjectCreationExpressionBase node, in
MethodInvocationInfo
methodInvocationInfo, SafeContext initializerEscape)
1078
var
methodInvocationInfo =
MethodInvocationInfo
.FromIndexerGetter(node);
1102
var
methodInvocationInfo =
MethodInvocationInfo
.FromFunctionPointerInvocation(node);
1181
var
methodInvocationInfo =
MethodInvocationInfo
.FromCall(invocation);
1303
MethodInvocationInfo
.FromInlineArrayConversion(equivalentSignatureMethod, arguments, refKinds, node.HasAnyErrors),
1421
var
methodInvocationInfo =
MethodInvocationInfo
.FromCollectionElementInitializer(spreadElementInitializer);
1449
var
methodInvocationInfo =
MethodInvocationInfo
.FromObjectCreation(objectCreation);