6 instantiations of MethodArgumentInfo
Microsoft.CodeAnalysis.CSharp (6)
Binder\ForEachLoopBinder.cs (3)
1257builder.PatternDisposeInfo = new MethodArgumentInfo(patternDisposeMethod, argsBuilder.ToImmutableAndFree(), defaultArguments, expanded); 1515info = new MethodArgumentInfo(result, analyzedArguments.Arguments.ToImmutable(), defaultArguments, expanded); 2001return 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)
1184builder.MoveNextInfo = MethodArgumentInfo.CreateParameterlessMethod(moveNextMethod); 1361MethodArgumentInfo getEnumeratorInfo; 1387private MethodArgumentInfo FindForEachPatternMethod(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, string methodName, LookupResult lookupResult, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1443MethodArgumentInfo patternInfo = PerformForEachPatternOverloadResolution(syntax, collectionSyntax, patternType, candidateMethods, warningsOnly, diagnostics, isAsync); 1454private MethodArgumentInfo PerformForEachPatternOverloadResolution(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, ArrayBuilder<MethodSymbol> candidateMethods, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1474MethodArgumentInfo info = null; 1534private MethodArgumentInfo FindForEachPatternMethodViaExtension(SyntaxNode syntax, SyntaxNode collectionSyntax, BoundExpression collectionExpr, string methodName, BindingDiagnosticBag diagnostics) 1571MethodArgumentInfo info; 1739MethodArgumentInfo moveNextMethodCandidate = FindForEachPatternMethod(syntax, collectionSyntax, enumeratorType, 1959private MethodArgumentInfo GetParameterlessSpecialTypeMemberInfo(SpecialMember member, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1964? MethodArgumentInfo.CreateParameterlessMethod(resolvedMember) 1969private MethodArgumentInfo BindDefaultArguments(MethodSymbol method, BoundExpression extensionReceiverOpt, bool expanded, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1976return 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) 4116public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false) 4136public MethodArgumentInfo? PatternDisposeInfoOpt { get; } 4141public 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; 363var disposeInfo = enumeratorInfo.PatternDisposeInfo; 367disposeInfo = 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)