6 instantiations of MethodArgumentInfo
Microsoft.CodeAnalysis.CSharp (6)
Binder\ForEachLoopBinder.cs (3)
1252builder.PatternDisposeInfo = new MethodArgumentInfo(patternDisposeMethod, argsBuilder.ToImmutableAndFree(), defaultArguments, expanded); 1508info = new MethodArgumentInfo(result, analyzedArguments.Arguments.ToImmutable(), defaultArguments, expanded); 1989return new MethodArgumentInfo(method, argsBuilder.ToImmutableAndFree(), defaultArguments, expanded);
Binder\MethodArgumentInfo.cs (1)
37return new MethodArgumentInfo(method, arguments: ImmutableArray<BoundExpression>.Empty, defaultArguments: default, expanded: false);
Binder\UsingStatementBinder.cs (1)
225patternDisposeInfo = new MethodArgumentInfo(disposeMethod, argumentsBuilder.ToImmutableAndFree(), defaultArguments, expanded);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
179getEnumeratorInfo = new MethodArgumentInfo(
43 references to MethodArgumentInfo
Microsoft.CodeAnalysis.CSharp (43)
Binder\ForEachEnumeratorInfo.cs (9)
28public readonly MethodArgumentInfo GetEnumeratorInfo; 30public readonly MethodArgumentInfo MoveNextInfo; 43public readonly MethodArgumentInfo? PatternDisposeInfo; 56MethodArgumentInfo getEnumeratorInfo, 58MethodArgumentInfo moveNextInfo, 62MethodArgumentInfo? patternDisposeInfo, 104public MethodArgumentInfo? GetEnumeratorInfo; 106public MethodArgumentInfo? MoveNextInfo; 111public MethodArgumentInfo? PatternDisposeInfo;
Binder\ForEachLoopBinder.cs (13)
1181builder.MoveNextInfo = MethodArgumentInfo.CreateParameterlessMethod(moveNextMethod); 1356MethodArgumentInfo getEnumeratorInfo; 1382private MethodArgumentInfo FindForEachPatternMethod(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, string methodName, LookupResult lookupResult, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1438MethodArgumentInfo patternInfo = PerformForEachPatternOverloadResolution(syntax, collectionSyntax, patternType, candidateMethods, warningsOnly, diagnostics, isAsync); 1449private MethodArgumentInfo PerformForEachPatternOverloadResolution(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, ArrayBuilder<MethodSymbol> candidateMethods, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1469MethodArgumentInfo info = null; 1527private MethodArgumentInfo FindForEachPatternMethodViaExtension(SyntaxNode syntax, SyntaxNode collectionSyntax, BoundExpression collectionExpr, string methodName, BindingDiagnosticBag diagnostics) 1564MethodArgumentInfo info; 1729MethodArgumentInfo moveNextMethodCandidate = FindForEachPatternMethod(syntax, collectionSyntax, enumeratorType, 1949private MethodArgumentInfo GetParameterlessSpecialTypeMemberInfo(SpecialMember member, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1954? MethodArgumentInfo.CreateParameterlessMethod(resolvedMember) 1959private MethodArgumentInfo BindDefaultArguments(MethodSymbol method, BoundExpression extensionReceiverOpt, bool expanded, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1965return MethodArgumentInfo.CreateParameterlessMethod(method);
Binder\MethodArgumentInfo.cs (1)
34public static MethodArgumentInfo CreateParameterlessMethod(MethodSymbol method)
Binder\UsingStatementBinder.cs (2)
112MethodArgumentInfo? patternDisposeInfo; 184bool bindDisposable(bool fromExpression, out MethodArgumentInfo? patternDisposeInfo, out TypeSymbol? awaitableType)
Generated\BoundNodes.xml.Generated.cs (6)
3476public BoundUsingLocalDeclarations(SyntaxNode syntax, MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false) 3486public MethodArgumentInfo? PatternDisposeInfoOpt { get; } 3492public BoundUsingLocalDeclarations Update(MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations) 4118public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false) 4138public MethodArgumentInfo? PatternDisposeInfoOpt { get; } 4143public BoundUsingStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (3)
159MethodArgumentInfo getEnumeratorInfo = enumeratorInfo.GetEnumeratorInfo; 364var disposeInfo = enumeratorInfo.PatternDisposeInfo; 368disposeInfo = MethodArgumentInfo.CreateParameterlessMethod(disposeMethod);
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (1)
76patternDisposeInfo: MethodArgumentInfo.CreateParameterlessMethod(lockTypeInfo.ScopeDisposeMethod));
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (6)
66MethodArgumentInfo? patternDisposeInfo, 212MethodArgumentInfo? patternDisposeInfo) 286MethodArgumentInfo? patternDisposeInfo) 438MethodArgumentInfo? disposeInfo, 470disposeInfo = MethodArgumentInfo.CreateParameterlessMethod(disposeMethod); 492private BoundExpression MakeCall(MethodArgumentInfo methodArgumentInfo, SyntaxNode syntax, BoundExpression? expression, BoundExpression? firstRewrittenArgument)
Operations\CSharpOperationFactory.cs (2)
1932ImmutableArray<IArgumentOperation> createArgumentOperations(MethodArgumentInfo? info) 2940private ImmutableArray<IArgumentOperation> CreateDisposeArguments(MethodArgumentInfo patternDisposeInfo)