6 instantiations of MethodArgumentInfo
Microsoft.CodeAnalysis.CSharp (6)
Binder\ForEachLoopBinder.cs (3)
1237builder.PatternDisposeInfo = new MethodArgumentInfo(patternDisposeMethod, argsBuilder.ToImmutableAndFree(), defaultArguments, expanded); 1495info = new MethodArgumentInfo(result, analyzedArguments.Arguments.ToImmutable(), defaultArguments, expanded); 1983return 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)
229patternDisposeInfo = new MethodArgumentInfo(disposeMethod, argumentsBuilder.ToImmutableAndFree(), defaultArguments, expanded);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
177getEnumeratorInfo = new MethodArgumentInfo(
43 references to MethodArgumentInfo
Microsoft.CodeAnalysis.CSharp (43)
Binder\ForEachEnumeratorInfo.cs (9)
28public readonly MethodArgumentInfo GetEnumeratorInfo; 30public readonly MethodArgumentInfo MoveNextInfo; 48public readonly MethodArgumentInfo? PatternDisposeInfo; 61MethodArgumentInfo getEnumeratorInfo, 63MethodArgumentInfo moveNextInfo, 68MethodArgumentInfo? patternDisposeInfo, 112public MethodArgumentInfo? GetEnumeratorInfo; 114public MethodArgumentInfo? MoveNextInfo; 120public MethodArgumentInfo? PatternDisposeInfo;
Binder\ForEachLoopBinder.cs (13)
1175builder.MoveNextInfo = MethodArgumentInfo.CreateParameterlessMethod(moveNextMethod); 1341MethodArgumentInfo getEnumeratorInfo; 1367private MethodArgumentInfo FindForEachPatternMethod(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, string methodName, LookupResult lookupResult, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1423MethodArgumentInfo patternInfo = PerformForEachPatternOverloadResolution(syntax, collectionSyntax, patternType, candidateMethods, warningsOnly, diagnostics, isAsync); 1434private MethodArgumentInfo PerformForEachPatternOverloadResolution(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, ArrayBuilder<MethodSymbol> candidateMethods, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1454MethodArgumentInfo info = null; 1514private MethodArgumentInfo FindForEachPatternMethodViaExtension(SyntaxNode syntax, SyntaxNode collectionSyntax, BoundExpression collectionExpr, string methodName, BindingDiagnosticBag diagnostics) 1551MethodArgumentInfo info; 1721MethodArgumentInfo moveNextMethodCandidate = FindForEachPatternMethod(syntax, collectionSyntax, enumeratorType, 1941private MethodArgumentInfo GetParameterlessSpecialTypeMemberInfo(SpecialMember member, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1946? MethodArgumentInfo.CreateParameterlessMethod(resolvedMember) 1951private MethodArgumentInfo BindDefaultArguments(MethodSymbol method, BoundExpression extensionReceiverOpt, bool expanded, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1958return 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)
3532public BoundUsingLocalDeclarations(SyntaxNode syntax, MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false) 3542public MethodArgumentInfo? PatternDisposeInfoOpt { get; } 3548public BoundUsingLocalDeclarations Update(MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations) 4176public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false) 4196public MethodArgumentInfo? PatternDisposeInfoOpt { get; } 4201public BoundUsingStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (3)
157MethodArgumentInfo getEnumeratorInfo = enumeratorInfo.GetEnumeratorInfo; 369var disposeInfo = enumeratorInfo.PatternDisposeInfo; 373disposeInfo = 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)
1998ImmutableArray<IArgumentOperation> createArgumentOperations(MethodArgumentInfo? info) 3006private ImmutableArray<IArgumentOperation> CreateDisposeArguments(MethodArgumentInfo patternDisposeInfo)