Binder\Binder_Statements.cs (13)
146result = new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
520return new BoundBadStatement(node, ImmutableArray.Create<BoundNode>(expression), true);
535ImmutableArray<BoundNode> childNodes;
539childNodes = ImmutableArray.Create<BoundNode>(value);
543childNodes = ImmutableArray<BoundNode>.Empty;
2921return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
2932return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
3637public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics)
3666private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3671private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3695private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics)
3730private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics)
4037private BoundNode BindMethodBody(CSharpSyntaxNode declaration, BlockSyntax blockBody, ArrowExpressionClauseSyntax expressionBody, BindingDiagnosticBag diagnostics)
BoundTree\Expression.cs (60)
29ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: null, Arguments, InitializerExpressionOpt);
34ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(Arguments);
39ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ImplicitReceiverOpt, Arguments);
44protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Left, this.Right);
49protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ChildBoundNodes);
51ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(this.ChildBoundNodes);
56ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments);
61ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments);
66protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Receiver));
71protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments);
76protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ConstructorArguments.AddRange(StaticCast<BoundExpression>.From(this.NamedArguments)));
81protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Value);
86protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments);
91protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Argument);
96protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression, this.Index);
101protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
106protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver);
111protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
116protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
121protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Expression));
126protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression);
139protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count));
144protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count));
149protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.AddRange(BoundObjectCreationExpression.GetChildInitializers(this.InitializerExpressionOpt)));
154protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression);
159protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.ReceiverOpt);
164protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.SideEffects.Add(this.Value));
169protected override ImmutableArray<BoundNode?> Children =>
170(this.Kind == BoundKind.StatementList || this.Kind == BoundKind.Scope) ? StaticCast<BoundNode?>.From(this.Statements) : ImmutableArray<BoundNode?>.Empty;
175protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression);
180protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver, Argument);
185ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: this.InvokedExpression, Arguments);
186protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(((IBoundInvalidNode)this).InvalidNodeChildren);
Compilation\CSharpSemanticModel.cs (20)
724BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition
754BoundNode boundNode = GetSpeculativelyBoundAttribute(position, attribute, out binder); //calls CheckAndAdjustPosition
1054BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out _, out crefSymbols); //calls CheckAndAdjustPosition
1201BoundNode boundNode = GetSpeculativelyBoundExpression(position, nameSyntax, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition
1878BoundNode lowestBoundNode,
1879BoundNode highestBoundNode,
1880BoundNode boundNodeForSyntacticParent,
2026BoundNode lowestBoundNode,
2027BoundNode highestBoundNode,
2028BoundNode boundNodeForSyntacticParent)
2137conversion = BoundNode.GetConversion(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder);
2284BoundNode lowestBoundNode,
2285BoundNode boundNodeForSyntacticParent,
2306BoundNode lowestBoundNode,
2398internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
3353BoundNode boundNodeForSyntacticParent,
3974BoundNode boundNodeForSyntacticParent,
4025BoundNode lowestBoundNode,
4245BoundNode boundNodeForSyntacticParent,
4398BoundNode boundNodeForSyntacticParent,
Compilation\MemberSemanticModel.cs (60)
32private readonly Dictionary<SyntaxNode, OneOrMany<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, OneOrMany<BoundNode>>();
513internal virtual BoundNode GetBoundRoot()
521internal BoundNode GetUpperBoundNode(CSharpSyntaxNode node, bool promoteToBindable = false)
549internal BoundNode GetLowerBoundNode(CSharpSyntaxNode node)
566private static BoundNode GetLowerBoundNode(OneOrMany<BoundNode> boundNodes)
922var bound = GetLowerBoundNode(node);
993BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder),
994BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder));
1142var bound = this.GetLowerBoundNode(declaratorSyntax);
1187BoundNode highestBoundNode = GetBoundRoot();
1212BoundNode lowestBoundNode;
1213BoundNode highestBoundNode;
1214BoundNode boundParent;
1224BoundNode lowestBoundNode;
1225BoundNode highestBoundNode;
1226BoundNode boundParent;
1235BoundNode lowestBoundNode;
1236BoundNode highestBoundNode;
1237BoundNode boundParent;
1247BoundNode lowestBoundNode;
1248BoundNode highestBoundNode;
1249BoundNode boundParent;
1301private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent)
1432private OneOrMany<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node)
1435OneOrMany<BoundNode> result;
1436return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty;
1442internal OneOrMany<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node)
1444OneOrMany<BoundNode> result;
1445return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty;
1450private OneOrMany<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound)
1469OneOrMany<BoundNode> result;
1470return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : OneOrMany<BoundNode>.Empty;
1473protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null)
1481protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null)
1624BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery);
1628private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery)
1632OneOrMany<BoundNode> nodes;
1651BoundNode boundEnclosingLambdaOrQuery = null;
1692BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded);
1724BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded);
1738private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery)
1963BoundNode boundRoot = bind(bindableRoot, out binder);
1985BoundNode bind(CSharpSyntaxNode root, out Binder binder)
2039protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots(
2040BoundNode boundRoot,
2053protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots);
2067internal OneOrMany<BoundNode> GetBoundNodes(CSharpSyntaxNode node)
2091OneOrMany<BoundNode> results;
2114BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded);
2143var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded);
2158return OneOrMany<BoundNode>.Empty;
2472private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node)
2476OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node);
2488public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
2490BoundNode boundNode = TryGetBoundNodeFromMap(node);
FlowAnalysis\AbstractFlowPass.cs (200)
65protected readonly BoundNode methodMainNode;
171protected readonly BoundNode firstInRegion, lastInRegion;
184BoundNode node,
185BoundNode firstInRegion = null,
186BoundNode lastInRegion = null,
259private void EnterRegionIfNeeded(BoundNode node)
276private void LeaveRegionIfNeeded(BoundNode node)
340public override BoundNode Visit(BoundNode node)
345protected BoundNode VisitAlways(BoundNode node)
347BoundNode result = null;
361private BoundNode VisitWithStackGuard(BoundNode node)
372protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node)
393public readonly BoundNode Branch;
402public PendingBranch(BoundNode branch, TLocalState state, LabelSymbol label, bool isConditionalState = false, TLocalState stateWhenTrue = default, TLocalState stateWhenFalse = default)
761protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target)
894public override BoundNode DefaultVisit(BoundNode node)
901public override BoundNode VisitAttribute(BoundAttribute node)
907public override BoundNode VisitThrowExpression(BoundThrowExpression node)
914public override BoundNode VisitPassByCopy(BoundPassByCopy node)
920public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node)
1107public override BoundNode VisitConstantPattern(BoundConstantPattern node)
1113public override BoundNode VisitBinaryPattern(BoundBinaryPattern node)
1119public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
1124public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
1129private BoundNode VisitTupleExpression(BoundTupleExpression node)
1135public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
1142public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
1149public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
1156public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
1162public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node)
1170protected BoundNode? VisitInterpolatedStringBase(BoundInterpolatedStringBase node, InterpolatedStringHandlerData? data)
1201public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
1206public override BoundNode VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
1212public override BoundNode VisitStringInsert(BoundStringInsert node)
1228public override BoundNode VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
1233public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
1238public override BoundNode VisitArgList(BoundArgList node)
1245public override BoundNode VisitArgListOperator(BoundArgListOperator node)
1252public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node)
1258public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node)
1267public override BoundNode VisitRefValueOperator(BoundRefValueOperator node)
1273public override BoundNode VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
1279public override BoundNode VisitLambda(BoundLambda node) => null;
1281public override BoundNode VisitLocal(BoundLocal node)
1287public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node)
1304public override BoundNode VisitBlock(BoundBlock node)
1318public override BoundNode VisitScope(BoundScope node)
1324public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
1330public override BoundNode VisitCall(BoundCall node)
1479public override BoundNode VisitIndexerAccess(BoundIndexerAccess node)
1492public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
1505public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
1581public override BoundNode VisitBadExpression(BoundBadExpression node)
1591public override BoundNode VisitBadStatement(BoundBadStatement node)
1593foreach (var child in node.ChildBoundNodes)
1608public override BoundNode VisitArrayInitialization(BoundArrayInitialization node)
1618public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
1648public override BoundNode VisitTypeExpression(BoundTypeExpression node)
1653public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
1661public override BoundNode VisitLiteral(BoundLiteral node)
1667public override BoundNode VisitUtf8String(BoundUtf8String node)
1690public override BoundNode VisitLocalId(BoundLocalId node)
1695public override BoundNode VisitParameterId(BoundParameterId node)
1700public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node)
1705public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
1710public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
1715public override BoundNode VisitModuleVersionId(BoundModuleVersionId node)
1720public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node)
1725public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
1730public override BoundNode VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
1735public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
1740public override BoundNode VisitConversion(BoundConversion node)
1771public sealed override BoundNode VisitIfStatement(BoundIfStatement node)
1822public override BoundNode VisitTryStatement(BoundTryStatement node)
2017public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
2022public override BoundNode VisitReturnStatement(BoundReturnStatement node)
2024var result = VisitReturnStatementNoAdjust(node);
2030protected virtual BoundNode VisitReturnStatementNoAdjust(BoundReturnStatement node)
2043public override BoundNode VisitThisReference(BoundThisReference node)
2048public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
2053public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
2058public override BoundNode VisitParameter(BoundParameter node)
2067public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node)
2074public override BoundNode VisitCollectionExpression(BoundCollectionExpression node)
2080public override BoundNode VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
2086private void VisitCollectionExpression(ImmutableArray<BoundNode> elements)
2088foreach (var element in elements)
2101public override BoundNode VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
2107public override BoundNode VisitNewT(BoundNewT node)
2113public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
2138public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
2172public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
2179public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
2185public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
2230public override BoundNode VisitFieldAccess(BoundFieldAccess node)
2257public override BoundNode VisitFieldInfo(BoundFieldInfo node)
2262public override BoundNode VisitMethodInfo(BoundMethodInfo node)
2267public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
2297public override BoundNode VisitEventAccess(BoundEventAccess node)
2303public override BoundNode VisitRangeVariable(BoundRangeVariable node)
2308public override BoundNode VisitQueryClause(BoundQueryClause node)
2314private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node)
2324public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
2329public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
2338public override BoundNode VisitWhileStatement(BoundWhileStatement node)
2353public override BoundNode VisitWithExpression(BoundWithExpression node)
2360public override BoundNode VisitArrayAccess(BoundArrayAccess node)
2371public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node)
2390public override BoundNode VisitBinaryOperator(BoundBinaryOperator node)
2409public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
2764public override BoundNode VisitUnaryOperator(BoundUnaryOperator node)
2780public override BoundNode VisitRangeExpression(BoundRangeExpression node)
2795public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
2801public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
2808public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
2832public override BoundNode VisitArrayCreation(BoundArrayCreation node)
2843public override BoundNode VisitForStatement(BoundForStatement node)
2876public override BoundNode VisitForEachStatement(BoundForEachStatement node)
2905public override BoundNode VisitAsOperator(BoundAsOperator node)
2911public override BoundNode VisitIsOperator(BoundIsOperator node)
2926public override BoundNode VisitMethodGroup(BoundMethodGroup node)
2939public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
3115public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
3123public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
3142public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node)
3147public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
3161public override BoundNode VisitSequence(BoundSequence node)
3176public override BoundNode VisitSequencePoint(BoundSequencePoint node)
3186public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node)
3192public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
3202public override BoundNode VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
3207public override BoundNode VisitStatementList(BoundStatementList node)
3212private BoundNode VisitStatementListWorker(BoundStatementList node)
3222public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
3227public override BoundNode VisitUnboundLambda(UnboundLambda node)
3233public override BoundNode VisitBreakStatement(BoundBreakStatement node)
3241public override BoundNode VisitContinueStatement(BoundContinueStatement node)
3249public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
3254public override BoundNode VisitConditionalOperator(BoundConditionalOperator node)
3261protected virtual BoundNode? VisitConditionalOperatorCore(
3325public override BoundNode VisitBaseReference(BoundBaseReference node)
3330public override BoundNode VisitDoStatement(BoundDoStatement node)
3344public override BoundNode VisitGotoStatement(BoundGotoStatement node)
3367public override BoundNode VisitLabelStatement(BoundLabelStatement node)
3373public override BoundNode VisitLabeledStatement(BoundLabeledStatement node)
3380public override BoundNode VisitLockStatement(BoundLockStatement node)
3387public override BoundNode VisitNoOpStatement(BoundNoOpStatement node)
3392public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node)
3397public override BoundNode VisitUsingStatement(BoundUsingStatement node)
3420public override BoundNode VisitFixedStatement(BoundFixedStatement node)
3427public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
3433public override BoundNode VisitThrowStatement(BoundThrowStatement node)
3441public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node)
3449public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node)
3456public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node)
3461public override BoundNode VisitDefaultExpression(BoundDefaultExpression node)
3466public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
3471public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node)
3477public override BoundNode VisitNameOfOperator(BoundNameOfOperator node)
3486public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
3506public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
3512public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node)
3519public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node)
3524private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node)
3531public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
3536public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
3541public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
3549public override BoundNode VisitArrayLength(BoundArrayLength node)
3555public override BoundNode VisitConditionalGoto(BoundConditionalGoto node)
3573public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
3578public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
3583private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers)
3593public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node)
3612public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
3617public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
3640public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
3646public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node)
3651public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node)
3657public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
3663public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node)
3669public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
3674public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
3679public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
3684public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node)
3689public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
3694public override BoundNode VisitDiscardExpression(BoundDiscardExpression node)
3705public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node)
3712public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
3718public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
3751public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
3757public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
3764public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
3789public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node)
3794public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node)
3799public override BoundNode VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node)
FlowAnalysis\DataFlowsInWalker.cs (8)
27private DataFlowsInWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion,
33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion,
81BoundNode gotoStmt,
93public override BoundNode VisitRangeVariable(BoundRangeVariable node)
FlowAnalysis\DataFlowsOutWalker.cs (10)
27private DataFlowsOutWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn)
33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn)
114private Symbol GetNodeSymbol(BoundNode node)
201protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read)
237private ParameterSymbol Param(BoundNode node)
247public override BoundNode VisitQueryClause(BoundQueryClause node)
FlowAnalysis\DefiniteAssignment.cs (50)
169BoundNode node,
194BoundNode node,
216BoundNode node,
217BoundNode firstInRegion,
218BoundNode lastInRegion,
235BoundNode node)
429var pendingBranch = pending.Branch;
552BoundNode node,
783private void NoteRead(BoundNode fieldOrEventAccess)
786BoundNode n = fieldOrEventAccess;
1516protected void Assign(BoundNode node, BoundExpression value, bool isRef = false, bool read = true)
1533protected virtual void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read)
2135public override BoundNode? VisitBlock(BoundBlock node)
2220public override BoundNode VisitSwitchStatement(BoundSwitchStatement node)
2223var result = base.VisitSwitchStatement(node);
2235public override BoundNode VisitForStatement(BoundForStatement node)
2239var result = base.VisitForStatement(node);
2245public override BoundNode VisitDoStatement(BoundDoStatement node)
2248var result = base.VisitDoStatement(node);
2253public override BoundNode VisitWhileStatement(BoundWhileStatement node)
2256var result = base.VisitWhileStatement(node);
2264public override BoundNode VisitUsingStatement(BoundUsingStatement node)
2268var result = base.VisitUsingStatement(node);
2285public override BoundNode VisitFixedStatement(BoundFixedStatement node)
2291public override BoundNode VisitSequence(BoundSequence node)
2294var result = base.VisitSequence(node);
2363public override BoundNode VisitLocal(BoundLocal node)
2394public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node)
2405var result = base.VisitLocalDeclaration(node);
2413public override BoundNode VisitLocalId(BoundLocalId node)
2416public override BoundNode VisitParameterId(BoundParameterId node)
2419public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
2422public override BoundNode VisitMethodGroup(BoundMethodGroup node)
2434public override BoundNode VisitLambda(BoundLambda node)
2480public override BoundNode VisitThisReference(BoundThisReference node)
2487public override BoundNode VisitParameter(BoundParameter node)
2501public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
2508public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
2515public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
2522public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
2531public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
2549public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
2683public override BoundNode VisitBaseReference(BoundBaseReference node)
2707public override BoundNode VisitFieldAccess(BoundFieldAccess node)
2709var result = base.VisitFieldAccess(node);
2733public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
2735var result = base.VisitPropertyAccess(node);
2756public override BoundNode VisitEventAccess(BoundEventAccess node)
2758var result = base.VisitEventAccess(node);
2787public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
FlowAnalysis\EntryPointsWalker.cs (7)
24internal static IEnumerable<LabeledStatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, out bool? succeeded)
49private EntryPointsWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
59protected override void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement targetStmt)
FlowAnalysis\NullableWalker.cs (206)
461BoundNode node,
1424BoundNode node,
1451BoundNode node,
1491internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody)
1509internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics)
1547private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody)
1562BoundNode node,
1574internal static BoundNode AnalyzeAndRewrite(
1577BoundNode node,
1593BoundNode node,
1650internal static BoundNode AnalyzeAndRewriteSpeculation(
1652BoundNode node,
1698private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols)
1708var rewrittenNode = rewriter.Visit(node);
1732BoundNode node,
1813BoundNode node,
1923private void TakeIncrementalSnapshot(BoundNode? node)
1929private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol)
2271private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode
2285private void VisitWithoutDiagnostics(BoundNode? node)
3000public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue)
3035public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node)
3171public override BoundNode? VisitLocal(BoundLocal node)
3202public override BoundNode? VisitBlock(BoundBlock node)
3307public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
3529public override BoundNode? VisitDoStatement(BoundDoStatement node)
3535public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
3541public override BoundNode? VisitWithExpression(BoundWithExpression withExpr)
3563public override BoundNode? VisitForStatement(BoundForStatement node)
3570public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
3576public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
3583public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
3589public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
3595public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
3622public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
3684protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node)
3776public override BoundNode? Visit(BoundNode? node)
3781private BoundNode VisitLValue(BoundNode node)
3800private BoundNode Visit(BoundNode? node, bool expressionIsRead)
3809var result = base.Visit(node);
3822public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
3828public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
3836public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
3839var result = base.VisitUnconvertedCollectionExpression(node);
3844public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
3854foreach (var element in node.Elements)
3881void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Func<TypeWithAnnotations, TypeSymbol, TypeWithState>> elementConversionCompletions)
4037public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
4700public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
4761public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
4917BoundNode node,
4995public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
5029public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
5756public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
5793public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
6077public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
6083protected override BoundNode? VisitConditionalOperatorCore(
6374public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
6385public override BoundNode? VisitCall(BoundCall node)
7000private static bool HasImplicitTypeArguments(BoundNode node)
7071BoundNode node,
7093BoundNode node,
7132BoundNode node,
7322BoundNode node,
8329var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length);
8660public override BoundNode? VisitConversion(BoundConversion node)
8797public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
8803public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
9026public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
9990public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
10166public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
10261public override BoundNode? VisitLambda(BoundLambda node)
10310public override BoundNode? VisitUnboundLambda(UnboundLambda node)
10320public override BoundNode? VisitThisReference(BoundThisReference node)
10333public override BoundNode? VisitParameter(BoundParameter node)
10343public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
10522public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
10527private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt)
10641var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
10682var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
10841public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
10892BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder),
10922BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder),
10950public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
11000BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder),
11014BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder),
11035public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
11052public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
11110public override BoundNode? VisitBaseReference(BoundBaseReference node)
11116public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
11125public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
11175public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
11199public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
11213public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
11221public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
11227public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
11233public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
11239public override BoundNode? VisitEventAccess(BoundEventAccess node)
11349BoundNode node,
11614Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder);
11651public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
11653var result = base.VisitFromEndIndexExpression(node);
11658public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
11664public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
11670public override BoundNode? VisitBadExpression(BoundBadExpression node)
11692public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
11694var result = base.VisitTypeExpression(node);
11705public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
11708var result = base.VisitTypeOrValueExpression(node);
11713public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
11785public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
11787var result = base.VisitPointerIndirectionOperator(node);
11793public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
11795var result = base.VisitPointerElementAccess(node);
11801public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
11808public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
11810var result = base.VisitMakeRefOperator(node);
11815public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
11817var result = base.VisitRefValueOperator(node);
11913public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
11915var result = base.VisitAwaitExpression(node);
11944public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
11946var result = base.VisitTypeOfOperator(node);
11951public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
11953var result = base.VisitMethodInfo(node);
11958public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
11960var result = base.VisitFieldInfo(node);
11965public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
11968var result = base.VisitDefaultLiteral(node);
11973public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
11977var result = base.VisitDefaultExpression(node);
11993public override BoundNode? VisitIsOperator(BoundIsOperator node)
12027public override BoundNode? VisitAsOperator(BoundAsOperator node)
12035switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind)
12055public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
12057var result = base.VisitSizeOfOperator(node);
12063public override BoundNode? VisitArgList(BoundArgList node)
12065var result = base.VisitArgList(node);
12071public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
12079public override BoundNode? VisitLiteral(BoundLiteral node)
12082var result = base.VisitLiteral(node);
12087public override BoundNode? VisitUtf8String(BoundUtf8String node)
12090var result = base.VisitUtf8String(node);
12095public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
12097var result = base.VisitPreviousSubmissionReference(node);
12103public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
12105var result = base.VisitHostObjectMemberReference(node);
12111public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
12113var result = base.VisitPseudoVariable(node);
12118public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
12120var result = base.VisitRangeExpression(node);
12125public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
12132public override BoundNode? VisitLabel(BoundLabel node)
12134var result = base.VisitLabel(node);
12139public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
12151public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
12171public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
12197public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
12203public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
12211public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
12219public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
12227public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
12229var result = base.VisitImplicitReceiver(node);
12234public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
12239public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
12245public override BoundNode? VisitNewT(BoundNewT node)
12251public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
12253var result = base.VisitArrayInitialization(node);
12263public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
12357public override BoundNode? VisitQueryClause(BoundQueryClause node)
12359var result = base.VisitQueryClause(node);
12364public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
12366var result = base.VisitNameOfOperator(node);
12371public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
12373var result = base.VisitNamespaceExpression(node);
12378public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
12381var result = base.VisitUnconvertedInterpolatedString(node);
12386public override BoundNode? VisitStringInsert(BoundStringInsert node)
12388var result = base.VisitStringInsert(node);
12399public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
12407public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
12413public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
12419public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
12424private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node)
12441public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
12449public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
12456public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
12479public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
12517public override BoundNode? VisitLockStatement(BoundLockStatement node)
12525public override BoundNode? VisitAttribute(BoundAttribute node)
12538public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
12545public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
12553public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
12561public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
12584public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
12591public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
13159private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)>
13165public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y)
13176public int GetHashCode((BoundNode? expr, Symbol symbol) obj)
FlowAnalysis\NullableWalker.SnapshotManager.cs (11)
31private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol> _updatedSymbolsMap;
35private SnapshotManager(ImmutableArray<SharedWalkerState> walkerSharedStates, ImmutableArray<(int position, Snapshot snapshot)> incrementalSnapshots, ImmutableDictionary<(BoundNode?, Symbol), Symbol> updatedSymbolsMap)
82internal bool TryGetUpdatedSymbol(BoundNode node, Symbol symbol, [NotNullWhen(true)] out Symbol? updatedSymbol)
104internal void VerifyNode(BoundNode node)
148private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol>.Builder _updatedSymbolMap = ImmutableDictionary.CreateBuilder<(BoundNode?, Symbol), Symbol>(ExpressionAndSymbolEqualityComparer.Instance, Symbols.SymbolEqualityComparer.ConsiderEverything);
208internal void TakeIncrementalSnapshot(BoundNode? node, LocalState currentState)
220internal void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol)
228internal void RemoveSymbolIfPresent(BoundNode node, Symbol symbol)
233private static (BoundNode?, Symbol) GetKey(BoundNode node, Symbol symbol)
FlowAnalysis\ReadWriteWalker.cs (11)
22CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes,
70private ReadWriteWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion,
236protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read)
283public override BoundNode VisitUnboundLambda(UnboundLambda node)
288public override BoundNode VisitRangeVariable(BoundRangeVariable node)
300private static ParameterSymbol GetRangeVariableUnderlyingParameter(BoundNode underlying)
319public override BoundNode VisitQueryClause(BoundQueryClause node)
Generated\BoundNodes.xml.Generated.cs (1126)
304public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldEqualsValue(this);
334public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyEqualsValue(this);
364public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterEqualsValue(this);
392public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGlobalStatementInitializer(this);
465public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValuePlaceholder(this);
495public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCapturedReceiverPlaceholder(this);
536public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructValuePlaceholder(this);
571public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleOperandPlaceholder(this);
600public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableValuePlaceholder(this);
635public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDisposableValuePlaceholder(this);
673public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectOrCollectionValuePlaceholder(this);
708public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerValuePlaceholder(this);
746public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this);
781public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this);
816public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this);
851public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this);
886public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this);
917public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this);
945public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this);
978public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this);
994public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false)
1003public ImmutableArray<BoundNode> ChildBoundNodes { get; }
1006public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this);
1008public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes)
1034public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this);
1069public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this);
1107public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this);
1148public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this);
1190public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this);
1238public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this);
1270public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this);
1299public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this);
1342public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this);
1374public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this);
1411public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this);
1448public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this);
1480public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this);
1510public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this);
1542public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this);
1574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this);
1607public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this);
1660public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this);
1698public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this);
1747public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this);
1794public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this);
1828public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this);
1863public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this);
1904public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this);
1935public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this);
1974public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this);
2018public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this);
2051public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this);
2080public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefArrayAccess(this);
2110public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this);
2143public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this);
2178public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this);
2231public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this);
2263public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this);
2303public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this);
2346public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this);
2389public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this);
2424public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this);
2459public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this);
2497public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this);
2532public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this);
2567public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this);
2602public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this);
2637public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this);
2677public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this);
2720public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this);
2763public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this);
2792public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this);
2817public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this);
2852public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this);
2889public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this);
2921public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this);
2963public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this);
2996public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this);
3031public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this);
3062public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this);
3101public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this);
3140public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this);
3167public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this);
3204public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this);
3241public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this);
3272public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this);
3308public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this);
3337public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this);
3368public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this);
3404public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this);
3444public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this);
3474public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this);
3506public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this);
3537public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this);
3566public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this);
3594public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this);
3622public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this);
3636public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this);
3664public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this);
3701public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this);
3738public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this);
3783public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this);
3819public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this);
3852public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this);
3932public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this);
3962public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this);
4004public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this);
4055public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this);
4086public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this);
4125public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this);
4159public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this);
4190public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this);
4227public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this);
4268public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this);
4299public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this);
4339public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this);
4374public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this);
4409public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this);
4444public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this);
4473public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this);
4522public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this);
4567public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this);
4600public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this);
4640public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this);
4677public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this);
4709public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this);
4740public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this);
4777public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this);
4814public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this);
4847public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this);
4910public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this);
4938public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this);
4972public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this);
5000public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this);
5045public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this);
5079public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this);
5114public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this);
5151public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this);
5197public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this);
5226public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this);
5254public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this);
5280public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this);
5309public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this);
5340public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this);
5381public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this);
5410public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this);
5439public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this);
5470public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this);
5501public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this);
5548public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this);
5597public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this);
5626public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this);
5658public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this);
5691public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this);
5733public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this);
5769public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this);
5805public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this);
5844public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this);
5897public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this);
5930public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this);
5971public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this);
6009public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this);
6042public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this);
6083public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this);
6111public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this);
6166public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this);
6205public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this);
6250public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this);
6288public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this);
6360public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this);
6376protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false)
6385public ImmutableArray<BoundNode> Elements { get; }
6390public BoundUnconvertedCollectionExpression(SyntaxNode syntax, ImmutableArray<BoundNode> elements, bool hasErrors = false)
6401public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedCollectionExpression(this);
6403public BoundUnconvertedCollectionExpression Update(ImmutableArray<BoundNode> elements)
6417public BoundCollectionExpression(SyntaxNode syntax, CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type, bool hasErrors = false)
6446public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpression(this);
6448public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type)
6474public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadExpressionPlaceholder(this);
6514public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadElement(this);
6559public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this);
6589public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this);
6632public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this);
6664public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this);
6711public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this);
6760public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this);
6805public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this);
6833public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this);
6878public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this);
6910public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this);
6945public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this);
6981public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this);
7021public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this);
7051public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this);
7087public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this);
7119public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this);
7150public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this);
7196public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this);
7225public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this);
7265public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this);
7305public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this);
7343public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this);
7379public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this);
7430public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this);
7479public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this);
7520public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this);
7560public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this);
7600public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this);
7644public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this);
7685public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this);
7711public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this);
7744public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this);
7786public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this);
7814public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this);
7842public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this);
7880public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this);
7915public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this);
7957public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this);
8022public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this);
8062public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this);
8115public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this);
8156public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this);
8200public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this);
8239public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this);
8279public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this);
8321public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this);
8351public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this);
8383public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this);
8419public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this);
8458public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this);
8492public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this);
8531public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this);
8566public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this);
8594public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this);
8637public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this);
8663public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this);
8698public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this);
8734public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this);
8764public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this);
8795public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this);
8830public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this);
8848internal R VisitInternal(BoundNode node, A arg)
9560public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node);
9561public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node);
9562public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node);
9563public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node);
9564public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node);
9565public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node);
9566public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node);
9567public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node);
9568public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node);
9569public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node);
9570public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node);
9571public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node);
9572public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node);
9573public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node);
9574public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node);
9575public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node);
9576public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node);
9577public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node);
9578public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node);
9579public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node);
9580public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node);
9581public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node);
9582public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node);
9583public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node);
9584public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node);
9585public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node);
9586public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node);
9587public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node);
9588public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node);
9589public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node);
9590public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node);
9591public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node);
9592public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node);
9593public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node);
9594public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node);
9595public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node);
9596public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node);
9597public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node);
9598public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node);
9599public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node);
9600public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node);
9601public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node);
9602public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
9603public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node);
9604public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node);
9605public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node);
9606public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node);
9607public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node);
9608public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node);
9609public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node);
9610public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node);
9611public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node);
9612public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node);
9613public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node);
9614public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node);
9615public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node);
9616public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node);
9617public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node);
9618public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node);
9619public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node);
9620public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node);
9621public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node);
9622public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node);
9623public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node);
9624public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node);
9625public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node);
9626public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node);
9627public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node);
9628public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node);
9629public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node);
9630public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node);
9631public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node);
9632public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node);
9633public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node);
9634public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node);
9635public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node);
9636public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node);
9637public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node);
9638public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node);
9639public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node);
9640public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node);
9641public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node);
9642public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node);
9643public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node);
9644public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node);
9645public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node);
9646public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node);
9647public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node);
9648public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node);
9649public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node);
9650public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node);
9651public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node);
9652public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node);
9653public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node);
9654public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node);
9655public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node);
9656public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node);
9657public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node);
9658public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node);
9659public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node);
9660public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node);
9661public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node);
9662public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node);
9663public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node);
9664public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node);
9665public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node);
9666public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node);
9667public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node);
9668public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node);
9669public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node);
9670public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node);
9671public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node);
9672public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node);
9673public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node);
9674public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node);
9675public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node);
9676public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node);
9677public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node);
9678public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node);
9679public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node);
9680public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node);
9681public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node);
9682public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node);
9683public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node);
9684public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node);
9685public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node);
9686public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node);
9687public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node);
9688public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node);
9689public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node);
9690public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node);
9691public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node);
9692public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node);
9693public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node);
9694public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node);
9695public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node);
9696public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node);
9697public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node);
9698public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node);
9699public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node);
9700public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node);
9701public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node);
9702public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node);
9703public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node);
9704public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node);
9705public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node);
9706public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node);
9707public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node);
9708public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node);
9709public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node);
9710public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node);
9711public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node);
9712public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node);
9713public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node);
9714public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node);
9715public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node);
9716public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node);
9717public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node);
9718public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node);
9719public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node);
9720public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node);
9721public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node);
9722public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node);
9723public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node);
9724public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node);
9725public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node);
9726public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node);
9727public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node);
9728public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node);
9729public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node);
9730public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node);
9731public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node);
9732public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node);
9733public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node);
9734public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node);
9735public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node);
9736public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node);
9737public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node);
9738public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node);
9739public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node);
9740public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node);
9741public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node);
9742public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node);
9743public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node);
9744public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node);
9745public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node);
9746public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node);
9747public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node);
9748public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node);
9749public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node);
9750public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node);
9751public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node);
9752public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node);
9753public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node);
9754public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node);
9755public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node);
9756public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node);
9757public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node);
9758public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node);
9759public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node);
9760public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node);
9761public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node);
9762public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node);
9763public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node);
9764public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node);
9765public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node);
9766public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node);
9767public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node);
9768public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node);
9769public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node);
9770public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node);
9771public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node);
9772public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node);
9773public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node);
9774public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node);
9775public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node);
9776public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node);
9777public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node);
9778public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node);
9779public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node);
9780public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node);
9781public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node);
9782public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node);
9783public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node);
9784public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node);
9785public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node);
9786public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node);
9787public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node);
9788public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node);
9789public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node);
9790public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node);
9791public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node);
9796public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
9801public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
9806public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
9811public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
9816public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null;
9817public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
9822public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null;
9823public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null;
9824public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null;
9825public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null;
9826public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null;
9827public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null;
9828public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => null;
9829public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null;
9830public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null;
9831public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null;
9832public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null;
9833public override BoundNode? VisitDup(BoundDup node) => null;
9834public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
9839public override BoundNode? VisitBadExpression(BoundBadExpression node)
9844public override BoundNode? VisitBadStatement(BoundBadStatement node)
9849public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
9854public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
9860public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null;
9861public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null;
9862public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
9867public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
9872public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
9877public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
9882public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null;
9883public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
9888public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
9894public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
9900public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
9905public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
9910public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
9915public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
9920public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
9926public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
9932public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
9938public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
9944public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
9950public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
9956public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
9962public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
9968public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
9974public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
9981public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
9988public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
9994public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
9999public override BoundNode? VisitArrayLength(BoundArrayLength node)
10004public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
10010public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
10016public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
10021public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
10027public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null;
10028public override BoundNode? VisitLocalId(BoundLocalId node) => null;
10029public override BoundNode? VisitParameterId(BoundParameterId node) => null;
10030public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null;
10031public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null;
10032public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null;
10033public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null;
10034public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null;
10035public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null;
10036public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null;
10037public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null;
10038public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null;
10039public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null;
10040public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null;
10041public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null;
10042public override BoundNode? VisitIsOperator(BoundIsOperator node)
10048public override BoundNode? VisitAsOperator(BoundAsOperator node)
10054public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
10059public override BoundNode? VisitConversion(BoundConversion node)
10064public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
10069public override BoundNode? VisitArgList(BoundArgList node) => null;
10070public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
10075public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
10080public override BoundNode? VisitSequencePoint(BoundSequencePoint node)
10085public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
10090public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null;
10091public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null;
10092public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null;
10093public override BoundNode? VisitBlock(BoundBlock node)
10099public override BoundNode? VisitScope(BoundScope node)
10104public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
10109public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
10116public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
10121public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
10127public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
10133public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null;
10134public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
10139public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
10144public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null;
10145public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
10150public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
10155public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => null;
10156public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => null;
10157public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
10164public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node)
10169public override BoundNode? VisitIfStatement(BoundIfStatement node)
10176public override BoundNode? VisitDoStatement(BoundDoStatement node)
10182public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
10188public override BoundNode? VisitForStatement(BoundForStatement node)
10196public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
10206public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node)
10212public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
10220public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
10226public override BoundNode? VisitLockStatement(BoundLockStatement node)
10232public override BoundNode? VisitTryStatement(BoundTryStatement node)
10239public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
10247public override BoundNode? VisitLiteral(BoundLiteral node) => null;
10248public override BoundNode? VisitUtf8String(BoundUtf8String node) => null;
10249public override BoundNode? VisitThisReference(BoundThisReference node) => null;
10250public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null;
10251public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null;
10252public override BoundNode? VisitBaseReference(BoundBaseReference node) => null;
10253public override BoundNode? VisitLocal(BoundLocal node) => null;
10254public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null;
10255public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
10260public override BoundNode? VisitParameter(BoundParameter node) => null;
10261public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null;
10262public override BoundNode? VisitGotoStatement(BoundGotoStatement node)
10268public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node)
10273public override BoundNode? VisitLabel(BoundLabel node) => null;
10274public override BoundNode? VisitStatementList(BoundStatementList node)
10279public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node)
10284public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
10291public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
10297public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
10303public override BoundNode? VisitDecisionDag(BoundDecisionDag node)
10308public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node)
10314public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node)
10321public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node)
10328public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null;
10329public override BoundNode? VisitDagTemp(BoundDagTemp node)
10334public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node)
10339public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node)
10344public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node)
10349public override BoundNode? VisitDagValueTest(BoundDagValueTest node)
10354public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node)
10359public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
10364public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node)
10369public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
10374public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
10379public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
10384public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
10393public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
10402public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node)
10408public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
10414public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node)
10420public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
10425public override BoundNode? VisitSequence(BoundSequence node)
10431public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
10437public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
10442public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
10448public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
10454public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
10461public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null;
10462public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
10468public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
10473public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
10478public override BoundNode? VisitCall(BoundCall node)
10484public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
10490public override BoundNode? VisitAttribute(BoundAttribute node)
10496public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
10501public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
10507public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
10512public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
10517public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null;
10518public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
10523public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
10528public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
10533public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
10539public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
10544public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
10550public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
10555public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null;
10556public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
10562public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
10568public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
10574public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null;
10575public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
10581public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null;
10582public override BoundNode? VisitNewT(BoundNewT node)
10587public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
10592public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
10598public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
10603public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
10609public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
10615public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
10620public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null;
10621public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
10626public override BoundNode? VisitEventAccess(BoundEventAccess node)
10631public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
10637public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
10643public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
10649public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
10655public override BoundNode? VisitLambda(BoundLambda node)
10660public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null;
10661public override BoundNode? VisitQueryClause(BoundQueryClause node)
10666public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
10671public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
10676public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
10681public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
10686public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null;
10687public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null;
10688public override BoundNode? VisitStringInsert(BoundStringInsert node)
10695public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
10701public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
10706public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null;
10707public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
10713public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
10721public override BoundNode? VisitListPattern(BoundListPattern node)
10727public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
10732public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
10737public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
10742public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
10748public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
10753public override BoundNode? VisitTypePattern(BoundTypePattern node)
10758public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
10764public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
10769public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
10774public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null;
10775public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
10780public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
10785public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
10790public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null;
10791public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
10797public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
10804public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
10809public override BoundNode? VisitWithExpression(BoundWithExpression node)
10819public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
10826public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
10833public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
10840public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
10845public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
10850public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
10856public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
10862public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
10867public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
10872public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
10877public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
10882public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
10887public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
10892public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node)
10897public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node)
10902public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node)
10907public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
10912public override BoundNode? VisitDup(BoundDup node)
10917public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
10923public override BoundNode? VisitBadExpression(BoundBadExpression node)
10930public override BoundNode? VisitBadStatement(BoundBadStatement node)
10932ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes);
10935public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
10940public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
10948public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
10953public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
10960public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
10969public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
10982public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
10988public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
10994public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
11001public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
11007public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
11014public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
11021public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
11028public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
11034public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
11040public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
11047public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
11055public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
11062public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
11069public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
11083public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
11095public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11102public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
11109public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
11118public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
11125public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
11133public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
11142public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
11149public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
11155public override BoundNode? VisitArrayLength(BoundArrayLength node)
11161public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
11169public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
11176public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
11183public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
11189public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
11195public override BoundNode? VisitLocalId(BoundLocalId node)
11202public override BoundNode? VisitParameterId(BoundParameterId node)
11209public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
11214public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
11219public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
11224public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
11229public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
11234public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node)
11239public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node)
11244public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
11249public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
11256public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
11263public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
11268public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
11274public override BoundNode? VisitIsOperator(BoundIsOperator node)
11281public override BoundNode? VisitAsOperator(BoundAsOperator node)
11290public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
11296public override BoundNode? VisitConversion(BoundConversion node)
11302public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
11309public override BoundNode? VisitArgList(BoundArgList node)
11314public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
11320public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
11330public override BoundNode? VisitSequencePoint(BoundSequencePoint node)
11335public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
11340public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node;
11341public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node;
11342public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node;
11343public override BoundNode? VisitBlock(BoundBlock node)
11351public override BoundNode? VisitScope(BoundScope node)
11357public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
11363public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
11371public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
11376public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
11382public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
11389public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node;
11390public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
11395public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
11400public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node;
11401public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
11406public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
11411public override BoundNode? VisitBreakStatement(BoundBreakStatement node)
11416public override BoundNode? VisitContinueStatement(BoundContinueStatement node)
11421public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
11432public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node)
11438public override BoundNode? VisitIfStatement(BoundIfStatement node)
11445public override BoundNode? VisitDoStatement(BoundDoStatement node)
11454public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
11463public override BoundNode? VisitForStatement(BoundForStatement node)
11475public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
11490public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node)
11496public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
11505public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
11512public override BoundNode? VisitLockStatement(BoundLockStatement node)
11518public override BoundNode? VisitTryStatement(BoundTryStatement node)
11526public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
11536public override BoundNode? VisitLiteral(BoundLiteral node)
11541public override BoundNode? VisitUtf8String(BoundUtf8String node)
11546public override BoundNode? VisitThisReference(BoundThisReference node)
11551public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
11556public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
11561public override BoundNode? VisitBaseReference(BoundBaseReference node)
11566public override BoundNode? VisitLocal(BoundLocal node)
11572public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
11578public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
11585public override BoundNode? VisitParameter(BoundParameter node)
11591public override BoundNode? VisitLabelStatement(BoundLabelStatement node)
11596public override BoundNode? VisitGotoStatement(BoundGotoStatement node)
11603public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node)
11609public override BoundNode? VisitLabel(BoundLabel node)
11615public override BoundNode? VisitStatementList(BoundStatementList node)
11620public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node)
11626public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
11635public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
11644public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
11654public override BoundNode? VisitDecisionDag(BoundDecisionDag node)
11659public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node)
11665public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node)
11672public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node)
11679public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node)
11684public override BoundNode? VisitDagTemp(BoundDagTemp node)
11690public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node)
11696public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node)
11701public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node)
11706public override BoundNode? VisitDagValueTest(BoundDagValueTest node)
11711public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node)
11716public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
11722public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node)
11728public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
11734public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
11740public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
11746public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
11756public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
11766public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node)
11772public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
11779public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node)
11786public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
11792public override BoundNode? VisitSequence(BoundSequence node)
11800public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
11808public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
11814public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
11822public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
11829public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
11838public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
11843public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
11850public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
11859public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
11866public override BoundNode? VisitCall(BoundCall node)
11875public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
11883public override BoundNode? VisitAttribute(BoundAttribute node)
11891public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
11897public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
11906public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
11908ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
11912public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
11920ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
11924public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
11929public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
11939public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
11945public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
11952public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
11960public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
11966public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
11973public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
11981public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
11987public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
11994public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
12002public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
12010public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
12015public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
12023public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
12029public override BoundNode? VisitNewT(BoundNewT node)
12035public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
12042public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
12049public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
12055public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
12063public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
12071public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
12078public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node)
12084public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
12091public override BoundNode? VisitEventAccess(BoundEventAccess node)
12098public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
12107public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
12118public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
12125public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
12133public override BoundNode? VisitLambda(BoundLambda node)
12141public override BoundNode? VisitUnboundLambda(UnboundLambda node)
12147public override BoundNode? VisitQueryClause(BoundQueryClause node)
12157public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
12162public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
12168public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
12174public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
12180public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
12185public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
12190public override BoundNode? VisitStringInsert(BoundStringInsert node)
12198public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
12208public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
12215public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
12221public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
12230public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
12242public override BoundNode? VisitListPattern(BoundListPattern node)
12255public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
12265public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
12274public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
12280public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
12286public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
12293public override BoundNode? VisitTypePattern(BoundTypePattern node)
12300public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
12308public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
12315public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
12322public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
12327public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
12333public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
12340public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
12347public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
12353public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
12359public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
12367public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
12373public override BoundNode? VisitWithExpression(BoundWithExpression node)
12396public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
12404public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
12412public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
12420public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
12432public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
12449public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
12466public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
12478public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
12490public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
12502public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
12514public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
12526public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
12538public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node)
12550public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node)
12562public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node)
12574public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
12586public override BoundNode? VisitDup(BoundDup node)
12598public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
12615public override BoundNode? VisitBadExpression(BoundBadExpression node)
12633public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12651public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
12663public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
12675public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
12695public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
12719public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
12736public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
12753public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
12771public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
12788public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
12806public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
12824public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
12842public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
12859public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
12876public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
12894public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
12913public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
12931public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
12954public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
12972public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
12990public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
13010public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
13028public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
13047public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
13067public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
13085public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
13102public override BoundNode? VisitArrayLength(BoundArrayLength node)
13119public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
13128public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
13146public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
13164public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
13181public override BoundNode? VisitLocalId(BoundLocalId node)
13199public override BoundNode? VisitParameterId(BoundParameterId node)
13217public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
13229public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
13241public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
13253public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
13265public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
13277public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node)
13289public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node)
13301public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
13313public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
13331public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
13349public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
13361public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
13378public override BoundNode? VisitIsOperator(BoundIsOperator node)
13396public override BoundNode? VisitAsOperator(BoundAsOperator node)
13416public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
13433public override BoundNode? VisitConversion(BoundConversion node)
13450public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
13468public override BoundNode? VisitArgList(BoundArgList node)
13480public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
13497public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
13518public override BoundNode? VisitBlock(BoundBlock node)
13527public override BoundNode? VisitScope(BoundScope node)
13534public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
13541public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
13550public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
13558public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
13569public override BoundNode? VisitDoStatement(BoundDoStatement node)
13577public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
13585public override BoundNode? VisitForStatement(BoundForStatement node)
13596public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
13610public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
13620public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
13628public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
13639public override BoundNode? VisitLiteral(BoundLiteral node)
13651public override BoundNode? VisitUtf8String(BoundUtf8String node)
13663public override BoundNode? VisitThisReference(BoundThisReference node)
13675public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
13687public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
13699public override BoundNode? VisitBaseReference(BoundBaseReference node)
13711public override BoundNode? VisitLocal(BoundLocal node)
13728public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
13745public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
13763public override BoundNode? VisitParameter(BoundParameter node)
13780public override BoundNode? VisitLabel(BoundLabel node)
13792public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
13801public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
13820public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
13840public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
13847public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
13854public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
13861public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
13868public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
13879public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
13890public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
13898public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
13915public override BoundNode? VisitSequence(BoundSequence node)
13934public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
13953public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
13970public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
13989public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
14007public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
14027public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
14039public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
14057public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
14077public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
14095public override BoundNode? VisitCall(BoundCall node)
14115public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
14134public override BoundNode? VisitAttribute(BoundAttribute node)
14153public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
14170public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
14190public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
14192ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14207public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
14215ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14230public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
14242public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
14259public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
14277public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
14296public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
14313public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
14331public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
14350public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
14367public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
14385public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
14404public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
14423public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
14435public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
14454public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
14471public override BoundNode? VisitNewT(BoundNewT node)
14488public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
14506public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
14524public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
14541public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
14560public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
14579public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
14597public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node)
14614public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
14632public override BoundNode? VisitEventAccess(BoundEventAccess node)
14650public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
14670public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
14688public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
14707public override BoundNode? VisitLambda(BoundLambda node)
14726public override BoundNode? VisitUnboundLambda(UnboundLambda node)
14743public override BoundNode? VisitQueryClause(BoundQueryClause node)
14764public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
14781public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
14798public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
14815public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
14827public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
14839public override BoundNode? VisitStringInsert(BoundStringInsert node)
14858public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
14877public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
14885public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
14892public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
14902public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
14915public override BoundNode? VisitListPattern(BoundListPattern node)
14929public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
14940public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
14950public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
14957public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
14964public override BoundNode? VisitTypePattern(BoundTypePattern node)
14972public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
14981public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
14989public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
14997public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
15009public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
15026public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
15044public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
15062public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
15079public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
15088public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
15105public override BoundNode? VisitWithExpression(BoundWithExpression node)
15130public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\ClosureConversion\ClosureConversion.cs (33)
88private readonly Dictionary<BoundNode, Analysis.ClosureEnvironment> _frames = new Dictionary<BoundNode, Analysis.ClosureEnvironment>();
337static partial void CheckLocalsDefined(BoundNode node);
370var scopeBoundNode = scope.BoundNode;
640private static void InsertAndFreePrologue<T>(ArrayBuilder<BoundStatement> result, ArrayBuilder<T> prologue) where T : BoundNode
650result.Add(new BoundExpressionStatement(node.Syntax, (BoundExpression)(BoundNode)node));
664private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F)
730var result = F(prologue, addedLocals);
824protected override BoundNode VisitUnhoistedParameter(BoundParameter node)
835public override BoundNode VisitThisReference(BoundThisReference node)
852public override BoundNode VisitBaseReference(BoundBaseReference node)
859public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node)
1074public override BoundNode VisitCall(BoundCall node)
1108var visited = base.VisitCall(node);
1155public override BoundNode VisitBlock(BoundBlock node)
1203public override BoundNode VisitScope(BoundScope node)
1217public override BoundNode VisitCatchBlock(BoundCatchBlock node)
1233private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals)
1291public override BoundNode VisitSequence(BoundSequence node)
1307public override BoundNode VisitStatementList(BoundStatementList node)
1332public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
1365public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
1392public override BoundNode VisitConversion(BoundConversion conversion)
1422public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
1427BoundNode lambdaScope;
1519out BoundNode lambdaScope,
1536BoundNode tmpScope = null;
1621private BoundNode RewriteLambdaConversion(BoundLambda node)
1631var result0 = wasInExpressionLambda ? node : ExpressionLambdaRewriter.RewriteLambda(node, CompilationState, TypeMap, RecursionDepth, Diagnostics);
1639BoundNode lambdaScope;
1791public override BoundNode VisitLambda(BoundLambda node)
Operations\CSharpOperationFactory.cs (23)
28public IOperation? Create(BoundNode? boundNode)
337public ImmutableArray<TOperation> CreateFromArray<TBoundNode, TOperation>(ImmutableArray<TBoundNode> boundNodes) where TBoundNode : BoundNode where TOperation : class, IOperation
382foreach (BoundNode? childNode in children)
396internal ImmutableArray<IVariableDeclaratorOperation> CreateVariableDeclarator(BoundNode declaration, SyntaxNode declarationSyntax)
450ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCall).InvalidNodeChildren);
480ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundFunctionPointerInvocation).InvalidNodeChildren);
520internal ImmutableArray<IOperation> CreateIgnoredDimensions(BoundNode declaration)
595internal IOperation? CreateBoundPropertyReferenceInstance(BoundNode boundNode)
633var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundIndexerAccess).InvalidNodeChildren);
713var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectCreationExpression).InvalidNodeChildren);
759internal IOperation CreateBoundDynamicInvocationExpressionReceiver(BoundNode receiver)
889var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectInitializerMember).InvalidNodeChildren);
935var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCollectionElementInitializer).InvalidNodeChildren);
1143Conversion conversion = BoundNode.GetConversion(boundAsOperator.OperandConversion, boundAsOperator.OperandPlaceholder);
1258private IOperation CreateBoundCollectionExpressionElement(BoundCollectionExpression expr, BoundNode element)
1274var elementConversion = BoundNode.GetConversion(iteratorItem, element.ElementPlaceholder);
1360Conversion inConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.LeftConversion, boundCompoundAssignmentOperator.LeftPlaceholder);
1361Conversion outConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.FinalConversion, boundCompoundAssignmentOperator.FinalPlaceholder);
1593Conversion valueConversion = BoundNode.GetConversion(boundNullCoalescingOperator.LeftConversion, boundNullCoalescingOperator.LeftPlaceholder);
1917BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder),
1918BoundNode.GetConversion(boundForEachStatement.ElementConversion, boundForEachStatement.ElementPlaceholder),
2033IOperation resources = Create(boundUsingStatement.DeclarationsOpt ?? (BoundNode)boundUsingStatement.ExpressionOpt!);
2095var children = CreateFromArray<BoundNode, IOperation>(boundBadStatement.ChildBoundNodes);