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;
2954return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
2965return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
3686public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics)
3715private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3720private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3744private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics)
3779private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics)
4102private 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)
738BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition
768BoundNode boundNode = GetSpeculativelyBoundAttribute(position, attribute, out binder); //calls CheckAndAdjustPosition
1068BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out _, out crefSymbols); //calls CheckAndAdjustPosition
1215BoundNode boundNode = GetSpeculativelyBoundExpression(position, nameSyntax, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition
1895BoundNode lowestBoundNode,
1896BoundNode highestBoundNode,
1897BoundNode boundNodeForSyntacticParent,
2030BoundNode lowestBoundNode,
2031BoundNode highestBoundNode,
2032BoundNode boundNodeForSyntacticParent)
2138conversion = BoundNode.GetConversion(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder);
2285BoundNode lowestBoundNode,
2286BoundNode boundNodeForSyntacticParent,
2307BoundNode lowestBoundNode,
2399internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
3354BoundNode boundNodeForSyntacticParent,
3994BoundNode boundNodeForSyntacticParent,
4045BoundNode lowestBoundNode,
4265BoundNode boundNodeForSyntacticParent,
4418BoundNode boundNodeForSyntacticParent,
Compilation\MemberSemanticModel.cs (63)
33private readonly Dictionary<SyntaxNode, OneOrMany<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, OneOrMany<BoundNode>>();
514internal virtual BoundNode GetBoundRoot()
522internal BoundNode GetUpperBoundNode(CSharpSyntaxNode node, bool promoteToBindable = false)
550internal BoundNode GetLowerBoundNode(CSharpSyntaxNode node)
567private static BoundNode GetLowerBoundNode(OneOrMany<BoundNode> boundNodes)
924var bound = GetLowerBoundNode(node);
936var bound = GetLowerBoundNode(node);
948var bound = GetLowerBoundNode(node);
1032BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder),
1033BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder));
1038var lowerNode = GetLowerBoundNode(node);
1181var bound = this.GetLowerBoundNode(declaratorSyntax);
1226BoundNode highestBoundNode = GetBoundRoot();
1251BoundNode lowestBoundNode;
1252BoundNode highestBoundNode;
1253BoundNode boundParent;
1263BoundNode lowestBoundNode;
1264BoundNode highestBoundNode;
1265BoundNode boundParent;
1274BoundNode lowestBoundNode;
1275BoundNode highestBoundNode;
1276BoundNode boundParent;
1286BoundNode lowestBoundNode;
1287BoundNode highestBoundNode;
1288BoundNode boundParent;
1340private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent)
1471private OneOrMany<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node)
1474OneOrMany<BoundNode> result;
1475return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty;
1481internal OneOrMany<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node)
1483OneOrMany<BoundNode> result;
1484return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty;
1489private OneOrMany<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound)
1508OneOrMany<BoundNode> result;
1509return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : OneOrMany<BoundNode>.Empty;
1512protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null)
1520protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null)
1663BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery);
1667private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery)
1671OneOrMany<BoundNode> nodes;
1690BoundNode boundEnclosingLambdaOrQuery = null;
1731BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded);
1763BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded);
1777private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery)
2002BoundNode boundRoot = bind(bindableRoot, out binder);
2024BoundNode bind(CSharpSyntaxNode root, out Binder binder)
2078protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots(
2079BoundNode boundRoot,
2092protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots);
2106internal OneOrMany<BoundNode> GetBoundNodes(CSharpSyntaxNode node)
2130OneOrMany<BoundNode> results;
2153BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded);
2182var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded);
2197return OneOrMany<BoundNode>.Empty;
2512private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node)
2516OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node);
2528public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
2530BoundNode boundNode = TryGetBoundNodeFromMap(node);
FlowAnalysis\AbstractFlowPass.cs (203)
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)
394public readonly BoundNode Branch;
403public PendingBranch(BoundNode branch, TLocalState state, LabelSymbol label, bool isConditionalState = false, TLocalState stateWhenTrue = default, TLocalState stateWhenFalse = default)
762protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target)
895public override BoundNode DefaultVisit(BoundNode node)
902public override BoundNode VisitAttribute(BoundAttribute node)
908public override BoundNode VisitThrowExpression(BoundThrowExpression node)
915public override BoundNode VisitPassByCopy(BoundPassByCopy node)
921public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node)
1156public override BoundNode VisitConstantPattern(BoundConstantPattern node)
1162public override BoundNode VisitBinaryPattern(BoundBinaryPattern node)
1168public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
1173public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
1178private BoundNode VisitTupleExpression(BoundTupleExpression node)
1184public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
1191public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
1198public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
1205public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
1211public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node)
1219protected BoundNode? VisitInterpolatedStringBase(BoundInterpolatedStringBase node, InterpolatedStringHandlerData? data)
1250public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
1255public override BoundNode VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
1261public override BoundNode VisitStringInsert(BoundStringInsert node)
1277public override BoundNode VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
1282public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
1287public override BoundNode VisitArgList(BoundArgList node)
1294public override BoundNode VisitArgListOperator(BoundArgListOperator node)
1301public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node)
1307public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node)
1316public override BoundNode VisitRefValueOperator(BoundRefValueOperator node)
1322public override BoundNode VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
1328public override BoundNode VisitLambda(BoundLambda node) => null;
1330public override BoundNode VisitLocal(BoundLocal node)
1336public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node)
1353public override BoundNode VisitBlock(BoundBlock node)
1367public override BoundNode VisitScope(BoundScope node)
1373public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
1379public override BoundNode VisitCall(BoundCall node)
1529public override BoundNode VisitIndexerAccess(BoundIndexerAccess node)
1542public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
1555public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
1631public override BoundNode VisitBadExpression(BoundBadExpression node)
1641public override BoundNode VisitBadStatement(BoundBadStatement node)
1643foreach (var child in node.ChildBoundNodes)
1658public override BoundNode VisitArrayInitialization(BoundArrayInitialization node)
1668public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
1698public override BoundNode VisitTypeExpression(BoundTypeExpression node)
1703public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
1709public override BoundNode VisitLiteral(BoundLiteral node)
1715public override BoundNode VisitUtf8String(BoundUtf8String node)
1738public override BoundNode VisitLocalId(BoundLocalId node)
1743public override BoundNode VisitParameterId(BoundParameterId node)
1748public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node)
1753public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
1758public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
1763public override BoundNode VisitModuleVersionId(BoundModuleVersionId node)
1768public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node)
1773public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
1778public override BoundNode VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
1783public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
1788public override BoundNode VisitConversion(BoundConversion node)
1819public sealed override BoundNode VisitIfStatement(BoundIfStatement node)
1870public override BoundNode VisitTryStatement(BoundTryStatement node)
2015public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
2066public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
2071public override BoundNode VisitReturnStatement(BoundReturnStatement node)
2073var result = VisitReturnStatementNoAdjust(node);
2079protected virtual BoundNode VisitReturnStatementNoAdjust(BoundReturnStatement node)
2092public override BoundNode VisitThisReference(BoundThisReference node)
2097public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
2102public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
2107public override BoundNode VisitParameter(BoundParameter node)
2116public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node)
2123public override BoundNode VisitCollectionExpression(BoundCollectionExpression node)
2130public override BoundNode VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
2136private void VisitCollectionExpression(ImmutableArray<BoundNode> elements)
2138foreach (var element in elements)
2151public override BoundNode VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
2157public override BoundNode VisitNewT(BoundNewT node)
2163public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
2188public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
2222public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
2229public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
2235public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
2280public override BoundNode VisitFieldAccess(BoundFieldAccess node)
2307public override BoundNode VisitFieldInfo(BoundFieldInfo node)
2312public override BoundNode VisitMethodInfo(BoundMethodInfo node)
2317public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
2347public override BoundNode VisitEventAccess(BoundEventAccess node)
2353public override BoundNode VisitRangeVariable(BoundRangeVariable node)
2358public override BoundNode VisitQueryClause(BoundQueryClause node)
2364private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node)
2374public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
2379public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
2388public override BoundNode VisitWhileStatement(BoundWhileStatement node)
2403public override BoundNode VisitWithExpression(BoundWithExpression node)
2410public override BoundNode VisitArrayAccess(BoundArrayAccess node)
2421public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node)
2440public override BoundNode VisitBinaryOperator(BoundBinaryOperator node)
2459public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
2835public override BoundNode VisitUnaryOperator(BoundUnaryOperator node)
2851public override BoundNode VisitRangeExpression(BoundRangeExpression node)
2866public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
2872public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
2879public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
2903public override BoundNode VisitArrayCreation(BoundArrayCreation node)
2914public override BoundNode VisitForStatement(BoundForStatement node)
2947public override BoundNode VisitForEachStatement(BoundForEachStatement node)
2976public override BoundNode VisitAsOperator(BoundAsOperator node)
2982public override BoundNode VisitIsOperator(BoundIsOperator node)
2997public override BoundNode VisitMethodGroup(BoundMethodGroup node)
3010public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
3186public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
3194public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
3213public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node)
3218public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
3232public override BoundNode VisitSequence(BoundSequence node)
3247public override BoundNode VisitSequencePoint(BoundSequencePoint node)
3257public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node)
3263public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
3273public override BoundNode VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
3278public override BoundNode VisitStatementList(BoundStatementList node)
3283private BoundNode VisitStatementListWorker(BoundStatementList node)
3293public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
3298public override BoundNode VisitUnboundLambda(UnboundLambda node)
3304public override BoundNode VisitBreakStatement(BoundBreakStatement node)
3312public override BoundNode VisitContinueStatement(BoundContinueStatement node)
3320public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
3325public override BoundNode VisitConditionalOperator(BoundConditionalOperator node)
3332protected virtual BoundNode? VisitConditionalOperatorCore(
3396public override BoundNode VisitBaseReference(BoundBaseReference node)
3401public override BoundNode VisitDoStatement(BoundDoStatement node)
3415public override BoundNode VisitGotoStatement(BoundGotoStatement node)
3438public override BoundNode VisitLabelStatement(BoundLabelStatement node)
3444public override BoundNode VisitLabeledStatement(BoundLabeledStatement node)
3451public override BoundNode VisitLockStatement(BoundLockStatement node)
3458public override BoundNode VisitNoOpStatement(BoundNoOpStatement node)
3463public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node)
3468public override BoundNode VisitUsingStatement(BoundUsingStatement node)
3491public override BoundNode VisitFixedStatement(BoundFixedStatement node)
3498public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
3504public override BoundNode VisitThrowStatement(BoundThrowStatement node)
3512public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node)
3520public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node)
3527public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node)
3532public override BoundNode VisitDefaultExpression(BoundDefaultExpression node)
3537public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
3542public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node)
3548public override BoundNode VisitNameOfOperator(BoundNameOfOperator node)
3557public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
3577public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
3583public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node)
3590public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node)
3595private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node)
3602public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
3607public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
3612public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
3620public override BoundNode VisitArrayLength(BoundArrayLength node)
3626public override BoundNode VisitConditionalGoto(BoundConditionalGoto node)
3644public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
3649public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
3654private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers)
3664public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node)
3683public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
3688public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
3711public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
3717public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node)
3722public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node)
3728public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
3734public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node)
3740public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
3745public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
3750public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
3755public override BoundNode VisitValuePlaceholder(BoundValuePlaceholder node)
3760public override BoundNode VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
3765public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node)
3770public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
3775public override BoundNode VisitDiscardExpression(BoundDiscardExpression node)
3786public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node)
3793public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
3799public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
3832public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
3838public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
3845public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
3870public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node)
3875public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node)
3880public 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)
170BoundNode node,
195BoundNode node,
217BoundNode node,
218BoundNode firstInRegion,
219BoundNode lastInRegion,
236BoundNode node)
504BoundNode node,
735private void NoteRead(BoundNode fieldOrEventAccess)
738BoundNode n = fieldOrEventAccess;
1469protected void Assign(BoundNode node, BoundExpression value, bool isRef = false, bool read = true)
1486protected virtual void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read)
2088public override BoundNode? VisitBlock(BoundBlock node)
2173public override BoundNode VisitSwitchStatement(BoundSwitchStatement node)
2176var result = base.VisitSwitchStatement(node);
2188public override BoundNode VisitForStatement(BoundForStatement node)
2192var result = base.VisitForStatement(node);
2198public override BoundNode VisitDoStatement(BoundDoStatement node)
2201var result = base.VisitDoStatement(node);
2206public override BoundNode VisitWhileStatement(BoundWhileStatement node)
2209var result = base.VisitWhileStatement(node);
2217public override BoundNode VisitUsingStatement(BoundUsingStatement node)
2221var result = base.VisitUsingStatement(node);
2238public override BoundNode VisitFixedStatement(BoundFixedStatement node)
2244public override BoundNode VisitSequence(BoundSequence node)
2247var result = base.VisitSequence(node);
2308public override BoundNode VisitLocal(BoundLocal node)
2339public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node)
2350var result = base.VisitLocalDeclaration(node);
2358public override BoundNode VisitLocalId(BoundLocalId node)
2361public override BoundNode VisitParameterId(BoundParameterId node)
2364public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
2367public override BoundNode VisitMethodGroup(BoundMethodGroup node)
2379public override BoundNode VisitLambda(BoundLambda node)
2425public override BoundNode VisitThisReference(BoundThisReference node)
2432public override BoundNode VisitParameter(BoundParameter node)
2446public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
2453public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
2460public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
2467public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
2476public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
2494public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
2630public override BoundNode VisitBaseReference(BoundBaseReference node)
2636public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
2656public override BoundNode VisitFieldAccess(BoundFieldAccess node)
2658var result = base.VisitFieldAccess(node);
2682public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
2684var result = base.VisitPropertyAccess(node);
2705public override BoundNode VisitEventAccess(BoundEventAccess node)
2707var result = base.VisitEventAccess(node);
2736public 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 (211)
486BoundNode node,
1449BoundNode node,
1476BoundNode node,
1516internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody)
1534internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics)
1572private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody)
1587BoundNode node,
1599internal static BoundNode AnalyzeAndRewrite(
1602BoundNode node,
1618BoundNode node,
1675internal static BoundNode AnalyzeAndRewriteSpeculation(
1677BoundNode node,
1723private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols)
1733var rewrittenNode = rewriter.Visit(node);
1757BoundNode node,
1839BoundNode node,
1949private void TakeIncrementalSnapshot(BoundNode? node)
1955private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol)
2296private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode
2310private void VisitWithoutDiagnostics(BoundNode? node)
3026public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue)
3061public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node)
3197public override BoundNode? VisitLocal(BoundLocal node)
3227public override BoundNode? VisitBlock(BoundBlock node)
3332public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
3554public override BoundNode? VisitDoStatement(BoundDoStatement node)
3560public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
3566public override BoundNode? VisitWithExpression(BoundWithExpression withExpr)
3586public override BoundNode? VisitForStatement(BoundForStatement node)
3593public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
3599public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
3606public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
3639public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
3645public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
3672public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
3734protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node)
3826public override BoundNode? Visit(BoundNode? node)
3831private BoundNode VisitLValue(BoundNode node)
3850private BoundNode Visit(BoundNode? node, bool expressionIsRead)
3859var result = base.Visit(node);
3872public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
3878public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
3886public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
3889var result = base.VisitUnconvertedCollectionExpression(node);
3894public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
3913foreach (var element in node.Elements)
4049void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Action<TypeWithAnnotations, TypeSymbol>> elementConversionCompletions)
4219public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
4988public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
5049public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
5205BoundNode node,
5283public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
5317public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
6106public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
6143public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
6429public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
6435protected override BoundNode? VisitConditionalOperatorCore(
6726public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
6737public override BoundNode? VisitCall(BoundCall node)
6938BoundNode node,
7433private static bool HasImplicitTypeArguments(BoundNode node)
7515BoundNode node,
7553BoundNode node,
7743BoundNode node,
8846var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length);
9189public override BoundNode? VisitConversion(BoundConversion node)
9326public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
9332public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
9614public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
10801public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
10977public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
11072public override BoundNode? VisitLambda(BoundLambda node)
11121public override BoundNode? VisitUnboundLambda(UnboundLambda node)
11131public override BoundNode? VisitThisReference(BoundThisReference node)
11144public override BoundNode? VisitParameter(BoundParameter node)
11154public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11333public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
11338private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt)
11450var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
11491var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
11650public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
11781BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder),
11811BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder),
11839public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
11939BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder),
11953BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder),
11974public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
11991public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
12038public override BoundNode? VisitBaseReference(BoundBaseReference node)
12044public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
12053private ReinferenceResult<PropertySymbol> ReInferAndVisitExtensionPropertyAccess(BoundNode node, PropertySymbol property, BoundExpression receiver)
12072public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
12111public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
12135public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
12149public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
12157public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
12163public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
12169public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
12175public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
12181public override BoundNode? VisitEventAccess(BoundEventAccess node)
12309BoundNode node,
12569Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder);
12606public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
12608var result = base.VisitFromEndIndexExpression(node);
12613public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
12619public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
12625public override BoundNode? VisitBadExpression(BoundBadExpression node)
12654public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12656var result = base.VisitTypeExpression(node);
12667public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
12670var result = base.VisitTypeOrValueExpression(node);
12675public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
12786public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
12788var result = base.VisitPointerIndirectionOperator(node);
12794public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
12796var result = base.VisitPointerElementAccess(node);
12802public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
12809public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
12811var result = base.VisitMakeRefOperator(node);
12816public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
12818var result = base.VisitRefValueOperator(node);
12955BoundNode.GetConversion(binary.TrueFalseOperandConversion, binary.TrueFalseOperandPlaceholder),
12979public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
12981var result = base.VisitAwaitExpression(node);
13008public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
13010var result = base.VisitTypeOfOperator(node);
13015public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
13017var result = base.VisitMethodInfo(node);
13022public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
13024var result = base.VisitFieldInfo(node);
13029public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
13032var result = base.VisitDefaultLiteral(node);
13037public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
13041var result = base.VisitDefaultExpression(node);
13057public override BoundNode? VisitIsOperator(BoundIsOperator node)
13091public override BoundNode? VisitAsOperator(BoundAsOperator node)
13099switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind)
13119public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
13121var result = base.VisitSizeOfOperator(node);
13127public override BoundNode? VisitArgList(BoundArgList node)
13129var result = base.VisitArgList(node);
13135public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
13143public override BoundNode? VisitLiteral(BoundLiteral node)
13146var result = base.VisitLiteral(node);
13151public override BoundNode? VisitUtf8String(BoundUtf8String node)
13154var result = base.VisitUtf8String(node);
13159public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
13161var result = base.VisitPreviousSubmissionReference(node);
13167public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
13169var result = base.VisitHostObjectMemberReference(node);
13175public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
13177var result = base.VisitPseudoVariable(node);
13182public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
13184var result = base.VisitRangeExpression(node);
13189public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
13196public override BoundNode? VisitLabel(BoundLabel node)
13198var result = base.VisitLabel(node);
13203public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
13215public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
13235public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
13261public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
13267public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
13275public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
13283public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
13291public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
13293var result = base.VisitImplicitReceiver(node);
13298public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
13303public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
13309public override BoundNode? VisitNewT(BoundNewT node)
13315public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
13317var result = base.VisitArrayInitialization(node);
13327public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
13421public override BoundNode? VisitQueryClause(BoundQueryClause node)
13423var result = base.VisitQueryClause(node);
13428public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
13430var result = base.VisitNameOfOperator(node);
13435public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
13437var result = base.VisitNamespaceExpression(node);
13442public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
13445var result = base.VisitUnconvertedInterpolatedString(node);
13450public override BoundNode? VisitStringInsert(BoundStringInsert node)
13452var result = base.VisitStringInsert(node);
13463public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
13471public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
13477public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
13483public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
13488private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node)
13505public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
13513public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
13520public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
13543public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
13559public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
13583public override BoundNode? VisitLockStatement(BoundLockStatement node)
13591public override BoundNode? VisitAttribute(BoundAttribute node)
13604public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
13611public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
13617public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
13625public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
13633public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
13654public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
13708public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
14276private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)>
14282public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y)
14293public 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 (1148)
309public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldEqualsValue(this);
339public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyEqualsValue(this);
369public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterEqualsValue(this);
397public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGlobalStatementInitializer(this);
470public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValuePlaceholder(this);
498public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCapturedReceiverPlaceholder(this);
539public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructValuePlaceholder(this);
574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleOperandPlaceholder(this);
603public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableValuePlaceholder(this);
638public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDisposableValuePlaceholder(this);
676public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectOrCollectionValuePlaceholder(this);
711public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerValuePlaceholder(this);
749public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this);
784public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this);
819public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this);
854public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this);
889public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this);
917public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionBuilderElementsPlaceholder(this);
948public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this);
976public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this);
1013public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this);
1029public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false)
1038public ImmutableArray<BoundNode> ChildBoundNodes { get; }
1041public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this);
1043public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes)
1069public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this);
1104public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this);
1153public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this);
1194public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this);
1236public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this);
1284public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this);
1316public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this);
1345public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this);
1388public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this);
1420public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this);
1457public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this);
1494public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this);
1526public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this);
1556public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this);
1588public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this);
1620public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this);
1653public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this);
1710public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this);
1748public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this);
1801public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this);
1848public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this);
1882public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this);
1917public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this);
1958public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this);
1989public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this);
2028public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this);
2072public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this);
2105public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this);
2134public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefArrayAccess(this);
2164public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this);
2205public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this);
2240public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this);
2293public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this);
2325public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this);
2369public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this);
2412public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this);
2455public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this);
2490public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this);
2525public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this);
2563public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this);
2598public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this);
2633public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this);
2668public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this);
2703public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this);
2743public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this);
2786public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this);
2829public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this);
2858public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this);
2883public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this);
2918public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this);
2955public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this);
2987public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this);
3035public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this);
3068public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this);
3103public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this);
3134public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this);
3173public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this);
3212public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this);
3239public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this);
3276public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this);
3313public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this);
3344public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this);
3380public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this);
3409public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this);
3440public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this);
3476public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this);
3516public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this);
3546public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this);
3578public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this);
3609public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this);
3642public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this);
3670public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this);
3698public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this);
3712public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this);
3740public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this);
3777public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this);
3814public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this);
3859public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this);
3895public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this);
3928public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this);
4008public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this);
4038public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this);
4080public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this);
4129public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this);
4160public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this);
4199public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this);
4233public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this);
4264public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this);
4301public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this);
4342public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this);
4373public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this);
4413public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this);
4448public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this);
4483public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this);
4518public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this);
4547public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this);
4596public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this);
4641public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this);
4674public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this);
4714public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this);
4751public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this);
4783public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this);
4814public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this);
4851public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this);
4888public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this);
4921public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this);
4986public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this);
5014public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this);
5048public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this);
5078public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this);
5123public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this);
5157public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this);
5192public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this);
5229public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this);
5275public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this);
5304public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this);
5332public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this);
5358public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this);
5387public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this);
5418public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this);
5459public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this);
5488public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this);
5517public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this);
5548public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this);
5579public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this);
5626public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this);
5675public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this);
5704public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this);
5730public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPassThroughEvaluation(this);
5762public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this);
5797public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this);
5839public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this);
5875public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this);
5911public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this);
5950public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this);
6003public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this);
6036public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this);
6077public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this);
6115public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this);
6148public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this);
6189public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this);
6217public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this);
6276public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this);
6315public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this);
6360public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this);
6398public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this);
6470public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this);
6486protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false)
6499public ImmutableArray<BoundNode> Elements { get; }
6504public BoundUnconvertedCollectionExpression(SyntaxNode syntax, BoundUnconvertedWithElement? withElement, ImmutableArray<BoundNode> elements, bool hasErrors = false)
6517public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedCollectionExpression(this);
6519public BoundUnconvertedCollectionExpression Update(BoundUnconvertedWithElement? withElement, ImmutableArray<BoundNode> elements)
6549public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedWithElement(this);
6565public BoundCollectionExpression(SyntaxNode syntax, CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundCollectionBuilderElementsPlaceholder? collectionBuilderElementsPlaceholder, bool wasTargetTyped, bool hasWithElement, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type, bool hasErrors = false)
6598public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpression(this);
6600public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundCollectionBuilderElementsPlaceholder? collectionBuilderElementsPlaceholder, bool wasTargetTyped, bool hasWithElement, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type)
6626public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadExpressionPlaceholder(this);
6666public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadElement(this);
6711public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this);
6741public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this);
6784public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this);
6816public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this);
6863public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this);
6912public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this);
6957public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this);
6985public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this);
7030public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this);
7062public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this);
7097public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this);
7133public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this);
7173public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this);
7203public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this);
7239public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this);
7271public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this);
7302public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this);
7348public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this);
7377public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this);
7417public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this);
7457public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this);
7495public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this);
7531public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this);
7582public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this);
7631public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this);
7672public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this);
7712public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this);
7752public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this);
7796public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this);
7837public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this);
7863public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this);
7900public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this);
7942public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this);
7970public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this);
7998public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this);
8036public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this);
8071public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this);
8115public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this);
8186public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this);
8228public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPatternWithUnionMatching(this);
8268public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this);
8323public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this);
8364public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this);
8408public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this);
8447public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this);
8489public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this);
8535public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this);
8565public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this);
8597public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this);
8635public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this);
8674public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this);
8710public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this);
8751public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this);
8786public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this);
8814public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this);
8857public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this);
8883public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this);
8918public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this);
8954public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this);
8984public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this);
9015public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this);
9040public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValueForNullableAnalysis(this);
9075public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this);
9093internal R VisitInternal(BoundNode node, A arg)
9820public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node);
9821public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node);
9822public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node);
9823public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node);
9824public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node);
9825public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node);
9826public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node);
9827public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node);
9828public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node);
9829public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node);
9830public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node);
9831public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node);
9832public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node);
9833public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node);
9834public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node);
9835public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node);
9836public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node);
9837public virtual BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) => this.DefaultVisit(node);
9838public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node);
9839public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node);
9840public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node);
9841public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node);
9842public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node);
9843public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node);
9844public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node);
9845public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node);
9846public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node);
9847public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node);
9848public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node);
9849public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node);
9850public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node);
9851public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node);
9852public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node);
9853public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node);
9854public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node);
9855public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node);
9856public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node);
9857public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node);
9858public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node);
9859public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node);
9860public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node);
9861public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node);
9862public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node);
9863public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
9864public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node);
9865public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node);
9866public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node);
9867public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node);
9868public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node);
9869public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node);
9870public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node);
9871public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node);
9872public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node);
9873public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node);
9874public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node);
9875public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node);
9876public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node);
9877public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node);
9878public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node);
9879public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node);
9880public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node);
9881public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node);
9882public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node);
9883public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node);
9884public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node);
9885public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node);
9886public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node);
9887public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node);
9888public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node);
9889public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node);
9890public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node);
9891public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node);
9892public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node);
9893public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node);
9894public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node);
9895public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node);
9896public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node);
9897public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node);
9898public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node);
9899public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node);
9900public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node);
9901public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node);
9902public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node);
9903public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node);
9904public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node);
9905public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node);
9906public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node);
9907public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node);
9908public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node);
9909public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node);
9910public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node);
9911public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node);
9912public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node);
9913public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node);
9914public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node);
9915public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node);
9916public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node);
9917public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node);
9918public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node);
9919public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node);
9920public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node);
9921public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node);
9922public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node);
9923public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node);
9924public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node);
9925public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node);
9926public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node);
9927public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node);
9928public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node);
9929public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node);
9930public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node);
9931public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node);
9932public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node);
9933public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node);
9934public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node);
9935public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node);
9936public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node);
9937public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node);
9938public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node);
9939public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node);
9940public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node);
9941public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node);
9942public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node);
9943public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node);
9944public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node);
9945public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node);
9946public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node);
9947public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node);
9948public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node);
9949public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node);
9950public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node);
9951public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node);
9952public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node);
9953public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node);
9954public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node);
9955public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node);
9956public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node);
9957public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node);
9958public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node);
9959public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node);
9960public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node);
9961public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node);
9962public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node);
9963public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node);
9964public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node);
9965public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node);
9966public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node);
9967public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node);
9968public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node);
9969public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node);
9970public virtual BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node) => this.DefaultVisit(node);
9971public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node);
9972public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node);
9973public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node);
9974public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node);
9975public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node);
9976public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node);
9977public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node);
9978public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node);
9979public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node);
9980public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node);
9981public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node);
9982public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node);
9983public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node);
9984public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node);
9985public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node);
9986public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node);
9987public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node);
9988public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node);
9989public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node);
9990public virtual BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node) => this.DefaultVisit(node);
9991public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node);
9992public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node);
9993public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node);
9994public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node);
9995public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node);
9996public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node);
9997public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node);
9998public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node);
9999public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node);
10000public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node);
10001public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node);
10002public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node);
10003public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node);
10004public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node);
10005public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node);
10006public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node);
10007public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node);
10008public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node);
10009public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node);
10010public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node);
10011public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node);
10012public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node);
10013public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node);
10014public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node);
10015public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node);
10016public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node);
10017public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node);
10018public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node);
10019public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node);
10020public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node);
10021public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node);
10022public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node);
10023public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node);
10024public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node);
10025public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node);
10026public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node);
10027public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node);
10028public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node);
10029public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node);
10030public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node);
10031public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node);
10032public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node);
10033public virtual BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) => this.DefaultVisit(node);
10034public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node);
10035public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node);
10036public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node);
10037public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node);
10038public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node);
10039public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node);
10040public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node);
10041public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node);
10042public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node);
10043public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node);
10044public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node);
10045public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node);
10046public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node);
10047public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node);
10048public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node);
10049public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node);
10050public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node);
10051public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node);
10052public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node);
10053public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node);
10054public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node);
10055public virtual BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node) => this.DefaultVisit(node);
10056public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node);
10061public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
10066public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
10071public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
10076public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
10081public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null;
10082public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
10087public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null;
10088public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null;
10089public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null;
10090public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null;
10091public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null;
10092public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null;
10093public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => null;
10094public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null;
10095public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null;
10096public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null;
10097public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null;
10098public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) => null;
10099public override BoundNode? VisitDup(BoundDup node) => null;
10100public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
10105public override BoundNode? VisitBadExpression(BoundBadExpression node)
10110public override BoundNode? VisitBadStatement(BoundBadStatement node)
10115public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
10120public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
10126public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null;
10127public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null;
10128public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
10133public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
10138public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
10143public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
10148public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null;
10149public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
10154public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
10160public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
10166public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
10171public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
10176public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
10181public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
10186public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
10192public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
10198public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
10204public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
10210public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
10216public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
10222public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
10228public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
10234public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
10240public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
10247public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
10254public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
10260public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
10265public override BoundNode? VisitArrayLength(BoundArrayLength node)
10270public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
10278public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
10284public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
10289public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
10295public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null;
10296public override BoundNode? VisitLocalId(BoundLocalId node) => null;
10297public override BoundNode? VisitParameterId(BoundParameterId node) => null;
10298public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null;
10299public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null;
10300public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null;
10301public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null;
10302public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null;
10303public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null;
10304public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null;
10305public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null;
10306public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null;
10307public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null;
10308public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null;
10309public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null;
10310public override BoundNode? VisitIsOperator(BoundIsOperator node)
10316public override BoundNode? VisitAsOperator(BoundAsOperator node)
10322public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
10327public override BoundNode? VisitConversion(BoundConversion node)
10332public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
10337public override BoundNode? VisitArgList(BoundArgList node) => null;
10338public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
10343public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
10348public override BoundNode? VisitSequencePoint(BoundSequencePoint node)
10353public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
10358public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null;
10359public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null;
10360public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null;
10361public override BoundNode? VisitBlock(BoundBlock node)
10367public override BoundNode? VisitScope(BoundScope node)
10372public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
10377public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
10384public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
10389public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
10395public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
10401public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null;
10402public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
10407public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
10412public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null;
10413public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
10418public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
10423public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => null;
10424public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => null;
10425public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
10432public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node)
10437public override BoundNode? VisitIfStatement(BoundIfStatement node)
10444public override BoundNode? VisitDoStatement(BoundDoStatement node)
10450public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
10456public override BoundNode? VisitForStatement(BoundForStatement node)
10464public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
10473public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node)
10479public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
10487public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
10493public override BoundNode? VisitLockStatement(BoundLockStatement node)
10499public override BoundNode? VisitTryStatement(BoundTryStatement node)
10506public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
10514public override BoundNode? VisitLiteral(BoundLiteral node) => null;
10515public override BoundNode? VisitUtf8String(BoundUtf8String node) => null;
10516public override BoundNode? VisitThisReference(BoundThisReference node) => null;
10517public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null;
10518public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null;
10519public override BoundNode? VisitBaseReference(BoundBaseReference node) => null;
10520public override BoundNode? VisitLocal(BoundLocal node) => null;
10521public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null;
10522public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
10527public override BoundNode? VisitParameter(BoundParameter node) => null;
10528public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null;
10529public override BoundNode? VisitGotoStatement(BoundGotoStatement node)
10535public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node)
10540public override BoundNode? VisitLabel(BoundLabel node) => null;
10541public override BoundNode? VisitStatementList(BoundStatementList node)
10546public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node)
10551public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
10558public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
10564public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
10570public override BoundNode? VisitDecisionDag(BoundDecisionDag node)
10575public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node)
10581public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node)
10588public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node)
10595public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null;
10596public override BoundNode? VisitDagTemp(BoundDagTemp node)
10601public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node)
10606public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node)
10611public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node)
10616public override BoundNode? VisitDagValueTest(BoundDagValueTest node)
10621public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node)
10626public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
10631public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node)
10636public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
10641public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
10646public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
10651public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
10660public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
10669public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node)
10675public override BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node)
10680public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
10686public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node)
10692public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
10697public override BoundNode? VisitSequence(BoundSequence node)
10703public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
10709public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
10714public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
10720public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
10726public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
10733public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null;
10734public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
10740public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
10745public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
10750public override BoundNode? VisitCall(BoundCall node)
10756public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
10762public override BoundNode? VisitAttribute(BoundAttribute node)
10768public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
10773public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
10779public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
10785public override BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node)
10790public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
10796public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null;
10797public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
10802public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
10807public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
10812public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
10818public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
10823public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
10829public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
10834public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null;
10835public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
10841public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
10847public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
10853public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null;
10854public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
10860public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null;
10861public override BoundNode? VisitNewT(BoundNewT node)
10866public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
10871public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
10877public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
10882public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
10888public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
10894public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
10899public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null;
10900public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
10905public override BoundNode? VisitEventAccess(BoundEventAccess node)
10910public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
10916public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
10922public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
10928public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
10934public override BoundNode? VisitLambda(BoundLambda node)
10939public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null;
10940public override BoundNode? VisitQueryClause(BoundQueryClause node)
10945public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
10950public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
10955public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
10960public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
10965public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null;
10966public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null;
10967public override BoundNode? VisitStringInsert(BoundStringInsert node)
10974public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
10980public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
10985public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node)
10992public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null;
10993public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
10999public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
11007public override BoundNode? VisitListPattern(BoundListPattern node)
11013public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
11018public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
11023public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
11028public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
11034public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
11039public override BoundNode? VisitTypePattern(BoundTypePattern node)
11044public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
11050public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
11055public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
11060public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null;
11061public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
11066public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
11071public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
11076public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null;
11077public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
11083public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
11090public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
11095public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
11100public override BoundNode? VisitWithExpression(BoundWithExpression node)
11110public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
11117public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
11124public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
11131public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
11136public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
11141public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
11147public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
11153public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
11158public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
11163public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
11168public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
11173public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
11178public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
11183public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node)
11188public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node)
11193public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node)
11198public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
11203public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
11208public override BoundNode? VisitDup(BoundDup node)
11213public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
11219public override BoundNode? VisitBadExpression(BoundBadExpression node)
11226public override BoundNode? VisitBadStatement(BoundBadStatement node)
11228ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes);
11231public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
11236public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
11244public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
11250public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
11257public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
11266public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
11279public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
11285public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
11291public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
11298public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
11304public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
11311public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
11318public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
11325public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
11331public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
11337public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
11344public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
11352public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
11359public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
11366public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
11380public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
11392public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11399public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
11406public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
11415public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
11422public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
11430public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
11439public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
11446public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
11452public override BoundNode? VisitArrayLength(BoundArrayLength node)
11458public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
11468public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
11475public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
11482public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
11489public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
11495public override BoundNode? VisitLocalId(BoundLocalId node)
11502public override BoundNode? VisitParameterId(BoundParameterId node)
11509public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
11514public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
11519public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
11524public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
11529public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
11534public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node)
11539public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node)
11544public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
11549public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
11556public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
11563public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
11568public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
11574public override BoundNode? VisitIsOperator(BoundIsOperator node)
11581public override BoundNode? VisitAsOperator(BoundAsOperator node)
11590public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
11596public override BoundNode? VisitConversion(BoundConversion node)
11602public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
11609public override BoundNode? VisitArgList(BoundArgList node)
11614public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
11620public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
11630public override BoundNode? VisitSequencePoint(BoundSequencePoint node)
11635public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
11640public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node;
11641public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node;
11642public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node;
11643public override BoundNode? VisitBlock(BoundBlock node)
11651public override BoundNode? VisitScope(BoundScope node)
11657public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
11663public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
11671public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
11676public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
11682public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
11689public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node;
11690public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
11695public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
11700public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node;
11701public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
11706public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
11711public override BoundNode? VisitBreakStatement(BoundBreakStatement node)
11716public override BoundNode? VisitContinueStatement(BoundContinueStatement node)
11721public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
11732public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node)
11738public override BoundNode? VisitIfStatement(BoundIfStatement node)
11745public override BoundNode? VisitDoStatement(BoundDoStatement node)
11754public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
11763public override BoundNode? VisitForStatement(BoundForStatement node)
11775public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
11789public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node)
11795public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
11804public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
11811public override BoundNode? VisitLockStatement(BoundLockStatement node)
11817public override BoundNode? VisitTryStatement(BoundTryStatement node)
11825public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
11835public override BoundNode? VisitLiteral(BoundLiteral node)
11840public override BoundNode? VisitUtf8String(BoundUtf8String node)
11845public override BoundNode? VisitThisReference(BoundThisReference node)
11850public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
11855public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
11860public override BoundNode? VisitBaseReference(BoundBaseReference node)
11865public override BoundNode? VisitLocal(BoundLocal node)
11871public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
11877public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
11884public override BoundNode? VisitParameter(BoundParameter node)
11890public override BoundNode? VisitLabelStatement(BoundLabelStatement node)
11895public override BoundNode? VisitGotoStatement(BoundGotoStatement node)
11902public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node)
11908public override BoundNode? VisitLabel(BoundLabel node)
11914public override BoundNode? VisitStatementList(BoundStatementList node)
11919public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node)
11925public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
11934public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
11943public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
11953public override BoundNode? VisitDecisionDag(BoundDecisionDag node)
11958public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node)
11964public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node)
11971public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node)
11978public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node)
11983public override BoundNode? VisitDagTemp(BoundDagTemp node)
11989public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node)
11995public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node)
12000public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node)
12005public override BoundNode? VisitDagValueTest(BoundDagValueTest node)
12010public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node)
12015public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
12021public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node)
12027public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
12033public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
12039public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
12045public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
12055public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
12065public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node)
12071public override BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node)
12076public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
12083public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node)
12090public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
12096public override BoundNode? VisitSequence(BoundSequence node)
12104public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
12112public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
12118public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
12126public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
12133public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
12142public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
12147public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
12154public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
12163public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
12170public override BoundNode? VisitCall(BoundCall node)
12179public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
12187public override BoundNode? VisitAttribute(BoundAttribute node)
12195public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
12201public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
12210public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
12213ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
12217public override BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node)
12222public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
12229ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
12233public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
12238public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
12248public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
12254public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
12261public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
12269public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
12275public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
12282public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
12290public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
12296public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
12303public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
12311public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
12319public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
12324public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
12332public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
12338public override BoundNode? VisitNewT(BoundNewT node)
12344public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
12351public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
12358public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
12364public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
12372public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
12380public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
12387public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node)
12393public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
12400public override BoundNode? VisitEventAccess(BoundEventAccess node)
12407public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
12416public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
12427public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
12434public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
12442public override BoundNode? VisitLambda(BoundLambda node)
12450public override BoundNode? VisitUnboundLambda(UnboundLambda node)
12456public override BoundNode? VisitQueryClause(BoundQueryClause node)
12466public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
12471public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
12477public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
12483public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
12489public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
12494public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
12499public override BoundNode? VisitStringInsert(BoundStringInsert node)
12507public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
12517public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
12524public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node)
12534public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
12540public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
12549public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
12561public override BoundNode? VisitListPattern(BoundListPattern node)
12574public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
12584public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
12593public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
12599public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
12605public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
12612public override BoundNode? VisitTypePattern(BoundTypePattern node)
12619public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
12627public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
12634public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
12641public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
12646public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
12652public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
12659public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
12666public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
12672public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
12678public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
12686public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
12692public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
12698public override BoundNode? VisitWithExpression(BoundWithExpression node)
12721public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
12729public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
12737public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
12745public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
12757public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
12774public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
12791public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
12803public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
12815public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
12827public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
12839public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
12851public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
12863public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node)
12875public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node)
12887public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node)
12899public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
12911public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
12923public override BoundNode? VisitDup(BoundDup node)
12935public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
12952public override BoundNode? VisitBadExpression(BoundBadExpression node)
12970public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12988public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
13005public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
13017public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
13037public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
13061public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
13078public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
13095public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
13113public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
13130public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
13148public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
13166public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
13184public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
13201public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
13218public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
13236public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
13255public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
13273public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13291public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
13309public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
13329public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
13347public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
13366public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
13386public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
13404public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
13421public override BoundNode? VisitArrayLength(BoundArrayLength node)
13438public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
13449public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
13467public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
13485public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
13493public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
13510public override BoundNode? VisitLocalId(BoundLocalId node)
13528public override BoundNode? VisitParameterId(BoundParameterId node)
13546public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
13558public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
13570public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
13582public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
13594public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
13606public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node)
13618public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node)
13630public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
13642public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
13660public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
13678public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
13690public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
13707public override BoundNode? VisitIsOperator(BoundIsOperator node)
13725public override BoundNode? VisitAsOperator(BoundAsOperator node)
13745public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
13762public override BoundNode? VisitConversion(BoundConversion node)
13779public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
13797public override BoundNode? VisitArgList(BoundArgList node)
13809public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
13826public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
13847public override BoundNode? VisitBlock(BoundBlock node)
13856public override BoundNode? VisitScope(BoundScope node)
13863public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
13870public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
13879public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
13887public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
13898public override BoundNode? VisitDoStatement(BoundDoStatement node)
13906public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
13914public override BoundNode? VisitForStatement(BoundForStatement node)
13925public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
13938public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
13948public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
13956public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
13967public override BoundNode? VisitLiteral(BoundLiteral node)
13979public override BoundNode? VisitUtf8String(BoundUtf8String node)
13991public override BoundNode? VisitThisReference(BoundThisReference node)
14003public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
14015public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
14027public override BoundNode? VisitBaseReference(BoundBaseReference node)
14039public override BoundNode? VisitLocal(BoundLocal node)
14056public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
14073public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
14091public override BoundNode? VisitParameter(BoundParameter node)
14108public override BoundNode? VisitLabel(BoundLabel node)
14120public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
14129public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
14148public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
14168public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
14175public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
14182public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
14189public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
14196public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
14207public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
14218public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
14226public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
14243public override BoundNode? VisitSequence(BoundSequence node)
14262public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
14281public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
14298public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
14317public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
14335public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
14355public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
14367public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
14385public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
14405public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
14423public override BoundNode? VisitCall(BoundCall node)
14443public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
14462public override BoundNode? VisitAttribute(BoundAttribute node)
14481public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
14498public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
14518public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
14521ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14536public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
14543ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14558public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
14570public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
14587public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
14605public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
14624public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
14641public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
14659public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
14678public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
14695public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
14713public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
14732public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
14751public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
14763public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
14782public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
14799public override BoundNode? VisitNewT(BoundNewT node)
14816public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
14834public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
14852public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
14869public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
14888public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
14907public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
14925public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node)
14942public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
14960public override BoundNode? VisitEventAccess(BoundEventAccess node)
14978public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
14998public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
15016public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
15035public override BoundNode? VisitLambda(BoundLambda node)
15054public override BoundNode? VisitUnboundLambda(UnboundLambda node)
15071public override BoundNode? VisitQueryClause(BoundQueryClause node)
15092public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
15109public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
15126public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
15143public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
15155public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
15167public override BoundNode? VisitStringInsert(BoundStringInsert node)
15186public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
15205public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
15213public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node)
15224public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
15231public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
15241public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
15254public override BoundNode? VisitListPattern(BoundListPattern node)
15268public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
15279public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
15289public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
15296public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
15303public override BoundNode? VisitTypePattern(BoundTypePattern node)
15311public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
15319public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
15327public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
15339public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
15356public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
15374public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
15392public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
15409public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
15418public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
15435public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
15452public override BoundNode? VisitWithExpression(BoundWithExpression node)
15477public 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)
1423public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
1428BoundNode lambdaScope;
1520out BoundNode lambdaScope,
1537BoundNode tmpScope = null;
1622private BoundNode RewriteLambdaConversion(BoundLambda node)
1632var result0 = wasInExpressionLambda ? node : ExpressionLambdaRewriter.RewriteLambda(node, CompilationState, TypeMap, RecursionDepth, Diagnostics);
1640BoundNode lambdaScope;
1792public override BoundNode VisitLambda(BoundLambda node)
Operations\CSharpOperationFactory.cs (25)
27public IOperation? Create(BoundNode? boundNode)
344public ImmutableArray<TOperation> CreateFromArray<TBoundNode, TOperation>(ImmutableArray<TBoundNode> boundNodes) where TBoundNode : BoundNode where TOperation : class, IOperation
389foreach (BoundNode? childNode in children)
403internal ImmutableArray<IVariableDeclaratorOperation> CreateVariableDeclarator(BoundNode declaration, SyntaxNode declarationSyntax)
457ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCall).InvalidNodeChildren);
487ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundFunctionPointerInvocation).InvalidNodeChildren);
527internal ImmutableArray<IOperation> CreateIgnoredDimensions(BoundNode declaration)
602internal IOperation? CreateBoundPropertyReferenceInstance(BoundNode boundNode)
640var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundIndexerAccess).InvalidNodeChildren);
720var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectCreationExpression).InvalidNodeChildren);
774internal IOperation CreateBoundDynamicInvocationExpressionReceiver(BoundNode receiver)
904var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectInitializerMember).InvalidNodeChildren);
950var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCollectionElementInitializer).InvalidNodeChildren);
1183Conversion conversion = BoundNode.GetConversion(boundAsOperator.OperandConversion, boundAsOperator.OperandPlaceholder);
1306? @this.CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)objectCreation).InvalidNodeChildren)
1315? @this.CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCall).InvalidNodeChildren)
1333private IOperation CreateBoundCollectionExpressionElement(BoundCollectionExpression expr, BoundNode element)
1349var elementConversion = BoundNode.GetConversion(iteratorItem, element.ElementPlaceholder);
1435Conversion inConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.LeftConversion, boundCompoundAssignmentOperator.LeftPlaceholder);
1436Conversion outConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.FinalConversion, boundCompoundAssignmentOperator.FinalPlaceholder);
1659Conversion valueConversion = BoundNode.GetConversion(boundNullCoalescingOperator.LeftConversion, boundNullCoalescingOperator.LeftPlaceholder);
1983BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder),
1984BoundNode.GetConversion(boundForEachStatement.ElementConversion, boundForEachStatement.ElementPlaceholder),
2099IOperation resources = Create(boundUsingStatement.DeclarationsOpt ?? (BoundNode)boundUsingStatement.ExpressionOpt!);
2161var children = CreateFromArray<BoundNode, IOperation>(boundBadStatement.ChildBoundNodes);