Binder\Binder_Statements.cs (13)
146result = new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
520return new BoundBadStatement(node, ImmutableArray.Create<BoundNode>(expression), true);
535ImmutableArray<BoundNode> childNodes;
539childNodes = ImmutableArray.Create<BoundNode>(value);
543childNodes = ImmutableArray<BoundNode>.Empty;
2954return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
2965return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
3686public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics)
3715private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3720private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3744private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics)
3779private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics)
4102private BoundNode BindMethodBody(CSharpSyntaxNode declaration, BlockSyntax blockBody, ArrowExpressionClauseSyntax expressionBody, BindingDiagnosticBag diagnostics)
BoundTree\Expression.cs (60)
29ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: null, Arguments, InitializerExpressionOpt);
34ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(Arguments);
39ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ImplicitReceiverOpt, Arguments);
44protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Left, this.Right);
49protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ChildBoundNodes);
51ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(this.ChildBoundNodes);
56ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments);
61ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments);
66protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Receiver));
71protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments);
76protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ConstructorArguments.AddRange(StaticCast<BoundExpression>.From(this.NamedArguments)));
81protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Value);
86protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments);
91protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Argument);
96protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression, this.Index);
101protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
106protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver);
111protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
116protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
121protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Expression));
126protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression);
139protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count));
144protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count));
149protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.AddRange(BoundObjectCreationExpression.GetChildInitializers(this.InitializerExpressionOpt)));
154protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression);
159protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.ReceiverOpt);
164protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.SideEffects.Add(this.Value));
169protected override ImmutableArray<BoundNode?> Children =>
170(this.Kind == BoundKind.StatementList || this.Kind == BoundKind.Scope) ? StaticCast<BoundNode?>.From(this.Statements) : ImmutableArray<BoundNode?>.Empty;
175protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression);
180protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver, Argument);
185ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: this.InvokedExpression, Arguments);
186protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(((IBoundInvalidNode)this).InvalidNodeChildren);
Compilation\CSharpSemanticModel.cs (20)
738BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition
768BoundNode boundNode = GetSpeculativelyBoundAttribute(position, attribute, out binder); //calls CheckAndAdjustPosition
1068BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out _, out crefSymbols); //calls CheckAndAdjustPosition
1215BoundNode boundNode = GetSpeculativelyBoundExpression(position, nameSyntax, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition
1895BoundNode lowestBoundNode,
1896BoundNode highestBoundNode,
1897BoundNode boundNodeForSyntacticParent,
2030BoundNode lowestBoundNode,
2031BoundNode highestBoundNode,
2032BoundNode boundNodeForSyntacticParent)
2138conversion = BoundNode.GetConversion(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder);
2285BoundNode lowestBoundNode,
2286BoundNode boundNodeForSyntacticParent,
2307BoundNode lowestBoundNode,
2399internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
3354BoundNode boundNodeForSyntacticParent,
3988BoundNode boundNodeForSyntacticParent,
4039BoundNode lowestBoundNode,
4259BoundNode boundNodeForSyntacticParent,
4412BoundNode boundNodeForSyntacticParent,
Compilation\MemberSemanticModel.cs (63)
33private readonly Dictionary<SyntaxNode, OneOrMany<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, OneOrMany<BoundNode>>();
514internal virtual BoundNode GetBoundRoot()
522internal BoundNode GetUpperBoundNode(CSharpSyntaxNode node, bool promoteToBindable = false)
550internal BoundNode GetLowerBoundNode(CSharpSyntaxNode node)
567private static BoundNode GetLowerBoundNode(OneOrMany<BoundNode> boundNodes)
924var bound = GetLowerBoundNode(node);
936var bound = GetLowerBoundNode(node);
948var bound = GetLowerBoundNode(node);
1032BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder),
1033BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder));
1038var lowerNode = GetLowerBoundNode(node);
1181var bound = this.GetLowerBoundNode(declaratorSyntax);
1226BoundNode highestBoundNode = GetBoundRoot();
1251BoundNode lowestBoundNode;
1252BoundNode highestBoundNode;
1253BoundNode boundParent;
1263BoundNode lowestBoundNode;
1264BoundNode highestBoundNode;
1265BoundNode boundParent;
1274BoundNode lowestBoundNode;
1275BoundNode highestBoundNode;
1276BoundNode boundParent;
1286BoundNode lowestBoundNode;
1287BoundNode highestBoundNode;
1288BoundNode boundParent;
1340private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent)
1471private OneOrMany<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node)
1474OneOrMany<BoundNode> result;
1475return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty;
1481internal OneOrMany<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node)
1483OneOrMany<BoundNode> result;
1484return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty;
1489private OneOrMany<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound)
1508OneOrMany<BoundNode> result;
1509return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : OneOrMany<BoundNode>.Empty;
1512protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null)
1520protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null)
1663BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery);
1667private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery)
1671OneOrMany<BoundNode> nodes;
1690BoundNode boundEnclosingLambdaOrQuery = null;
1731BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded);
1763BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded);
1777private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery)
2002BoundNode boundRoot = bind(bindableRoot, out binder);
2024BoundNode bind(CSharpSyntaxNode root, out Binder binder)
2078protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots(
2079BoundNode boundRoot,
2092protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots);
2106internal OneOrMany<BoundNode> GetBoundNodes(CSharpSyntaxNode node)
2130OneOrMany<BoundNode> results;
2153BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded);
2182var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded);
2197return OneOrMany<BoundNode>.Empty;
2512private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node)
2516OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node);
2528public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
2530BoundNode boundNode = TryGetBoundNodeFromMap(node);
FlowAnalysis\AbstractFlowPass.cs (203)
65protected readonly BoundNode methodMainNode;
171protected readonly BoundNode firstInRegion, lastInRegion;
184BoundNode node,
185BoundNode firstInRegion = null,
186BoundNode lastInRegion = null,
259private void EnterRegionIfNeeded(BoundNode node)
276private void LeaveRegionIfNeeded(BoundNode node)
340public override BoundNode Visit(BoundNode node)
345protected BoundNode VisitAlways(BoundNode node)
347BoundNode result = null;
361private BoundNode VisitWithStackGuard(BoundNode node)
372protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node)
394public readonly BoundNode Branch;
403public PendingBranch(BoundNode branch, TLocalState state, LabelSymbol label, bool isConditionalState = false, TLocalState stateWhenTrue = default, TLocalState stateWhenFalse = default)
762protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target)
895public override BoundNode DefaultVisit(BoundNode node)
902public override BoundNode VisitAttribute(BoundAttribute node)
908public override BoundNode VisitThrowExpression(BoundThrowExpression node)
915public override BoundNode VisitPassByCopy(BoundPassByCopy node)
921public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node)
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);
2358public override BoundNode VisitLocalId(BoundLocalId node)
2361public override BoundNode VisitParameterId(BoundParameterId node)
2364public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
2367public override BoundNode VisitMethodGroup(BoundMethodGroup node)
2379public override BoundNode VisitLambda(BoundLambda node)
2425public override BoundNode VisitThisReference(BoundThisReference node)
2432public override BoundNode VisitParameter(BoundParameter node)
2446public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
2453public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
2460public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
2467public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
2476public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
2494public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
2630public override BoundNode VisitBaseReference(BoundBaseReference node)
2636public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
2656public override BoundNode VisitFieldAccess(BoundFieldAccess node)
2658var result = base.VisitFieldAccess(node);
2682public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
2684var result = base.VisitPropertyAccess(node);
2705public override BoundNode VisitEventAccess(BoundEventAccess node)
2707var result = base.VisitEventAccess(node);
2736public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
FlowAnalysis\EntryPointsWalker.cs (7)
24internal static IEnumerable<LabeledStatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, out bool? succeeded)
49private EntryPointsWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
59protected override void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement targetStmt)
FlowAnalysis\NullableWalker.cs (211)
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)
2332private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode
2346private void VisitWithoutDiagnostics(BoundNode? node)
3062public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue)
3097public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node)
3233public override BoundNode? VisitLocal(BoundLocal node)
3263public override BoundNode? VisitBlock(BoundBlock node)
3368public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
3590public override BoundNode? VisitDoStatement(BoundDoStatement node)
3596public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
3602public override BoundNode? VisitWithExpression(BoundWithExpression withExpr)
3622public override BoundNode? VisitForStatement(BoundForStatement node)
3629public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
3635public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
3642public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
3675public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
3681public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
3708public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
3770protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node)
3862public override BoundNode? Visit(BoundNode? node)
3867private BoundNode VisitLValue(BoundNode node)
3886private BoundNode Visit(BoundNode? node, bool expressionIsRead)
3895var result = base.Visit(node);
3908public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
3914public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
3922public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
3925var result = base.VisitUnconvertedCollectionExpression(node);
3930public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
3949foreach (var element in node.Elements)
4087void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Action<TypeWithAnnotations, TypeSymbol>> elementConversionCompletions)
4257public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
5028public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
5089public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
5245BoundNode node,
5323public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
5357public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
6146public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
6183public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
6469public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
6475protected override BoundNode? VisitConditionalOperatorCore(
6766public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
6777public override BoundNode? VisitCall(BoundCall node)
6978BoundNode node,
7473private static bool HasImplicitTypeArguments(BoundNode node)
7557BoundNode node,
7598BoundNode node,
7791BoundNode node,
8883var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length);
9226public override BoundNode? VisitConversion(BoundConversion node)
9363public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
9369public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
9650public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
10851public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
11027public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
11122public override BoundNode? VisitLambda(BoundLambda node)
11171public override BoundNode? VisitUnboundLambda(UnboundLambda node)
11181public override BoundNode? VisitThisReference(BoundThisReference node)
11194public override BoundNode? VisitParameter(BoundParameter node)
11204public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11383public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
11388private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt)
11500var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
11542var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
11701public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
11836BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder),
11866BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder),
11894public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
11994BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder),
12008BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder),
12029public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
12046public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
12093public override BoundNode? VisitBaseReference(BoundBaseReference node)
12099public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
12108private ReinferenceResult<PropertySymbol> ReInferAndVisitExtensionPropertyAccess(BoundNode node, PropertySymbol property, BoundExpression receiver)
12127public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
12166public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
12190public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
12204public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
12212public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
12218public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
12224public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
12230public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
12236public override BoundNode? VisitEventAccess(BoundEventAccess node)
12364BoundNode node,
12624Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder);
12661public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
12663var result = base.VisitFromEndIndexExpression(node);
12668public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
12674public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
12680public override BoundNode? VisitBadExpression(BoundBadExpression node)
12709public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12711var result = base.VisitTypeExpression(node);
12722public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
12725var result = base.VisitTypeOrValueExpression(node);
12730public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
12841public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
12843var result = base.VisitPointerIndirectionOperator(node);
12849public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
12851var result = base.VisitPointerElementAccess(node);
12857public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
12864public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
12866var result = base.VisitMakeRefOperator(node);
12871public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
12873var result = base.VisitRefValueOperator(node);
13010BoundNode.GetConversion(binary.TrueFalseOperandConversion, binary.TrueFalseOperandPlaceholder),
13034public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
13036var result = base.VisitAwaitExpression(node);
13063public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
13065var result = base.VisitTypeOfOperator(node);
13070public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
13072var result = base.VisitMethodInfo(node);
13077public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
13079var result = base.VisitFieldInfo(node);
13084public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
13087var result = base.VisitDefaultLiteral(node);
13092public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
13096var result = base.VisitDefaultExpression(node);
13112public override BoundNode? VisitIsOperator(BoundIsOperator node)
13146public override BoundNode? VisitAsOperator(BoundAsOperator node)
13154switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind)
13174public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
13176var result = base.VisitSizeOfOperator(node);
13182public override BoundNode? VisitArgList(BoundArgList node)
13184var result = base.VisitArgList(node);
13190public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
13198public override BoundNode? VisitLiteral(BoundLiteral node)
13201var result = base.VisitLiteral(node);
13206public override BoundNode? VisitUtf8String(BoundUtf8String node)
13209var result = base.VisitUtf8String(node);
13214public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
13216var result = base.VisitPreviousSubmissionReference(node);
13222public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
13224var result = base.VisitHostObjectMemberReference(node);
13230public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
13232var result = base.VisitPseudoVariable(node);
13237public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
13239var result = base.VisitRangeExpression(node);
13244public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
13251public override BoundNode? VisitLabel(BoundLabel node)
13253var result = base.VisitLabel(node);
13258public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
13270public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
13290public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
13316public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
13322public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
13330public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
13338public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
13346public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
13348var result = base.VisitImplicitReceiver(node);
13353public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
13358public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
13364public override BoundNode? VisitNewT(BoundNewT node)
13370public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
13372var result = base.VisitArrayInitialization(node);
13382public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
13476public override BoundNode? VisitQueryClause(BoundQueryClause node)
13478var result = base.VisitQueryClause(node);
13483public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
13485var result = base.VisitNameOfOperator(node);
13490public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
13492var result = base.VisitNamespaceExpression(node);
13497public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
13500var result = base.VisitUnconvertedInterpolatedString(node);
13505public override BoundNode? VisitStringInsert(BoundStringInsert node)
13507var result = base.VisitStringInsert(node);
13518public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
13526public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
13532public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
13538public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
13543private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node)
13560public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
13568public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
13575public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
13598public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
13614public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
13638public override BoundNode? VisitLockStatement(BoundLockStatement node)
13646public override BoundNode? VisitAttribute(BoundAttribute node)
13659public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
13666public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
13672public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
13680public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
13688public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
13709public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
13763public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
14332private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)>
14338public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y)
14349public int GetHashCode((BoundNode? expr, Symbol symbol) obj)
FlowAnalysis\NullableWalker.SnapshotManager.cs (11)
31private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol> _updatedSymbolsMap;
35private SnapshotManager(ImmutableArray<SharedWalkerState> walkerSharedStates, ImmutableArray<(int position, Snapshot snapshot)> incrementalSnapshots, ImmutableDictionary<(BoundNode?, Symbol), Symbol> updatedSymbolsMap)
82internal bool TryGetUpdatedSymbol(BoundNode node, Symbol symbol, [NotNullWhen(true)] out Symbol? updatedSymbol)
104internal void VerifyNode(BoundNode node)
148private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol>.Builder _updatedSymbolMap = ImmutableDictionary.CreateBuilder<(BoundNode?, Symbol), Symbol>(ExpressionAndSymbolEqualityComparer.Instance, Symbols.SymbolEqualityComparer.ConsiderEverything);
208internal void TakeIncrementalSnapshot(BoundNode? node, LocalState currentState)
220internal void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol)
228internal void RemoveSymbolIfPresent(BoundNode node, Symbol symbol)
233private static (BoundNode?, Symbol) GetKey(BoundNode node, Symbol symbol)
FlowAnalysis\ReadWriteWalker.cs (11)
22CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes,
70private ReadWriteWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion,
236protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read)
283public override BoundNode VisitUnboundLambda(UnboundLambda node)
288public override BoundNode VisitRangeVariable(BoundRangeVariable node)
300private static ParameterSymbol GetRangeVariableUnderlyingParameter(BoundNode underlying)
319public override BoundNode VisitQueryClause(BoundQueryClause node)
Generated\BoundNodes.xml.Generated.cs (1148)
309public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldEqualsValue(this);
339public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyEqualsValue(this);
369public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterEqualsValue(this);
397public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGlobalStatementInitializer(this);
470public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValuePlaceholder(this);
498public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCapturedReceiverPlaceholder(this);
539public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructValuePlaceholder(this);
574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleOperandPlaceholder(this);
603public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableValuePlaceholder(this);
638public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDisposableValuePlaceholder(this);
676public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectOrCollectionValuePlaceholder(this);
711public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerValuePlaceholder(this);
749public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this);
784public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this);
819public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this);
854public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this);
889public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this);
917public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionBuilderElementsPlaceholder(this);
948public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this);
976public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this);
1013public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this);
1029public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false)
1038public ImmutableArray<BoundNode> ChildBoundNodes { get; }
1041public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this);
1043public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes)
1069public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this);
1104public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this);
1153public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this);
1194public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this);
1236public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this);
1284public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this);
1316public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this);
1345public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this);
1388public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this);
1420public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this);
1457public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this);
1494public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this);
1526public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this);
1556public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this);
1588public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this);
1620public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this);
1653public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this);
1710public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this);
1748public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this);
1801public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this);
1848public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this);
1882public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this);
1917public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this);
1958public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this);
1989public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this);
2028public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this);
2072public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this);
2105public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this);
2134public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefArrayAccess(this);
2164public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this);
2205public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this);
2240public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this);
2293public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this);
2325public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this);
2369public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this);
2412public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this);
2455public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this);
2490public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this);
2525public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this);
2563public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this);
2598public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this);
2633public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this);
2668public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this);
2703public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this);
2743public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this);
2786public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this);
2829public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this);
2858public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this);
2883public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this);
2918public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this);
2955public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this);
2987public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this);
3035public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this);
3068public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this);
3103public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this);
3134public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this);
3173public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this);
3212public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this);
3239public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this);
3276public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this);
3313public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this);
3344public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this);
3380public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this);
3409public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this);
3440public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this);
3476public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this);
3516public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this);
3546public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this);
3578public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this);
3609public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this);
3642public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this);
3670public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this);
3698public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this);
3712public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this);
3740public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this);
3777public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this);
3814public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this);
3859public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this);
3895public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this);
3928public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this);
4008public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this);
4038public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this);
4080public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this);
4129public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this);
4160public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this);
4199public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this);
4233public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this);
4264public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this);
4301public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this);
4342public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this);
4373public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this);
4413public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this);
4448public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this);
4483public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this);
4518public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this);
4547public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this);
4596public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this);
4641public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this);
4674public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this);
4714public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this);
4751public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this);
4783public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this);
4814public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this);
4851public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this);
4888public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this);
4921public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this);
4986public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this);
5014public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this);
5048public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this);
5078public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this);
5123public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this);
5157public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this);
5192public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this);
5229public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this);
5275public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this);
5304public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this);
5332public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this);
5358public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this);
5387public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this);
5418public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this);
5459public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this);
5488public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this);
5517public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this);
5548public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this);
5579public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this);
5626public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this);
5675public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this);
5704public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this);
5730public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPassThroughEvaluation(this);
5762public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this);
5797public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this);
5839public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this);
5875public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this);
5911public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this);
5950public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this);
6003public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this);
6036public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this);
6077public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this);
6115public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this);
6148public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this);
6189public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this);
6217public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this);
6276public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this);
6315public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this);
6360public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this);
6398public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this);
6470public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this);
6486protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false)
6499public ImmutableArray<BoundNode> Elements { get; }
6504public BoundUnconvertedCollectionExpression(SyntaxNode syntax, BoundUnconvertedWithElement? withElement, ImmutableArray<BoundNode> elements, bool hasErrors = false)
6517public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedCollectionExpression(this);
6519public BoundUnconvertedCollectionExpression Update(BoundUnconvertedWithElement? withElement, ImmutableArray<BoundNode> elements)
6549public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedWithElement(this);
6565public BoundCollectionExpression(SyntaxNode syntax, CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundCollectionBuilderElementsPlaceholder? collectionBuilderElementsPlaceholder, bool wasTargetTyped, bool hasWithElement, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type, bool hasErrors = false)
6598public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpression(this);
6600public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundCollectionBuilderElementsPlaceholder? collectionBuilderElementsPlaceholder, bool wasTargetTyped, bool hasWithElement, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type)
6626public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadExpressionPlaceholder(this);
6666public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadElement(this);
6711public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this);
6741public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this);
6784public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this);
6816public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this);
6863public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this);
6912public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this);
6957public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this);
6985public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this);
7030public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this);
7062public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this);
7097public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this);
7133public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this);
7173public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this);
7203public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this);
7239public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this);
7271public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this);
7302public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this);
7348public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this);
7377public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this);
7417public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this);
7457public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this);
7495public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this);
7531public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this);
7582public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this);
7631public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this);
7672public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this);
7712public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this);
7752public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this);
7796public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this);
7837public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this);
7863public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this);
7900public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this);
7942public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this);
7970public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this);
7998public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this);
8036public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this);
8071public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this);
8115public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this);
8186public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this);
8228public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPatternWithUnionMatching(this);
8268public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this);
8323public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this);
8364public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this);
8408public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this);
8447public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this);
8489public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this);
8535public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this);
8565public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this);
8597public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this);
8635public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this);
8674public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this);
8708public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this);
8749public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this);
8784public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this);
8812public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this);
8855public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this);
8881public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this);
8916public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this);
8952public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this);
8982public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this);
9013public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this);
9038public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValueForNullableAnalysis(this);
9073public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this);
9091internal R VisitInternal(BoundNode node, A arg)
9818public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node);
9819public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node);
9820public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node);
9821public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node);
9822public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node);
9823public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node);
9824public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node);
9825public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node);
9826public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node);
9827public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node);
9828public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node);
9829public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node);
9830public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node);
9831public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node);
9832public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node);
9833public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node);
9834public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node);
9835public virtual BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) => this.DefaultVisit(node);
9836public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node);
9837public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node);
9838public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node);
9839public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node);
9840public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node);
9841public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node);
9842public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node);
9843public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node);
9844public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node);
9845public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node);
9846public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node);
9847public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node);
9848public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node);
9849public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node);
9850public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node);
9851public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node);
9852public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node);
9853public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node);
9854public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node);
9855public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node);
9856public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node);
9857public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node);
9858public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node);
9859public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node);
9860public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node);
9861public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
9862public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node);
9863public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node);
9864public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node);
9865public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node);
9866public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node);
9867public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node);
9868public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node);
9869public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node);
9870public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node);
9871public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node);
9872public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node);
9873public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node);
9874public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node);
9875public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node);
9876public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node);
9877public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node);
9878public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node);
9879public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node);
9880public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node);
9881public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node);
9882public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node);
9883public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node);
9884public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node);
9885public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node);
9886public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node);
9887public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node);
9888public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node);
9889public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node);
9890public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node);
9891public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node);
9892public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node);
9893public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node);
9894public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node);
9895public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node);
9896public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node);
9897public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node);
9898public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node);
9899public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node);
9900public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node);
9901public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node);
9902public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node);
9903public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node);
9904public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node);
9905public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node);
9906public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node);
9907public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node);
9908public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node);
9909public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node);
9910public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node);
9911public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node);
9912public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node);
9913public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node);
9914public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node);
9915public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node);
9916public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node);
9917public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node);
9918public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node);
9919public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node);
9920public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node);
9921public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node);
9922public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node);
9923public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node);
9924public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node);
9925public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node);
9926public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node);
9927public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node);
9928public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node);
9929public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node);
9930public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node);
9931public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node);
9932public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node);
9933public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node);
9934public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node);
9935public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node);
9936public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node);
9937public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node);
9938public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node);
9939public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node);
9940public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node);
9941public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node);
9942public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node);
9943public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node);
9944public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node);
9945public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node);
9946public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node);
9947public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node);
9948public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node);
9949public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node);
9950public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node);
9951public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node);
9952public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node);
9953public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node);
9954public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node);
9955public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node);
9956public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node);
9957public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node);
9958public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node);
9959public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node);
9960public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node);
9961public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node);
9962public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node);
9963public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node);
9964public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node);
9965public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node);
9966public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node);
9967public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node);
9968public virtual BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node) => this.DefaultVisit(node);
9969public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node);
9970public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node);
9971public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node);
9972public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node);
9973public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node);
9974public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node);
9975public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node);
9976public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node);
9977public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node);
9978public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node);
9979public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node);
9980public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node);
9981public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node);
9982public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node);
9983public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node);
9984public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node);
9985public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node);
9986public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node);
9987public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node);
9988public virtual BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node) => this.DefaultVisit(node);
9989public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node);
9990public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node);
9991public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node);
9992public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node);
9993public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node);
9994public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node);
9995public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node);
9996public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node);
9997public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node);
9998public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node);
9999public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node);
10000public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node);
10001public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node);
10002public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node);
10003public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node);
10004public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node);
10005public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node);
10006public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node);
10007public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node);
10008public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node);
10009public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node);
10010public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node);
10011public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node);
10012public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node);
10013public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node);
10014public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node);
10015public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node);
10016public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node);
10017public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node);
10018public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node);
10019public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node);
10020public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node);
10021public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node);
10022public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node);
10023public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node);
10024public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node);
10025public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node);
10026public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node);
10027public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node);
10028public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node);
10029public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node);
10030public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node);
10031public virtual BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) => this.DefaultVisit(node);
10032public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node);
10033public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node);
10034public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node);
10035public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node);
10036public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node);
10037public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node);
10038public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node);
10039public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node);
10040public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node);
10041public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node);
10042public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node);
10043public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node);
10044public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node);
10045public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node);
10046public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node);
10047public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node);
10048public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node);
10049public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node);
10050public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node);
10051public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node);
10052public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node);
10053public virtual BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node) => this.DefaultVisit(node);
10054public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node);
10059public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
10064public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
10069public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
10074public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
10079public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null;
10080public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
10085public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null;
10086public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null;
10087public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null;
10088public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null;
10089public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null;
10090public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null;
10091public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => null;
10092public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null;
10093public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null;
10094public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null;
10095public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null;
10096public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) => null;
10097public override BoundNode? VisitDup(BoundDup node) => null;
10098public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
10103public override BoundNode? VisitBadExpression(BoundBadExpression node)
10108public override BoundNode? VisitBadStatement(BoundBadStatement node)
10113public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
10118public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
10124public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null;
10125public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null;
10126public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
10131public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
10136public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
10141public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
10146public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null;
10147public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
10152public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
10158public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
10164public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
10169public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
10174public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
10179public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
10184public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
10190public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
10196public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
10202public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
10208public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
10214public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
10220public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
10226public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
10232public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
10238public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
10245public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
10252public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
10258public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
10263public override BoundNode? VisitArrayLength(BoundArrayLength node)
10268public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
10276public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
10282public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
10287public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
10293public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null;
10294public override BoundNode? VisitLocalId(BoundLocalId node) => null;
10295public override BoundNode? VisitParameterId(BoundParameterId node) => null;
10296public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null;
10297public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null;
10298public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null;
10299public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null;
10300public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null;
10301public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null;
10302public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null;
10303public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null;
10304public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null;
10305public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null;
10306public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null;
10307public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null;
10308public override BoundNode? VisitIsOperator(BoundIsOperator node)
10314public override BoundNode? VisitAsOperator(BoundAsOperator node)
10320public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
10325public override BoundNode? VisitConversion(BoundConversion node)
10330public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
10335public override BoundNode? VisitArgList(BoundArgList node) => null;
10336public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
10341public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
10346public override BoundNode? VisitSequencePoint(BoundSequencePoint node)
10351public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
10356public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null;
10357public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null;
10358public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null;
10359public override BoundNode? VisitBlock(BoundBlock node)
10365public override BoundNode? VisitScope(BoundScope node)
10370public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
10375public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
10382public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
10387public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
10393public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
10399public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null;
10400public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
10405public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
10410public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null;
10411public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
10416public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
10421public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => null;
10422public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => null;
10423public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
10430public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node)
10435public override BoundNode? VisitIfStatement(BoundIfStatement node)
10442public override BoundNode? VisitDoStatement(BoundDoStatement node)
10448public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
10454public override BoundNode? VisitForStatement(BoundForStatement node)
10462public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
10471public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node)
10477public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
10485public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
10491public override BoundNode? VisitLockStatement(BoundLockStatement node)
10497public override BoundNode? VisitTryStatement(BoundTryStatement node)
10504public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
10512public override BoundNode? VisitLiteral(BoundLiteral node) => null;
10513public override BoundNode? VisitUtf8String(BoundUtf8String node) => null;
10514public override BoundNode? VisitThisReference(BoundThisReference node) => null;
10515public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null;
10516public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null;
10517public override BoundNode? VisitBaseReference(BoundBaseReference node) => null;
10518public override BoundNode? VisitLocal(BoundLocal node) => null;
10519public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null;
10520public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
10525public override BoundNode? VisitParameter(BoundParameter node) => null;
10526public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null;
10527public override BoundNode? VisitGotoStatement(BoundGotoStatement node)
10533public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node)
10538public override BoundNode? VisitLabel(BoundLabel node) => null;
10539public override BoundNode? VisitStatementList(BoundStatementList node)
10544public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node)
10549public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
10556public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
10562public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
10568public override BoundNode? VisitDecisionDag(BoundDecisionDag node)
10573public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node)
10579public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node)
10586public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node)
10593public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null;
10594public override BoundNode? VisitDagTemp(BoundDagTemp node)
10599public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node)
10604public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node)
10609public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node)
10614public override BoundNode? VisitDagValueTest(BoundDagValueTest node)
10619public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node)
10624public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
10629public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node)
10634public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
10639public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
10644public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
10649public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
10658public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
10667public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node)
10673public override BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node)
10678public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
10684public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node)
10690public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
10695public override BoundNode? VisitSequence(BoundSequence node)
10701public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
10707public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
10712public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
10718public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
10724public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
10731public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null;
10732public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
10738public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
10743public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
10748public override BoundNode? VisitCall(BoundCall node)
10754public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
10760public override BoundNode? VisitAttribute(BoundAttribute node)
10766public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
10771public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
10777public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
10783public override BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node)
10788public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
10794public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null;
10795public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
10800public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
10805public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
10810public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
10816public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
10821public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
10827public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
10832public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null;
10833public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
10839public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
10845public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
10851public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null;
10852public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
10858public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null;
10859public override BoundNode? VisitNewT(BoundNewT node)
10864public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
10869public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
10875public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
10880public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
10886public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
10892public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
10897public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null;
10898public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
10903public override BoundNode? VisitEventAccess(BoundEventAccess node)
10908public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
10914public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
10920public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
10926public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
10932public override BoundNode? VisitLambda(BoundLambda node)
10937public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null;
10938public override BoundNode? VisitQueryClause(BoundQueryClause node)
10943public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
10948public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
10953public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
10958public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
10963public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null;
10964public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null;
10965public override BoundNode? VisitStringInsert(BoundStringInsert node)
10972public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
10978public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
10983public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node)
10990public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null;
10991public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
10997public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
11005public override BoundNode? VisitListPattern(BoundListPattern node)
11011public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
11016public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
11021public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
11026public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
11032public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
11037public override BoundNode? VisitTypePattern(BoundTypePattern node)
11042public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
11048public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
11053public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
11058public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null;
11059public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
11064public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
11069public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
11074public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null;
11075public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
11081public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
11088public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
11093public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
11098public override BoundNode? VisitWithExpression(BoundWithExpression node)
11108public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
11115public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
11122public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
11129public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
11134public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
11139public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
11145public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
11151public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
11156public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
11161public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
11166public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
11171public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
11176public 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)
11714public override BoundNode? VisitContinueStatement(BoundContinueStatement node)
11719public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
11730public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node)
11736public override BoundNode? VisitIfStatement(BoundIfStatement node)
11743public override BoundNode? VisitDoStatement(BoundDoStatement node)
11752public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
11761public override BoundNode? VisitForStatement(BoundForStatement node)
11773public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
11787public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node)
11793public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
11802public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
11809public override BoundNode? VisitLockStatement(BoundLockStatement node)
11815public override BoundNode? VisitTryStatement(BoundTryStatement node)
11823public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
11833public override BoundNode? VisitLiteral(BoundLiteral node)
11838public override BoundNode? VisitUtf8String(BoundUtf8String node)
11843public override BoundNode? VisitThisReference(BoundThisReference node)
11848public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
11853public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
11858public override BoundNode? VisitBaseReference(BoundBaseReference node)
11863public override BoundNode? VisitLocal(BoundLocal node)
11869public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
11875public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
11882public override BoundNode? VisitParameter(BoundParameter node)
11888public override BoundNode? VisitLabelStatement(BoundLabelStatement node)
11893public override BoundNode? VisitGotoStatement(BoundGotoStatement node)
11900public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node)
11906public override BoundNode? VisitLabel(BoundLabel node)
11912public override BoundNode? VisitStatementList(BoundStatementList node)
11917public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node)
11923public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
11932public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
11941public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
11951public override BoundNode? VisitDecisionDag(BoundDecisionDag node)
11956public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node)
11962public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node)
11969public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node)
11976public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node)
11981public override BoundNode? VisitDagTemp(BoundDagTemp node)
11987public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node)
11993public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node)
11998public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node)
12003public override BoundNode? VisitDagValueTest(BoundDagValueTest node)
12008public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node)
12013public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
12019public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node)
12025public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
12031public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
12037public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
12043public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
12053public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
12063public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node)
12069public override BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node)
12074public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
12081public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node)
12088public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
12094public override BoundNode? VisitSequence(BoundSequence node)
12102public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
12110public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
12116public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
12124public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
12131public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
12140public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
12145public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
12152public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
12161public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
12168public override BoundNode? VisitCall(BoundCall node)
12177public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
12185public override BoundNode? VisitAttribute(BoundAttribute node)
12193public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
12199public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
12208public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
12211ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
12215public override BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node)
12220public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
12227ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
12231public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
12236public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
12246public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
12252public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
12259public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
12267public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
12273public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
12280public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
12288public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
12294public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
12301public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
12309public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
12317public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
12322public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
12330public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
12336public override BoundNode? VisitNewT(BoundNewT node)
12342public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
12349public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
12356public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
12362public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
12370public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
12378public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
12385public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node)
12391public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
12398public override BoundNode? VisitEventAccess(BoundEventAccess node)
12405public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
12414public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
12425public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
12432public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
12440public override BoundNode? VisitLambda(BoundLambda node)
12448public override BoundNode? VisitUnboundLambda(UnboundLambda node)
12454public override BoundNode? VisitQueryClause(BoundQueryClause node)
12464public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
12469public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
12475public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
12481public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
12487public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
12492public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
12497public override BoundNode? VisitStringInsert(BoundStringInsert node)
12505public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
12515public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
12522public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node)
12532public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
12538public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
12547public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
12559public override BoundNode? VisitListPattern(BoundListPattern node)
12572public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
12582public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
12591public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
12597public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
12603public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
12610public override BoundNode? VisitTypePattern(BoundTypePattern node)
12617public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
12625public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
12632public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
12639public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
12644public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
12650public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
12657public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
12664public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
12670public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
12676public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
12684public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
12690public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
12696public override BoundNode? VisitWithExpression(BoundWithExpression node)
12719public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
12727public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
12735public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
12743public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
12755public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
12772public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
12789public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
12801public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
12813public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
12825public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
12837public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
12849public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
12861public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node)
12873public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node)
12885public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node)
12897public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
12909public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node)
12921public override BoundNode? VisitDup(BoundDup node)
12933public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
12950public override BoundNode? VisitBadExpression(BoundBadExpression node)
12968public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12986public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
13003public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
13015public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
13035public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
13059public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
13076public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
13093public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
13111public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
13128public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
13146public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
13164public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
13182public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
13199public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
13216public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
13234public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
13253public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
13271public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
13289public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
13307public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
13327public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
13345public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
13364public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
13384public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
13402public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
13419public override BoundNode? VisitArrayLength(BoundArrayLength node)
13436public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
13447public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
13465public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
13483public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
13491public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
13508public override BoundNode? VisitLocalId(BoundLocalId node)
13526public override BoundNode? VisitParameterId(BoundParameterId node)
13544public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
13556public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
13568public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
13580public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
13592public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
13604public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node)
13616public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node)
13628public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
13640public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
13658public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
13676public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
13688public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
13705public override BoundNode? VisitIsOperator(BoundIsOperator node)
13723public override BoundNode? VisitAsOperator(BoundAsOperator node)
13743public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
13760public override BoundNode? VisitConversion(BoundConversion node)
13777public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
13795public override BoundNode? VisitArgList(BoundArgList node)
13807public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
13824public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
13845public override BoundNode? VisitBlock(BoundBlock node)
13854public override BoundNode? VisitScope(BoundScope node)
13861public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
13868public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
13877public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
13885public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
13896public override BoundNode? VisitDoStatement(BoundDoStatement node)
13904public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
13912public override BoundNode? VisitForStatement(BoundForStatement node)
13923public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
13936public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
13946public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
13954public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
13965public override BoundNode? VisitLiteral(BoundLiteral node)
13977public override BoundNode? VisitUtf8String(BoundUtf8String node)
13989public override BoundNode? VisitThisReference(BoundThisReference node)
14001public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
14013public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
14025public override BoundNode? VisitBaseReference(BoundBaseReference node)
14037public override BoundNode? VisitLocal(BoundLocal node)
14054public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
14071public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
14089public override BoundNode? VisitParameter(BoundParameter node)
14106public override BoundNode? VisitLabel(BoundLabel node)
14118public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
14127public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
14146public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
14166public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
14173public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
14180public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
14187public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
14194public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
14205public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
14216public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
14224public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
14241public override BoundNode? VisitSequence(BoundSequence node)
14260public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
14279public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
14296public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
14315public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
14333public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
14353public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
14365public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
14383public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
14403public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
14421public override BoundNode? VisitCall(BoundCall node)
14441public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
14460public override BoundNode? VisitAttribute(BoundAttribute node)
14479public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
14496public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
14516public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
14519ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14534public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
14541ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14556public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
14568public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
14585public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
14603public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
14622public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
14639public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
14657public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
14676public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
14693public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
14711public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
14730public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
14749public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
14761public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
14780public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
14797public override BoundNode? VisitNewT(BoundNewT node)
14814public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
14832public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
14850public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
14867public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
14886public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
14905public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
14923public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node)
14940public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
14958public override BoundNode? VisitEventAccess(BoundEventAccess node)
14976public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
14996public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
15014public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
15033public override BoundNode? VisitLambda(BoundLambda node)
15052public override BoundNode? VisitUnboundLambda(UnboundLambda node)
15069public override BoundNode? VisitQueryClause(BoundQueryClause node)
15090public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
15107public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
15124public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
15141public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
15153public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
15165public override BoundNode? VisitStringInsert(BoundStringInsert node)
15184public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
15203public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
15211public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node)
15222public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
15229public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
15239public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
15252public override BoundNode? VisitListPattern(BoundListPattern node)
15266public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
15277public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
15287public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
15294public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
15301public override BoundNode? VisitTypePattern(BoundTypePattern node)
15309public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
15317public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
15325public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
15337public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
15354public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
15372public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
15390public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
15407public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
15416public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
15433public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node)
15450public override BoundNode? VisitWithExpression(BoundWithExpression node)
15475public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\ClosureConversion\ClosureConversion.cs (33)
88private readonly Dictionary<BoundNode, Analysis.ClosureEnvironment> _frames = new Dictionary<BoundNode, Analysis.ClosureEnvironment>();
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);