1 write to Method
Microsoft.CodeAnalysis.CSharp (1)
Binder\MethodArgumentInfo.cs (1)
28this.Method = method;
65 references to Method
Microsoft.CodeAnalysis.CSharp (65)
Binder\ForEachEnumeratorInfo.cs (3)
157var getEnumeratorMethod = this.GetEnumeratorInfo?.Method; 159var moveNextMethod = this.MoveNextInfo?.Method; 165if (this.NeedsDisposal && this.PatternDisposeInfo?.Method is null &&
Binder\ForEachLoopBinder.cs (27)
234MethodSymbol getEnumeratorMethod = builder.GetEnumeratorInfo?.Method; 263var placeholder = new BoundAwaitableValuePlaceholder(expr, builder.MoveNextInfo?.Method.ReturnType ?? CreateErrorType()); 472ReportDiagnosticsIfObsolete(diagnostics, builder.MoveNextInfo.Method, foreachKeyword, hasBaseReceiver: false); 475Debug.Assert(!IsDisallowedExtensionInOlderLangVer(builder.MoveNextInfo.Method)); 591builder.GetEnumeratorInfo.Method.IsExtensionMethod || 592builder.GetEnumeratorInfo.Method.IsExtensionBlockMember())) || 617: builder.PatternDisposeInfo.Method.ReturnType; 885Debug.Assert(!builder.ViaExtensionMethod || builder.GetEnumeratorInfo.Method.IsExtensionMethod || builder.GetEnumeratorInfo.Method.IsExtensionBlockMember()); 932Debug.Assert(!builder.ViaExtensionMethod || builder.GetEnumeratorInfo.Method.IsExtensionMethod || builder.GetEnumeratorInfo.Method.IsExtensionBlockMember()); 1034Debug.Assert(!(viaExtensionMethod && builder.GetEnumeratorInfo.Method.IsExtensionMethod && builder.GetEnumeratorInfo.Method.Parameters.IsDefaultOrEmpty)); 1035Debug.Assert(!(viaExtensionMethod && !builder.GetEnumeratorInfo.Method.IsExtensionMethod && !builder.GetEnumeratorInfo.Method.IsExtensionBlockMember())); 1041if (builder.GetEnumeratorInfo.Method.IsExtensionMethod) 1043builder.CollectionType = builder.GetEnumeratorInfo.Method.Parameters[0].Type; 1047builder.CollectionType = builder.GetEnumeratorInfo.Method.ContainingType.ExtensionParameter.Type; 1064MethodSymbol getEnumeratorMethod = builder.GetEnumeratorInfo.Method; 1189builder.GetEnumeratorInfo.Method.ReturnType.SpecialType == SpecialType.System_Collections_IEnumerator); 1204TypeSymbol enumeratorType = builder.GetEnumeratorInfo.Method.ReturnType; 1325TypeSymbol.Equals(builder.GetEnumeratorInfo.Method.ReturnType, this.Compilation.GetSpecialType(SpecialType.System_Collections_IEnumerator), TypeCompareKind.ConsiderEverything2)); 1643Debug.Assert((object)builder.GetEnumeratorInfo.Method != null); 1645MethodSymbol getEnumeratorMethod = builder.GetEnumeratorInfo.Method; 1731moveNextMethodCandidate.Method.IsStatic || moveNextMethodCandidate.Method.DeclaredAccessibility != Accessibility.Public || 1732IsInvalidMoveNextMethod(moveNextMethodCandidate.Method, isAsync))
Binder\RefSafetyAnalysis.cs (1)
1271resultType: node.EnumeratorInfoOpt.GetEnumeratorInfo.Method.ContainingType,
Compilation\MemberSemanticModel.cs (3)
1011if (enumeratorInfoOpt.PatternDisposeInfo is { Method: var method }) 1025enumeratorInfoOpt.GetEnumeratorInfo.Method.GetPublicSymbol(), 1026enumeratorInfoOpt.MoveNextInfo.Method.GetPublicSymbol(),
FlowAnalysis\NullableWalker.cs (9)
3638VisitAwaitableInfoForUsing(node.AwaitOpt, node.PatternDisposeInfoOpt?.Method); 3644VisitAwaitableInfoForUsing(node.AwaitOpt, node.PatternDisposeInfoOpt?.Method); 12404&& (enumeratorMethodInfo.Method.IsExtensionMethod || enumeratorMethodInfo.Method.IsExtensionBlockMember())) 12414method: enumeratorMethodInfo.Method, 12475bool reportedDiagnostic = enumeratorInfoOpt?.GetEnumeratorInfo.Method is { } getEnumeratorMethod 12520reinferredGetEnumeratorMethod = (MethodSymbol)AsMemberOfType(getEnumeratorType, enumeratorInfoOpt.GetEnumeratorInfo.Method); 12542var moveNextAsyncMethod = (MethodSymbol)AsMemberOfType(reinferredGetEnumeratorMethod.ReturnType, enumeratorInfoOpt.MoveNextInfo.Method); 12553var patternDisposeMethod = enumeratorInfoOpt.PatternDisposeInfo?.Method;
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
246if (enumeratorInfo.GetEnumeratorInfo.Method.IsExtensionMethod) // Tracked by https://github.com/dotnet/roslyn/issues/78828: Test this code path with new extensions
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (3)
187if (!ShouldUseIEnumerableBulkAddMethod(singleSpread.Expression.Type, toListOfElementType.Parameters[0].Type, singleSpread.EnumeratorInfoOpt?.GetEnumeratorInfo.Method)) 787&& ShouldUseIEnumerableBulkAddMethod(spreadExpression.Type!, linqToArrayMethod.Parameters[0].Type, spreadElement.EnumeratorInfoOpt?.GetEnumeratorInfo.Method)) 1350if (!ShouldUseIEnumerableBulkAddMethod(rewrittenSpreadOperand.Type, addRangeMethod.Parameters[0].Type, spreadElement.EnumeratorInfoOpt?.GetEnumeratorInfo.Method))
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (5)
158TypeSymbol enumeratorType = getEnumeratorInfo.Method.ReturnType; 166var receiver = ConvertReceiverForInvocation(forEachSyntax, rewrittenExpression, getEnumeratorInfo.Method, convertedCollection.Conversion, enumeratorInfo.CollectionType); 171if (getEnumeratorInfo.Method.IsExtensionMethod) 178getEnumeratorInfo.Method, 333MethodSymbol? disposeMethod = enumeratorInfo.PatternDisposeInfo?.Method; // pattern-based
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (2)
445MethodSymbol? disposeMethod = disposeInfo?.Method; 494MethodSymbol method = methodArgumentInfo.Method;
Operations\CSharpOperationFactory.cs (11)
1968enumeratorInfoOpt.GetEnumeratorInfo.Method.GetPublicSymbol(), 1970enumeratorInfoOpt.MoveNextInfo.Method.GetPublicSymbol(), 1977HasImplicitConversionToOrImplementsVarianceCompatibleInterface(enumeratorInfoOpt.GetEnumeratorInfo.Method.ReturnType, 1982enumeratorInfoOpt.PatternDisposeInfo?.Method.GetPublicSymbol(), 2009info.Method, 2013invokedAsExtensionMethod: info.Method.IsExtensionMethod 2105disposeMethod: boundUsingStatement.PatternDisposeInfoOpt.Method.GetPublicSymbol(), 2244disposeMethod: usingDecl.PatternDisposeInfoOpt.Method.GetPublicSymbol(), 3009Debug.Assert(!patternDisposeInfo.Method.IsStatic); 3011if (patternDisposeInfo.Method.ParameterCount == 0) 3017patternDisposeInfo.Method,