Binder\Binder_Statements.cs (11)
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;
3711public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics)
3740private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3745private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3769private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics)
3804private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics)
4135private 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,
3988BoundNode boundNodeForSyntacticParent,
4039BoundNode lowestBoundNode,
4259BoundNode boundNodeForSyntacticParent,
4412BoundNode boundNodeForSyntacticParent,
Compilation\MemberSemanticModel.cs (63)
33private readonly Dictionary<SyntaxNode, OneOrMany<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, OneOrMany<BoundNode>>();
521internal virtual BoundNode GetBoundRoot()
529internal BoundNode GetUpperBoundNode(CSharpSyntaxNode node, bool promoteToBindable = false)
557internal BoundNode GetLowerBoundNode(CSharpSyntaxNode node)
574private static BoundNode GetLowerBoundNode(OneOrMany<BoundNode> boundNodes)
931var bound = GetLowerBoundNode(node);
943var bound = GetLowerBoundNode(node);
955var bound = GetLowerBoundNode(node);
1039BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder),
1040BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder));
1045var lowerNode = GetLowerBoundNode(node);
1188var bound = this.GetLowerBoundNode(declaratorSyntax);
1233BoundNode highestBoundNode = GetBoundRoot();
1258BoundNode lowestBoundNode;
1259BoundNode highestBoundNode;
1260BoundNode boundParent;
1270BoundNode lowestBoundNode;
1271BoundNode highestBoundNode;
1272BoundNode boundParent;
1281BoundNode lowestBoundNode;
1282BoundNode highestBoundNode;
1283BoundNode boundParent;
1293BoundNode lowestBoundNode;
1294BoundNode highestBoundNode;
1295BoundNode boundParent;
1347private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent)
1478private OneOrMany<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node)
1481OneOrMany<BoundNode> result;
1482return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty;
1488internal OneOrMany<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node)
1490OneOrMany<BoundNode> result;
1491return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty;
1496private OneOrMany<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound)
1515OneOrMany<BoundNode> result;
1516return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : OneOrMany<BoundNode>.Empty;
1519protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null)
1527protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null)
1670BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery);
1674private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery)
1678OneOrMany<BoundNode> nodes;
1697BoundNode boundEnclosingLambdaOrQuery = null;
1738BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded);
1770BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded);
1784private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery)
2009BoundNode boundRoot = bind(bindableRoot, out binder);
2031BoundNode bind(CSharpSyntaxNode root, out Binder binder)
2085protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots(
2086BoundNode boundRoot,
2099protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots);
2113internal OneOrMany<BoundNode> GetBoundNodes(CSharpSyntaxNode node)
2137OneOrMany<BoundNode> results;
2160BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded);
2189var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded);
2204return OneOrMany<BoundNode>.Empty;
2523private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node)
2527OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node);
2539public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
2541BoundNode 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)
1108public override BoundNode VisitConstantPattern(BoundConstantPattern node)
1114public override BoundNode VisitBinaryPattern(BoundBinaryPattern node)
1120public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
1125public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
1130private BoundNode VisitTupleExpression(BoundTupleExpression node)
1136public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
1143public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
1150public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
1157public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
1163public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node)
1171protected BoundNode? VisitInterpolatedStringBase(BoundInterpolatedStringBase node, InterpolatedStringHandlerData? data)
1202public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
1207public override BoundNode VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
1213public override BoundNode VisitStringInsert(BoundStringInsert node)
1229public override BoundNode VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
1234public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
1239public override BoundNode VisitArgList(BoundArgList node)
1246public override BoundNode VisitArgListOperator(BoundArgListOperator node)
1253public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node)
1259public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node)
1268public override BoundNode VisitRefValueOperator(BoundRefValueOperator node)
1274public override BoundNode VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
1280public override BoundNode VisitLambda(BoundLambda node) => null;
1282public override BoundNode VisitLocal(BoundLocal node)
1288public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node)
1305public override BoundNode VisitBlock(BoundBlock node)
1319public override BoundNode VisitScope(BoundScope node)
1325public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
1331public override BoundNode VisitCall(BoundCall node)
1481public override BoundNode VisitIndexerAccess(BoundIndexerAccess node)
1494public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
1507public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
1583public override BoundNode VisitBadExpression(BoundBadExpression node)
1593public override BoundNode VisitBadStatement(BoundBadStatement node)
1595foreach (var child in node.ChildBoundNodes)
1610public override BoundNode VisitArrayInitialization(BoundArrayInitialization node)
1620public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
1650public override BoundNode VisitTypeExpression(BoundTypeExpression node)
1655public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
1661public override BoundNode VisitLiteral(BoundLiteral node)
1667public override BoundNode VisitUtf8String(BoundUtf8String node)
1690public override BoundNode VisitLocalId(BoundLocalId node)
1695public override BoundNode VisitParameterId(BoundParameterId node)
1700public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node)
1705public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
1710public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
1715public override BoundNode VisitModuleVersionId(BoundModuleVersionId node)
1720public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node)
1725public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
1730public override BoundNode VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
1735public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
1740public override BoundNode VisitConversion(BoundConversion node)
1771public sealed override BoundNode VisitIfStatement(BoundIfStatement node)
1822public override BoundNode VisitTryStatement(BoundTryStatement node)
1967public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
2018public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
2023public override BoundNode VisitReturnStatement(BoundReturnStatement node)
2025var result = VisitReturnStatementNoAdjust(node);
2031protected virtual BoundNode VisitReturnStatementNoAdjust(BoundReturnStatement node)
2044public override BoundNode VisitThisReference(BoundThisReference node)
2049public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
2054public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
2059public override BoundNode VisitParameter(BoundParameter node)
2068public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node)
2075public override BoundNode VisitCollectionExpression(BoundCollectionExpression node)
2082public override BoundNode VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
2088private void VisitCollectionExpression(ImmutableArray<BoundNode> elements)
2090foreach (var element in elements)
2103public override BoundNode VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
2109public override BoundNode VisitNewT(BoundNewT node)
2115public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
2140public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
2174public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
2181public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
2187public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
2232public override BoundNode VisitFieldAccess(BoundFieldAccess node)
2259public override BoundNode VisitFieldInfo(BoundFieldInfo node)
2264public override BoundNode VisitMethodInfo(BoundMethodInfo node)
2269public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
2299public override BoundNode VisitEventAccess(BoundEventAccess node)
2305public override BoundNode VisitRangeVariable(BoundRangeVariable node)
2310public override BoundNode VisitQueryClause(BoundQueryClause node)
2316private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node)
2326public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
2331public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
2340public override BoundNode VisitWhileStatement(BoundWhileStatement node)
2355public override BoundNode VisitWithExpression(BoundWithExpression node)
2362public override BoundNode VisitArrayAccess(BoundArrayAccess node)
2373public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node)
2392public override BoundNode VisitBinaryOperator(BoundBinaryOperator node)
2411public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
2787public override BoundNode VisitUnaryOperator(BoundUnaryOperator node)
2803public override BoundNode VisitRangeExpression(BoundRangeExpression node)
2818public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
2824public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
2831public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
2855public override BoundNode VisitArrayCreation(BoundArrayCreation node)
2866public override BoundNode VisitForStatement(BoundForStatement node)
2899public override BoundNode VisitForEachStatement(BoundForEachStatement node)
2928public override BoundNode VisitAsOperator(BoundAsOperator node)
2934public override BoundNode VisitIsOperator(BoundIsOperator node)
2949public override BoundNode VisitMethodGroup(BoundMethodGroup node)
2962public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
3138public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
3146public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
3165public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node)
3170public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
3184public override BoundNode VisitSequence(BoundSequence node)
3199public override BoundNode VisitSequencePoint(BoundSequencePoint node)
3209public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node)
3215public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
3225public override BoundNode VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
3230public override BoundNode VisitStatementList(BoundStatementList node)
3235private BoundNode VisitStatementListWorker(BoundStatementList node)
3245public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
3250public override BoundNode VisitUnboundLambda(UnboundLambda node)
3256public override BoundNode VisitBreakStatement(BoundBreakStatement node)
3264public override BoundNode VisitContinueStatement(BoundContinueStatement node)
3272public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
3277public override BoundNode VisitConditionalOperator(BoundConditionalOperator node)
3284protected virtual BoundNode? VisitConditionalOperatorCore(
3348public override BoundNode VisitBaseReference(BoundBaseReference node)
3353public override BoundNode VisitDoStatement(BoundDoStatement node)
3367public override BoundNode VisitGotoStatement(BoundGotoStatement node)
3390public override BoundNode VisitLabelStatement(BoundLabelStatement node)
3396public override BoundNode VisitLabeledStatement(BoundLabeledStatement node)
3403public override BoundNode VisitLockStatement(BoundLockStatement node)
3410public override BoundNode VisitNoOpStatement(BoundNoOpStatement node)
3415public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node)
3420public override BoundNode VisitUsingStatement(BoundUsingStatement node)
3443public override BoundNode VisitFixedStatement(BoundFixedStatement node)
3450public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
3456public override BoundNode VisitThrowStatement(BoundThrowStatement node)
3464public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node)
3472public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node)
3479public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node)
3484public override BoundNode VisitDefaultExpression(BoundDefaultExpression node)
3489public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
3494public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node)
3500public override BoundNode VisitNameOfOperator(BoundNameOfOperator node)
3509public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
3529public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
3535public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node)
3542public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node)
3547private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node)
3554public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
3559public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
3564public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
3572public override BoundNode VisitArrayLength(BoundArrayLength node)
3578public override BoundNode VisitConditionalGoto(BoundConditionalGoto node)
3596public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
3601public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
3606private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers)
3616public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node)
3635public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
3640public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
3663public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
3669public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node)
3674public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node)
3680public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
3686public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node)
3692public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
3697public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
3702public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
3707public override BoundNode VisitValuePlaceholder(BoundValuePlaceholder node)
3712public override BoundNode VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
3717public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node)
3722public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
3727public override BoundNode VisitDiscardExpression(BoundDiscardExpression node)
3738public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node)
3745public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
3751public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
3784public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
3790public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
3797public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
3822public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node)
3827public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node)
3832public 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);
2390public override BoundNode VisitLocalId(BoundLocalId node)
2393public override BoundNode VisitParameterId(BoundParameterId node)
2396public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
2399public override BoundNode VisitMethodGroup(BoundMethodGroup node)
2411public override BoundNode VisitLambda(BoundLambda node)
2457public override BoundNode VisitThisReference(BoundThisReference node)
2464public override BoundNode VisitParameter(BoundParameter node)
2478public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
2485public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
2492public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
2499public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
2508public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
2526public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
2662public override BoundNode VisitBaseReference(BoundBaseReference node)
2668public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
2688public override BoundNode VisitFieldAccess(BoundFieldAccess node)
2690var result = base.VisitFieldAccess(node);
2714public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
2716var result = base.VisitPropertyAccess(node);
2737public override BoundNode VisitEventAccess(BoundEventAccess node)
2739var result = base.VisitEventAccess(node);
2768public 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 (212)
503BoundNode node,
1466BoundNode node,
1493BoundNode node,
1533internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody)
1551internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics)
1589private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody)
1604BoundNode node,
1616internal static BoundNode AnalyzeAndRewrite(
1619BoundNode node,
1635BoundNode node,
1692internal static BoundNode AnalyzeAndRewriteSpeculation(
1694BoundNode node,
1740private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols)
1750var rewrittenNode = rewriter.Visit(node);
1774BoundNode node,
1856BoundNode node,
1966private void TakeIncrementalSnapshot(BoundNode? node)
1972private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol)
2320private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode
2334private void VisitWithoutDiagnostics(BoundNode? node)
3057public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue)
3092public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node)
3228public override BoundNode? VisitLocal(BoundLocal node)
3258public override BoundNode? VisitBlock(BoundBlock node)
3363public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
3585public override BoundNode? VisitDoStatement(BoundDoStatement node)
3591public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
3597public override BoundNode? VisitWithExpression(BoundWithExpression withExpr)
3617public override BoundNode? VisitForStatement(BoundForStatement node)
3624public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
3630public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
3637public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
3670public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
3676public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
3703public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
3765protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node)
3857public override BoundNode? Visit(BoundNode? node)
3862private BoundNode VisitLValue(BoundNode node)
3881private BoundNode Visit(BoundNode? node, bool expressionIsRead)
3890var result = base.Visit(node);
3903public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
3909public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
3917public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
3920var result = base.VisitUnconvertedCollectionExpression(node);
3925public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
3944foreach (var element in node.Elements)
4082void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Action<TypeWithAnnotations, TypeSymbol>> elementConversionCompletions)
4252public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
5012public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
5073public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
5229BoundNode node,
5307public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
5341public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
6130public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
6167public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
6453public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
6459protected override BoundNode? VisitConditionalOperatorCore(
6750public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
6761public override BoundNode? VisitCall(BoundCall node)
6962BoundNode node,
7478private static bool HasImplicitTypeArguments(BoundNode node)
7570BoundNode node,
7611BoundNode node,
7804BoundNode node,
8896var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length);
9239public override BoundNode? VisitConversion(BoundConversion node)
9376public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
9382public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
9663public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
10870public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
11046public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
11141public override BoundNode? VisitLambda(BoundLambda node)
11190public override BoundNode? VisitUnboundLambda(UnboundLambda node)
11200public override BoundNode? VisitThisReference(BoundThisReference node)
11213public override BoundNode? VisitParameter(BoundParameter node)
11223public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11400public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
11405private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt)
11518var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
11560var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
11719public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
11854BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder),
11884BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder),
11912public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
12012BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder),
12026BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder),
12047public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
12064public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
12111public override BoundNode? VisitBaseReference(BoundBaseReference node)
12117public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
12127BoundNode node, PropertySymbol property, BoundExpression receiver)
12148BoundNode node,
12175public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
12214public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
12248public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
12262public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
12270public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
12276public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
12282public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
12288public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
12294public override BoundNode? VisitEventAccess(BoundEventAccess node)
12422BoundNode node,
12682Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder);
12719public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
12721var result = base.VisitFromEndIndexExpression(node);
12726public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
12732public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
12738public override BoundNode? VisitBadExpression(BoundBadExpression node)
12767public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12769var result = base.VisitTypeExpression(node);
12780public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
12783var result = base.VisitTypeOrValueExpression(node);
12788public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
12899public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
12901var result = base.VisitPointerIndirectionOperator(node);
12907public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
12909var result = base.VisitPointerElementAccess(node);
12915public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
12922public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
12924var result = base.VisitMakeRefOperator(node);
12929public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
12931var result = base.VisitRefValueOperator(node);
13068BoundNode.GetConversion(binary.TrueFalseOperandConversion, binary.TrueFalseOperandPlaceholder),
13092public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
13094var result = base.VisitAwaitExpression(node);
13121public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
13123var result = base.VisitTypeOfOperator(node);
13128public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
13130var result = base.VisitMethodInfo(node);
13135public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
13137var result = base.VisitFieldInfo(node);
13142public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
13145var result = base.VisitDefaultLiteral(node);
13150public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
13154var result = base.VisitDefaultExpression(node);
13170public override BoundNode? VisitIsOperator(BoundIsOperator node)
13204public override BoundNode? VisitAsOperator(BoundAsOperator node)
13212switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind)
13232public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
13234var result = base.VisitSizeOfOperator(node);
13240public override BoundNode? VisitArgList(BoundArgList node)
13242var result = base.VisitArgList(node);
13248public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
13256public override BoundNode? VisitLiteral(BoundLiteral node)
13259var result = base.VisitLiteral(node);
13264public override BoundNode? VisitUtf8String(BoundUtf8String node)
13267var result = base.VisitUtf8String(node);
13272public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
13274var result = base.VisitPreviousSubmissionReference(node);
13280public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
13282var result = base.VisitHostObjectMemberReference(node);
13288public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
13290var result = base.VisitPseudoVariable(node);
13295public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
13297var result = base.VisitRangeExpression(node);
13302public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
13309public override BoundNode? VisitLabel(BoundLabel node)
13311var result = base.VisitLabel(node);
13316public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
13328public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
13348public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
13374public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
13380public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
13388public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
13396public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
13404public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
13406var result = base.VisitImplicitReceiver(node);
13411public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
13416public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
13422public override BoundNode? VisitNewT(BoundNewT node)
13428public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
13430var result = base.VisitArrayInitialization(node);
13440public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
13534public override BoundNode? VisitQueryClause(BoundQueryClause node)
13536var result = base.VisitQueryClause(node);
13541public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
13543var result = base.VisitNameOfOperator(node);
13548public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
13550var result = base.VisitNamespaceExpression(node);
13555public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
13558var result = base.VisitUnconvertedInterpolatedString(node);
13563public override BoundNode? VisitStringInsert(BoundStringInsert node)
13565var result = base.VisitStringInsert(node);
13576public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
13584public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
13590public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
13596public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
13601private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node)
13618public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
13626public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
13633public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
13656public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
13672public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
13696public override BoundNode? VisitLockStatement(BoundLockStatement node)
13704public override BoundNode? VisitAttribute(BoundAttribute node)
13717public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
13724public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
13730public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
13738public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
13746public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
13767public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
13821public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
14390private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)>
14396public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y)
14407public 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);
743public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this);
778public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this);
813public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this);
848public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this);
883public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this);
911public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionBuilderElementsPlaceholder(this);
942public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this);
970public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this);
1007public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this);
1023public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false)
1032public ImmutableArray<BoundNode> ChildBoundNodes { get; }
1035public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this);
1037public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes)
1063public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this);
1098public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this);
1147public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this);
1188public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this);
1230public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this);
1278public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this);
1310public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this);
1339public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this);
1382public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this);
1414public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this);
1451public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this);
1488public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this);
1520public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this);
1550public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this);
1582public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this);
1614public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this);
1647public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this);
1704public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this);
1742public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this);
1795public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this);
1842public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this);
1876public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this);
1911public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this);
1952public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this);
1983public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this);
2022public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this);
2066public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this);
2099public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this);
2129public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefArrayAccess(this);
2159public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this);
2200public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this);
2235public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this);
2288public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this);
2320public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this);
2364public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this);
2407public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this);
2450public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this);
2485public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this);
2520public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this);
2558public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this);
2593public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this);
2628public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this);
2663public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this);
2698public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this);
2738public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this);
2781public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this);
2824public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this);
2853public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this);
2878public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this);
2913public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this);
2950public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this);
2982public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this);
3030public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this);
3063public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this);
3098public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this);
3129public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this);
3168public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this);
3207public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this);
3234public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this);
3271public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this);
3308public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this);
3339public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this);
3375public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this);
3404public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this);
3435public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this);
3471public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this);
3511public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this);
3541public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this);
3573public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this);
3604public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this);
3637public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this);
3665public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this);
3693public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this);
3707public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this);
3735public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this);
3765public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this);
3795public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this);
3840public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this);
3876public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this);
3909public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this);
3989public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this);
4019public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this);
4061public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this);
4110public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this);
4141public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this);
4180public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this);
4214public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this);
4245public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this);
4282public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this);
4323public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this);
4354public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this);
4394public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this);
4429public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this);
4464public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this);
4499public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this);
4528public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this);
4577public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this);
4622public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this);
4655public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this);
4695public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this);
4732public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this);
4764public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this);
4795public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this);
4832public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this);
4869public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this);
4902public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this);
4967public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this);
4995public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this);
5029public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this);
5059public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this);
5104public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this);
5138public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this);
5173public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this);
5210public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this);
5256public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this);
5285public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this);
5313public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this);
5339public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this);
5368public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this);
5399public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this);
5440public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this);
5469public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this);
5498public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this);
5529public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this);
5560public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this);
5607public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this);
5656public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this);
5685public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this);
5711public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPassThroughEvaluation(this);
5743public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this);
5778public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this);
5820public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this);
5856public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this);
5892public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this);
5931public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this);
5984public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this);
6017public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this);
6058public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this);
6096public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this);
6129public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this);
6170public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this);
6198public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this);
6257public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this);
6296public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this);
6341public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this);
6379public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this);
6451public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this);
6467protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false)
6480public ImmutableArray<BoundNode> Elements { get; }
6485public BoundUnconvertedCollectionExpression(SyntaxNode syntax, BoundUnconvertedWithElement? withElement, ImmutableArray<BoundNode> elements, bool hasErrors = false)
6498public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedCollectionExpression(this);
6500public BoundUnconvertedCollectionExpression Update(BoundUnconvertedWithElement? withElement, ImmutableArray<BoundNode> elements)
6530public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedWithElement(this);
6546public 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)
6579public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpression(this);
6581public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundCollectionBuilderElementsPlaceholder? collectionBuilderElementsPlaceholder, bool wasTargetTyped, bool hasWithElement, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type)
6607public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadExpressionPlaceholder(this);
6647public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadElement(this);
6692public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this);
6722public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this);
6765public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this);
6797public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this);
6844public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this);
6893public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this);
6938public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this);
6966public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this);
7011public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this);
7043public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this);
7078public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this);
7114public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this);
7154public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this);
7184public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this);
7220public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this);
7252public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this);
7283public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this);
7329public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this);
7358public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this);
7398public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this);
7438public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this);
7476public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this);
7512public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this);
7563public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this);
7612public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this);
7653public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this);
7693public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this);
7733public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this);
7777public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this);
7818public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this);
7844public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this);
7881public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this);
7923public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this);
7951public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this);
7979public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this);
8017public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this);
8052public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this);
8096public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this);
8167public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this);
8213public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPatternWithUnionMatching(this);
8253public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this);
8308public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this);
8351public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this);
8395public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this);
8434public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this);
8474public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this);
8520public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this);
8550public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this);
8582public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this);
8620public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this);
8659public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this);
8693public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this);
8734public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this);
8769public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this);
8797public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this);
8840public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this);
8866public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this);
8901public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this);
8937public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this);
8967public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this);
8998public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this);
9023public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValueForNullableAnalysis(this);
9058public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this);
9076internal R VisitInternal(BoundNode node, A arg)
9803public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node);
9804public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node);
9805public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node);
9806public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node);
9807public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node);
9808public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node);
9809public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node);
9810public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node);
9811public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node);
9812public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node);
9813public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node);
9814public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node);
9815public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node);
9816public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node);
9817public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node);
9818public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node);
9819public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node);
9820public virtual BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) => this.DefaultVisit(node);
9821public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node);
9822public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node);
9823public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node);
9824public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node);
9825public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node);
9826public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node);
9827public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node);
9828public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node);
9829public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node);
9830public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node);
9831public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node);
9832public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node);
9833public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node);
9834public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node);
9835public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node);
9836public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node);
9837public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node);
9838public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node);
9839public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node);
9840public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node);
9841public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node);
9842public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node);
9843public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node);
9844public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node);
9845public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node);
9846public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
9847public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node);
9848public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node);
9849public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node);
9850public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node);
9851public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node);
9852public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node);
9853public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node);
9854public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node);
9855public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node);
9856public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node);
9857public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node);
9858public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node);
9859public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node);
9860public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node);
9861public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node);
9862public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node);
9863public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node);
9864public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node);
9865public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node);
9866public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node);
9867public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node);
9868public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node);
9869public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node);
9870public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node);
9871public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node);
9872public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node);
9873public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node);
9874public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node);
9875public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node);
9876public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node);
9877public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node);
9878public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node);
9879public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node);
9880public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node);
9881public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node);
9882public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node);
9883public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node);
9884public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node);
9885public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node);
9886public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node);
9887public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node);
9888public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node);
9889public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node);
9890public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node);
9891public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node);
9892public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node);
9893public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node);
9894public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node);
9895public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node);
9896public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node);
9897public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node);
9898public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node);
9899public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node);
9900public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node);
9901public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node);
9902public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node);
9903public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node);
9904public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node);
9905public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node);
9906public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node);
9907public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node);
9908public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node);
9909public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node);
9910public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node);
9911public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node);
9912public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node);
9913public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node);
9914public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node);
9915public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node);
9916public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node);
9917public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node);
9918public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node);
9919public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node);
9920public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node);
9921public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node);
9922public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node);
9923public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node);
9924public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node);
9925public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node);
9926public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node);
9927public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node);
9928public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node);
9929public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node);
9930public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node);
9931public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node);
9932public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node);
9933public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node);
9934public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node);
9935public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node);
9936public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node);
9937public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node);
9938public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node);
9939public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node);
9940public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node);
9941public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node);
9942public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node);
9943public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node);
9944public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node);
9945public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node);
9946public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node);
9947public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node);
9948public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node);
9949public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node);
9950public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node);
9951public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node);
9952public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node);
9953public virtual BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node) => this.DefaultVisit(node);
9954public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node);
9955public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node);
9956public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node);
9957public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node);
9958public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node);
9959public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node);
9960public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node);
9961public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node);
9962public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node);
9963public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node);
9964public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node);
9965public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node);
9966public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node);
9967public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node);
9968public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node);
9969public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node);
9970public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node);
9971public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node);
9972public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node);
9973public virtual BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node) => this.DefaultVisit(node);
9974public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node);
9975public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node);
9976public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node);
9977public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node);
9978public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node);
9979public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node);
9980public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node);
9981public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node);
9982public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node);
9983public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node);
9984public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node);
9985public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node);
9986public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node);
9987public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node);
9988public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node);
9989public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node);
9990public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node);
9991public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node);
9992public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node);
9993public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node);
9994public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node);
9995public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node);
9996public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node);
9997public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node);
9998public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node);
9999public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node);
10000public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node);
10001public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node);
10002public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node);
10003public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node);
10004public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node);
10005public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node);
10006public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node);
10007public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node);
10008public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node);
10009public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node);
10010public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node);
10011public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node);
10012public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node);
10013public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node);
10014public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node);
10015public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node);
10016public virtual BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) => this.DefaultVisit(node);
10017public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node);
10018public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node);
10019public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node);
10020public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node);
10021public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node);
10022public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node);
10023public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node);
10024public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node);
10025public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node);
10026public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node);
10027public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node);
10028public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node);
10029public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node);
10030public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node);
10031public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node);
10032public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node);
10033public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node);
10034public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node);
10035public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node);
10036public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node);
10037public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node);
10038public virtual BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node) => this.DefaultVisit(node);
10039public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node);
10044public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
10049public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
10054public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
10059public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
10064public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null;
10065public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
10070public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null;
10071public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null;
10072public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null;
10073public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null;
10074public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null;
10075public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null;
10076public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
10081public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null;
10082public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null;
10083public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null;
10084public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null;
10085public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) => null;
10086public override BoundNode? VisitDup(BoundDup node) => null;
10087public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
10092public override BoundNode? VisitBadExpression(BoundBadExpression node)
10097public override BoundNode? VisitBadStatement(BoundBadStatement node)
10102public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
10107public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
10113public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null;
10114public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null;
10115public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
10120public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
10125public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
10130public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
10135public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null;
10136public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
10141public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
10147public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
10153public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
10158public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
10163public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
10168public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
10173public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
10179public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
10185public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
10191public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
10197public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
10203public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
10209public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
10215public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
10221public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
10227public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
10234public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
10241public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
10247public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
10252public override BoundNode? VisitArrayLength(BoundArrayLength node)
10257public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
10265public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
10271public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
10276public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
10282public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null;
10283public override BoundNode? VisitLocalId(BoundLocalId node) => null;
10284public override BoundNode? VisitParameterId(BoundParameterId node) => null;
10285public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null;
10286public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null;
10287public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null;
10288public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null;
10289public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null;
10290public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null;
10291public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null;
10292public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null;
10293public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null;
10294public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null;
10295public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null;
10296public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null;
10297public override BoundNode? VisitIsOperator(BoundIsOperator node)
10303public override BoundNode? VisitAsOperator(BoundAsOperator node)
10309public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
10314public override BoundNode? VisitConversion(BoundConversion node)
10319public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
10324public override BoundNode? VisitArgList(BoundArgList node) => null;
10325public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
10330public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
10335public override BoundNode? VisitSequencePoint(BoundSequencePoint node)
10340public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
10345public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null;
10346public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null;
10347public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null;
10348public override BoundNode? VisitBlock(BoundBlock node)
10354public override BoundNode? VisitScope(BoundScope node)
10359public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
10364public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
10371public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
10376public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
10382public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
10388public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null;
10389public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
10394public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
10399public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null;
10400public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
10405public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
10410public override BoundNode? VisitBreakStatement(BoundBreakStatement node)
10415public override BoundNode? VisitContinueStatement(BoundContinueStatement node)
10420public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
10427public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node)
10432public override BoundNode? VisitIfStatement(BoundIfStatement node)
10439public override BoundNode? VisitDoStatement(BoundDoStatement node)
10445public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
10451public override BoundNode? VisitForStatement(BoundForStatement node)
10459public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
10468public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node)
10474public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
10482public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
10488public override BoundNode? VisitLockStatement(BoundLockStatement node)
10494public override BoundNode? VisitTryStatement(BoundTryStatement node)
10501public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
10509public override BoundNode? VisitLiteral(BoundLiteral node) => null;
10510public override BoundNode? VisitUtf8String(BoundUtf8String node) => null;
10511public override BoundNode? VisitThisReference(BoundThisReference node) => null;
10512public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null;
10513public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null;
10514public override BoundNode? VisitBaseReference(BoundBaseReference node) => null;
10515public override BoundNode? VisitLocal(BoundLocal node) => null;
10516public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null;
10517public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
10522public override BoundNode? VisitParameter(BoundParameter node) => null;
10523public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null;
10524public override BoundNode? VisitGotoStatement(BoundGotoStatement node)
10530public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node)
10535public override BoundNode? VisitLabel(BoundLabel node) => null;
10536public override BoundNode? VisitStatementList(BoundStatementList node)
10541public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node)
10546public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
10553public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
10559public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
10565public override BoundNode? VisitDecisionDag(BoundDecisionDag node)
10570public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node)
10576public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node)
10583public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node)
10590public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null;
10591public override BoundNode? VisitDagTemp(BoundDagTemp node)
10596public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node)
10601public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node)
10606public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node)
10611public override BoundNode? VisitDagValueTest(BoundDagValueTest node)
10616public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node)
10621public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
10626public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node)
10631public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
10636public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
10641public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
10646public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
10655public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
10664public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node)
10670public override BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node)
10675public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
10681public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node)
10687public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
10692public override BoundNode? VisitSequence(BoundSequence node)
10698public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
10704public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
10709public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
10715public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
10721public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
10728public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null;
10729public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
10735public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
10740public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
10745public override BoundNode? VisitCall(BoundCall node)
10751public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
10757public override BoundNode? VisitAttribute(BoundAttribute node)
10763public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
10768public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
10774public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
10780public override BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node)
10785public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
10791public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null;
10792public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
10797public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
10802public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
10807public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
10813public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
10818public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
10824public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
10829public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null;
10830public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
10836public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
10842public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
10848public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null;
10849public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
10855public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null;
10856public override BoundNode? VisitNewT(BoundNewT node)
10861public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
10866public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
10872public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
10877public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
10883public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
10889public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
10894public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null;
10895public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
10900public override BoundNode? VisitEventAccess(BoundEventAccess node)
10905public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
10911public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
10917public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
10923public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
10929public override BoundNode? VisitLambda(BoundLambda node)
10934public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null;
10935public override BoundNode? VisitQueryClause(BoundQueryClause node)
10940public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
10945public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
10950public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
10955public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
10960public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null;
10961public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null;
10962public override BoundNode? VisitStringInsert(BoundStringInsert node)
10969public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
10975public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
10980public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node)
10989public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null;
10990public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
10996public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
11004public override BoundNode? VisitListPattern(BoundListPattern node)
11010public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
11015public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
11020public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
11025public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
11031public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
11036public override BoundNode? VisitTypePattern(BoundTypePattern node)
11041public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
11047public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
11052public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
11057public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null;
11058public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
11063public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
11068public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
11073public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null;
11074public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
11080public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
11087public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
11092public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
11097public override BoundNode? VisitWithExpression(BoundWithExpression node)
11107public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
11114public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
11121public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
11128public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
11133public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
11138public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
11144public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
11150public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
11155public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
11160public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
11165public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
11170public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
11175public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
11181public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node)
11186public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node)
11191public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node)
11196public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
11201public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
11206public override BoundNode? VisitDup(BoundDup node)
11211public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
11217public override BoundNode? VisitBadExpression(BoundBadExpression node)
11224public override BoundNode? VisitBadStatement(BoundBadStatement node)
11226ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes);
11229public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
11234public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
11242public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
11248public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
11255public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
11264public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
11277public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
11283public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
11289public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
11296public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
11302public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
11309public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
11316public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
11323public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
11329public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
11335public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
11342public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
11350public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
11357public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
11364public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
11378public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
11390public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11397public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
11404public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
11413public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
11420public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
11428public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
11437public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
11444public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
11450public override BoundNode? VisitArrayLength(BoundArrayLength node)
11456public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
11466public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
11473public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
11480public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
11487public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
11493public override BoundNode? VisitLocalId(BoundLocalId node)
11500public override BoundNode? VisitParameterId(BoundParameterId node)
11507public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
11512public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
11517public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
11522public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
11527public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
11532public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node)
11537public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node)
11542public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
11547public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
11554public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
11561public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
11566public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
11572public override BoundNode? VisitIsOperator(BoundIsOperator node)
11579public override BoundNode? VisitAsOperator(BoundAsOperator node)
11588public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
11594public override BoundNode? VisitConversion(BoundConversion node)
11600public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
11607public override BoundNode? VisitArgList(BoundArgList node)
11612public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
11618public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
11628public override BoundNode? VisitSequencePoint(BoundSequencePoint node)
11633public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
11638public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node;
11639public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node;
11640public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node;
11641public override BoundNode? VisitBlock(BoundBlock node)
11649public override BoundNode? VisitScope(BoundScope node)
11655public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
11661public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
11669public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
11674public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
11680public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
11687public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node;
11688public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
11693public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
11698public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node;
11699public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
11704public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
11709public override BoundNode? VisitBreakStatement(BoundBreakStatement node)
11715public 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)
12536public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
12542public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
12551public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
12563public override BoundNode? VisitListPattern(BoundListPattern node)
12576public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
12586public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
12595public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
12601public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
12607public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
12614public override BoundNode? VisitTypePattern(BoundTypePattern node)
12621public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
12629public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
12636public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
12643public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
12648public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
12654public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
12661public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
12668public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
12674public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
12680public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
12688public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
12694public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
12700public override BoundNode? VisitWithExpression(BoundWithExpression node)
12723public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
12731public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
12739public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
12747public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
12759public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
12776public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
12793public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
12805public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
12817public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
12829public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
12841public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
12853public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
12870public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node)
12882public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node)
12894public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node)
12906public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
12918public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
12930public override BoundNode? VisitDup(BoundDup node)
12942public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
12959public override BoundNode? VisitBadExpression(BoundBadExpression node)
12977public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12995public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
13012public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
13024public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
13044public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
13068public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
13085public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
13102public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
13120public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
13137public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
13155public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
13173public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
13191public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
13208public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
13225public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
13243public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
13262public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
13280public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13298public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
13316public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
13336public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
13354public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
13373public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
13393public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
13411public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
13428public override BoundNode? VisitArrayLength(BoundArrayLength node)
13445public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
13456public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
13474public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
13492public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
13500public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
13517public override BoundNode? VisitLocalId(BoundLocalId node)
13535public override BoundNode? VisitParameterId(BoundParameterId node)
13553public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
13565public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
13577public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
13589public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
13601public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
13613public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node)
13625public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node)
13637public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
13649public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
13667public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
13685public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
13697public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
13714public override BoundNode? VisitIsOperator(BoundIsOperator node)
13732public override BoundNode? VisitAsOperator(BoundAsOperator node)
13752public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
13769public override BoundNode? VisitConversion(BoundConversion node)
13786public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
13804public override BoundNode? VisitArgList(BoundArgList node)
13816public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
13833public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
13854public override BoundNode? VisitBlock(BoundBlock node)
13863public override BoundNode? VisitScope(BoundScope node)
13870public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
13877public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
13886public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
13894public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
13905public override BoundNode? VisitDoStatement(BoundDoStatement node)
13913public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
13921public override BoundNode? VisitForStatement(BoundForStatement node)
13932public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
13945public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
13955public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
13963public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
13974public override BoundNode? VisitLiteral(BoundLiteral node)
13986public override BoundNode? VisitUtf8String(BoundUtf8String node)
13998public override BoundNode? VisitThisReference(BoundThisReference node)
14010public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
14022public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
14034public override BoundNode? VisitBaseReference(BoundBaseReference node)
14046public override BoundNode? VisitLocal(BoundLocal node)
14063public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
14080public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
14098public override BoundNode? VisitParameter(BoundParameter node)
14115public override BoundNode? VisitLabel(BoundLabel node)
14127public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
14136public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
14155public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
14175public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
14182public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
14189public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
14196public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
14203public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
14214public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
14225public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
14233public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
14250public override BoundNode? VisitSequence(BoundSequence node)
14269public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
14288public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
14305public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
14324public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
14342public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
14362public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
14374public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
14392public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
14412public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
14430public override BoundNode? VisitCall(BoundCall node)
14450public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
14469public override BoundNode? VisitAttribute(BoundAttribute node)
14488public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
14505public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
14525public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
14528ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14543public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
14550ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14565public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
14577public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
14594public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
14612public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
14631public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
14648public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
14666public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
14685public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
14702public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
14720public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
14739public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
14758public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
14770public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
14789public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
14806public override BoundNode? VisitNewT(BoundNewT node)
14823public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
14841public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
14859public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
14876public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
14895public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
14914public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
14932public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node)
14949public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
14967public override BoundNode? VisitEventAccess(BoundEventAccess node)
14985public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
15005public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
15023public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
15042public override BoundNode? VisitLambda(BoundLambda node)
15061public override BoundNode? VisitUnboundLambda(UnboundLambda node)
15078public override BoundNode? VisitQueryClause(BoundQueryClause node)
15099public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
15116public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
15133public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
15150public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
15162public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
15174public override BoundNode? VisitStringInsert(BoundStringInsert node)
15193public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
15212public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
15220public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node)
15233public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
15240public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
15250public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
15263public override BoundNode? VisitListPattern(BoundListPattern node)
15277public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
15288public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
15298public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
15305public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
15312public override BoundNode? VisitTypePattern(BoundTypePattern node)
15320public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
15328public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
15336public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
15348public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
15365public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
15383public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
15401public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
15418public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
15427public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
15444public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
15461public override BoundNode? VisitWithExpression(BoundWithExpression node)
15486public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (17)
45return new BoundBadStatement(node.Syntax, ImmutableArray.Create<BoundNode>(node), hasErrors: true);
114public override BoundNode? Visit(BoundNode? node)
119var result = base.Visit(node);
127var result = Visit(node);
131public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
159var call = Visit(awaitableInfo.RuntimeAsyncAwaitCall);
313public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
318public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
368private bool TryReplaceWithProxy(Symbol localOrParameter, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement)
380public override BoundNode VisitLocal(BoundLocal node)
382if (TryReplaceWithProxy(node.LocalSymbol, node.Syntax, out BoundNode? replacement))
391public override BoundNode? VisitParameter(BoundParameter node)
393if (TryReplaceWithProxy(node.ParameterSymbol, node.Syntax, out BoundNode? replacement))
405public override BoundNode? VisitThisReference(BoundThisReference node)
410if (TryReplaceWithProxy(thisParameter, node.Syntax, out BoundNode? replacement))
419public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
Lowering\ClosureConversion\ClosureConversion.cs (33)
88private readonly Dictionary<BoundNode, Analysis.ClosureEnvironment> _frames = new Dictionary<BoundNode, Analysis.ClosureEnvironment>();
347static partial void CheckLocalsDefined(BoundNode node);
380var scopeBoundNode = scope.BoundNode;
650private static void InsertAndFreePrologue<T>(ArrayBuilder<BoundStatement> result, ArrayBuilder<T> prologue) where T : BoundNode
660result.Add(new BoundExpressionStatement(node.Syntax, (BoundExpression)(BoundNode)node));
674private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F)
740var result = F(prologue, addedLocals);
834protected override BoundNode VisitUnhoistedParameter(BoundParameter node)
845public override BoundNode VisitThisReference(BoundThisReference node)
862public override BoundNode VisitBaseReference(BoundBaseReference node)
869public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node)
1084public override BoundNode VisitCall(BoundCall node)
1118var visited = base.VisitCall(node);
1165public override BoundNode VisitBlock(BoundBlock node)
1213public override BoundNode VisitScope(BoundScope node)
1227public override BoundNode VisitCatchBlock(BoundCatchBlock node)
1243private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals)
1301public override BoundNode VisitSequence(BoundSequence node)
1317public override BoundNode VisitStatementList(BoundStatementList node)
1342public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
1375public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
1402public override BoundNode VisitConversion(BoundConversion conversion)
1433public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
1438BoundNode lambdaScope;
1530out BoundNode lambdaScope,
1547BoundNode tmpScope = null;
1632private BoundNode RewriteLambdaConversion(BoundLambda node)
1642var result0 = wasInExpressionLambda ? node : ExpressionLambdaRewriter.RewriteLambda(node, CompilationState, TypeMap, RecursionDepth, Diagnostics);
1650BoundNode lambdaScope;
1802public 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);