6 instantiations of MethodArgumentInfo
Microsoft.CodeAnalysis.CSharp (6)
Binder\ForEachLoopBinder.cs (3)
1252builder.PatternDisposeInfo = new MethodArgumentInfo(patternDisposeMethod, argsBuilder.ToImmutableAndFree(), defaultArguments, expanded); 1507info = new MethodArgumentInfo(result, analyzedArguments.Arguments.ToImmutable(), defaultArguments, expanded); 1987return 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)
174getEnumeratorInfo = 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); 1355MethodArgumentInfo getEnumeratorInfo; 1381private MethodArgumentInfo FindForEachPatternMethod(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, string methodName, LookupResult lookupResult, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1437MethodArgumentInfo patternInfo = PerformForEachPatternOverloadResolution(syntax, collectionSyntax, patternType, candidateMethods, warningsOnly, diagnostics, isAsync); 1448private MethodArgumentInfo PerformForEachPatternOverloadResolution(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, ArrayBuilder<MethodSymbol> candidateMethods, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1468MethodArgumentInfo info = null; 1526private MethodArgumentInfo FindForEachPatternMethodViaExtension(SyntaxNode syntax, SyntaxNode collectionSyntax, BoundExpression collectionExpr, string methodName, BindingDiagnosticBag diagnostics) 1563MethodArgumentInfo info; 1728MethodArgumentInfo moveNextMethodCandidate = FindForEachPatternMethod(syntax, collectionSyntax, enumeratorType, 1947private MethodArgumentInfo GetParameterlessSpecialTypeMemberInfo(SpecialMember member, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1952? MethodArgumentInfo.CreateParameterlessMethod(resolvedMember) 1957private MethodArgumentInfo BindDefaultArguments(MethodSymbol method, BoundExpression extensionReceiverOpt, bool expanded, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1963return 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)
3468public BoundUsingLocalDeclarations(SyntaxNode syntax, MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false) 3478public MethodArgumentInfo? PatternDisposeInfoOpt { get; } 3484public BoundUsingLocalDeclarations Update(MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations) 4110public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false) 4130public MethodArgumentInfo? PatternDisposeInfoOpt { get; } 4135public BoundUsingStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (3)
154MethodArgumentInfo getEnumeratorInfo = enumeratorInfo.GetEnumeratorInfo; 359var disposeInfo = enumeratorInfo.PatternDisposeInfo; 363disposeInfo = 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)