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;
2942return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
2953return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true);
3658public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics)
3687private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3692private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics)
3716private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics)
3751private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics)
4058private 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)
725BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition
755BoundNode boundNode = GetSpeculativelyBoundAttribute(position, attribute, out binder); //calls CheckAndAdjustPosition
1055BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out _, out crefSymbols); //calls CheckAndAdjustPosition
1202BoundNode boundNode = GetSpeculativelyBoundExpression(position, nameSyntax, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition
1882BoundNode lowestBoundNode,
1883BoundNode highestBoundNode,
1884BoundNode boundNodeForSyntacticParent,
2030BoundNode lowestBoundNode,
2031BoundNode highestBoundNode,
2032BoundNode boundNodeForSyntacticParent)
2141conversion = BoundNode.GetConversion(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder);
2288BoundNode lowestBoundNode,
2289BoundNode boundNodeForSyntacticParent,
2310BoundNode lowestBoundNode,
2402internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
3357BoundNode boundNodeForSyntacticParent,
3983BoundNode boundNodeForSyntacticParent,
4034BoundNode lowestBoundNode,
4254BoundNode boundNodeForSyntacticParent,
4407BoundNode boundNodeForSyntacticParent,
Compilation\MemberSemanticModel.cs (62)
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));
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;
2511private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node)
2515OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node);
2527public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
2529BoundNode boundNode = TryGetBoundNodeFromMap(node);
FlowAnalysis\AbstractFlowPass.cs (200)
65protected readonly BoundNode methodMainNode;
171protected readonly BoundNode firstInRegion, lastInRegion;
184BoundNode node,
185BoundNode firstInRegion = null,
186BoundNode lastInRegion = null,
259private void EnterRegionIfNeeded(BoundNode node)
276private void LeaveRegionIfNeeded(BoundNode node)
340public override BoundNode Visit(BoundNode node)
345protected BoundNode VisitAlways(BoundNode node)
347BoundNode result = null;
361private BoundNode VisitWithStackGuard(BoundNode node)
372protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node)
393public readonly BoundNode Branch;
402public PendingBranch(BoundNode branch, TLocalState state, LabelSymbol label, bool isConditionalState = false, TLocalState stateWhenTrue = default, TLocalState stateWhenFalse = default)
761protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target)
894public override BoundNode DefaultVisit(BoundNode node)
901public override BoundNode VisitAttribute(BoundAttribute node)
907public override BoundNode VisitThrowExpression(BoundThrowExpression node)
914public override BoundNode VisitPassByCopy(BoundPassByCopy node)
920public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node)
1107public override BoundNode VisitConstantPattern(BoundConstantPattern node)
1113public override BoundNode VisitBinaryPattern(BoundBinaryPattern node)
1119public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
1124public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
1129private BoundNode VisitTupleExpression(BoundTupleExpression node)
1135public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
1142public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
1149public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
1156public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
1162public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node)
1170protected BoundNode? VisitInterpolatedStringBase(BoundInterpolatedStringBase node, InterpolatedStringHandlerData? data)
1201public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
1206public override BoundNode VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
1212public override BoundNode VisitStringInsert(BoundStringInsert node)
1228public override BoundNode VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
1233public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
1238public override BoundNode VisitArgList(BoundArgList node)
1245public override BoundNode VisitArgListOperator(BoundArgListOperator node)
1252public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node)
1258public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node)
1267public override BoundNode VisitRefValueOperator(BoundRefValueOperator node)
1273public override BoundNode VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
1279public override BoundNode VisitLambda(BoundLambda node) => null;
1281public override BoundNode VisitLocal(BoundLocal node)
1287public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node)
1304public override BoundNode VisitBlock(BoundBlock node)
1318public override BoundNode VisitScope(BoundScope node)
1324public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
1330public override BoundNode VisitCall(BoundCall node)
1480public override BoundNode VisitIndexerAccess(BoundIndexerAccess node)
1493public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
1506public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
1582public override BoundNode VisitBadExpression(BoundBadExpression node)
1592public override BoundNode VisitBadStatement(BoundBadStatement node)
1594foreach (var child in node.ChildBoundNodes)
1609public override BoundNode VisitArrayInitialization(BoundArrayInitialization node)
1619public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
1649public override BoundNode VisitTypeExpression(BoundTypeExpression node)
1654public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
1662public override BoundNode VisitLiteral(BoundLiteral node)
1668public override BoundNode VisitUtf8String(BoundUtf8String node)
1691public override BoundNode VisitLocalId(BoundLocalId node)
1696public override BoundNode VisitParameterId(BoundParameterId node)
1701public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node)
1706public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
1711public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
1716public override BoundNode VisitModuleVersionId(BoundModuleVersionId node)
1721public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node)
1726public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
1731public override BoundNode VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
1736public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
1741public override BoundNode VisitConversion(BoundConversion node)
1772public sealed override BoundNode VisitIfStatement(BoundIfStatement node)
1823public override BoundNode VisitTryStatement(BoundTryStatement node)
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)
2081public override BoundNode VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
2087private void VisitCollectionExpression(ImmutableArray<BoundNode> elements)
2089foreach (var element in elements)
2102public override BoundNode VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
2108public override BoundNode VisitNewT(BoundNewT node)
2114public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
2139public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
2173public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
2180public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
2186public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
2231public override BoundNode VisitFieldAccess(BoundFieldAccess node)
2258public override BoundNode VisitFieldInfo(BoundFieldInfo node)
2263public override BoundNode VisitMethodInfo(BoundMethodInfo node)
2268public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
2298public override BoundNode VisitEventAccess(BoundEventAccess node)
2304public override BoundNode VisitRangeVariable(BoundRangeVariable node)
2309public override BoundNode VisitQueryClause(BoundQueryClause node)
2315private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node)
2325public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
2330public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
2339public override BoundNode VisitWhileStatement(BoundWhileStatement node)
2354public override BoundNode VisitWithExpression(BoundWithExpression node)
2361public override BoundNode VisitArrayAccess(BoundArrayAccess node)
2372public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node)
2391public override BoundNode VisitBinaryOperator(BoundBinaryOperator node)
2410public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
2786public override BoundNode VisitUnaryOperator(BoundUnaryOperator node)
2802public override BoundNode VisitRangeExpression(BoundRangeExpression node)
2817public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
2823public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
2830public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
2854public override BoundNode VisitArrayCreation(BoundArrayCreation node)
2865public override BoundNode VisitForStatement(BoundForStatement node)
2898public override BoundNode VisitForEachStatement(BoundForEachStatement node)
2927public override BoundNode VisitAsOperator(BoundAsOperator node)
2933public override BoundNode VisitIsOperator(BoundIsOperator node)
2948public override BoundNode VisitMethodGroup(BoundMethodGroup node)
2961public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
3137public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
3145public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
3164public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node)
3169public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
3183public override BoundNode VisitSequence(BoundSequence node)
3198public override BoundNode VisitSequencePoint(BoundSequencePoint node)
3208public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node)
3214public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
3224public override BoundNode VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
3229public override BoundNode VisitStatementList(BoundStatementList node)
3234private BoundNode VisitStatementListWorker(BoundStatementList node)
3244public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
3249public override BoundNode VisitUnboundLambda(UnboundLambda node)
3255public override BoundNode VisitBreakStatement(BoundBreakStatement node)
3263public override BoundNode VisitContinueStatement(BoundContinueStatement node)
3271public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
3276public override BoundNode VisitConditionalOperator(BoundConditionalOperator node)
3283protected virtual BoundNode? VisitConditionalOperatorCore(
3347public override BoundNode VisitBaseReference(BoundBaseReference node)
3352public override BoundNode VisitDoStatement(BoundDoStatement node)
3366public override BoundNode VisitGotoStatement(BoundGotoStatement node)
3389public override BoundNode VisitLabelStatement(BoundLabelStatement node)
3395public override BoundNode VisitLabeledStatement(BoundLabeledStatement node)
3402public override BoundNode VisitLockStatement(BoundLockStatement node)
3409public override BoundNode VisitNoOpStatement(BoundNoOpStatement node)
3414public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node)
3419public override BoundNode VisitUsingStatement(BoundUsingStatement node)
3442public override BoundNode VisitFixedStatement(BoundFixedStatement node)
3449public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
3455public override BoundNode VisitThrowStatement(BoundThrowStatement node)
3463public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node)
3471public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node)
3478public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node)
3483public override BoundNode VisitDefaultExpression(BoundDefaultExpression node)
3488public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
3493public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node)
3499public override BoundNode VisitNameOfOperator(BoundNameOfOperator node)
3508public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
3528public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
3534public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node)
3541public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node)
3546private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node)
3553public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
3558public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
3563public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
3571public override BoundNode VisitArrayLength(BoundArrayLength node)
3577public override BoundNode VisitConditionalGoto(BoundConditionalGoto node)
3595public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
3600public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
3605private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers)
3615public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node)
3634public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
3639public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
3662public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
3668public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node)
3673public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node)
3679public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
3685public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node)
3691public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
3696public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
3701public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
3706public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node)
3711public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
3716public override BoundNode VisitDiscardExpression(BoundDiscardExpression node)
3727public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node)
3734public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
3740public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
3773public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
3779public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
3786public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
3811public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node)
3816public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node)
3821public 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 (49)
170BoundNode node,
195BoundNode node,
217BoundNode node,
218BoundNode firstInRegion,
219BoundNode lastInRegion,
236BoundNode node)
504BoundNode node,
735private void NoteRead(BoundNode fieldOrEventAccess)
738BoundNode n = fieldOrEventAccess;
1468protected void Assign(BoundNode node, BoundExpression value, bool isRef = false, bool read = true)
1485protected virtual void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read)
2087public override BoundNode? VisitBlock(BoundBlock node)
2172public override BoundNode VisitSwitchStatement(BoundSwitchStatement node)
2175var result = base.VisitSwitchStatement(node);
2187public override BoundNode VisitForStatement(BoundForStatement node)
2191var result = base.VisitForStatement(node);
2197public override BoundNode VisitDoStatement(BoundDoStatement node)
2200var result = base.VisitDoStatement(node);
2205public override BoundNode VisitWhileStatement(BoundWhileStatement node)
2208var result = base.VisitWhileStatement(node);
2216public override BoundNode VisitUsingStatement(BoundUsingStatement node)
2220var result = base.VisitUsingStatement(node);
2237public override BoundNode VisitFixedStatement(BoundFixedStatement node)
2243public override BoundNode VisitSequence(BoundSequence node)
2246var result = base.VisitSequence(node);
2307public override BoundNode VisitLocal(BoundLocal node)
2338public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node)
2349var result = base.VisitLocalDeclaration(node);
2357public override BoundNode VisitLocalId(BoundLocalId node)
2360public override BoundNode VisitParameterId(BoundParameterId node)
2363public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
2366public override BoundNode VisitMethodGroup(BoundMethodGroup node)
2378public override BoundNode VisitLambda(BoundLambda node)
2424public override BoundNode VisitThisReference(BoundThisReference node)
2431public override BoundNode VisitParameter(BoundParameter node)
2445public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
2452public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
2459public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
2466public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
2475public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
2493public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
2629public override BoundNode VisitBaseReference(BoundBaseReference node)
2653public override BoundNode VisitFieldAccess(BoundFieldAccess node)
2655var result = base.VisitFieldAccess(node);
2679public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
2681var result = base.VisitPropertyAccess(node);
2702public override BoundNode VisitEventAccess(BoundEventAccess node)
2704var result = base.VisitEventAccess(node);
2733public 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 (209)
486BoundNode node,
1447BoundNode node,
1474BoundNode node,
1514internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody)
1532internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics)
1570private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody)
1585BoundNode node,
1597internal static BoundNode AnalyzeAndRewrite(
1600BoundNode node,
1616BoundNode node,
1673internal static BoundNode AnalyzeAndRewriteSpeculation(
1675BoundNode node,
1721private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols)
1731var rewrittenNode = rewriter.Visit(node);
1755BoundNode node,
1837BoundNode node,
1947private void TakeIncrementalSnapshot(BoundNode? node)
1953private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol)
2295private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode
2309private void VisitWithoutDiagnostics(BoundNode? node)
3024public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue)
3059public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node)
3195public override BoundNode? VisitLocal(BoundLocal node)
3226public override BoundNode? VisitBlock(BoundBlock node)
3331public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
3553public override BoundNode? VisitDoStatement(BoundDoStatement node)
3559public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
3565public override BoundNode? VisitWithExpression(BoundWithExpression withExpr)
3585public override BoundNode? VisitForStatement(BoundForStatement node)
3592public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
3598public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
3605public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
3611public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
3617public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
3644public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
3706protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node)
3798public override BoundNode? Visit(BoundNode? node)
3803private BoundNode VisitLValue(BoundNode node)
3822private BoundNode Visit(BoundNode? node, bool expressionIsRead)
3831var result = base.Visit(node);
3844public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
3850public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
3858public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
3861var result = base.VisitUnconvertedCollectionExpression(node);
3866public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
3876foreach (var element in node.Elements)
3903void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Func<TypeWithAnnotations, TypeSymbol, TypeWithState>> elementConversionCompletions)
4059public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
4759public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
4820public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
4976BoundNode node,
5054public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
5088public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
5877public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
5914public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
6198public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
6204protected override BoundNode? VisitConditionalOperatorCore(
6495public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
6506public override BoundNode? VisitCall(BoundCall node)
6702BoundNode node,
7196private static bool HasImplicitTypeArguments(BoundNode node)
7262BoundNode node,
7284BoundNode node,
7323BoundNode node,
7513BoundNode node,
8566var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length);
8898public override BoundNode? VisitConversion(BoundConversion node)
9035public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
9041public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
9264public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
10236public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
10412public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
10507public override BoundNode? VisitLambda(BoundLambda node)
10556public override BoundNode? VisitUnboundLambda(UnboundLambda node)
10566public override BoundNode? VisitThisReference(BoundThisReference node)
10579public override BoundNode? VisitParameter(BoundParameter node)
10589public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
10768public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
10773private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt)
10885var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
10926var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder);
11085public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
11204BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder),
11234BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder),
11262public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
11358BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder),
11372BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder),
11393public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
11410public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
11457public override BoundNode? VisitBaseReference(BoundBaseReference node)
11463public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
11472private (PropertySymbol updatedProperty, bool returnNotNull) ReInferAndVisitExtensionPropertyAccess(BoundNode node, PropertySymbol property, BoundExpression receiver)
11491public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
11528public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
11552public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
11566public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
11574public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
11580public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
11586public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
11592public override BoundNode? VisitEventAccess(BoundEventAccess node)
11701BoundNode node,
11970Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder);
12007public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
12009var result = base.VisitFromEndIndexExpression(node);
12014public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
12020public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
12026public override BoundNode? VisitBadExpression(BoundBadExpression node)
12055public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12057var result = base.VisitTypeExpression(node);
12068public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
12071var result = base.VisitTypeOrValueExpression(node);
12076public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
12187public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
12189var result = base.VisitPointerIndirectionOperator(node);
12195public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
12197var result = base.VisitPointerElementAccess(node);
12203public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
12210public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
12212var result = base.VisitMakeRefOperator(node);
12217public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
12219var result = base.VisitRefValueOperator(node);
12356BoundNode.GetConversion(binary.TrueFalseOperandConversion, binary.TrueFalseOperandPlaceholder),
12380public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
12382var result = base.VisitAwaitExpression(node);
12411public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
12413var result = base.VisitTypeOfOperator(node);
12418public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
12420var result = base.VisitMethodInfo(node);
12425public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
12427var result = base.VisitFieldInfo(node);
12432public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
12435var result = base.VisitDefaultLiteral(node);
12440public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
12444var result = base.VisitDefaultExpression(node);
12460public override BoundNode? VisitIsOperator(BoundIsOperator node)
12494public override BoundNode? VisitAsOperator(BoundAsOperator node)
12502switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind)
12522public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
12524var result = base.VisitSizeOfOperator(node);
12530public override BoundNode? VisitArgList(BoundArgList node)
12532var result = base.VisitArgList(node);
12538public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
12546public override BoundNode? VisitLiteral(BoundLiteral node)
12549var result = base.VisitLiteral(node);
12554public override BoundNode? VisitUtf8String(BoundUtf8String node)
12557var result = base.VisitUtf8String(node);
12562public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
12564var result = base.VisitPreviousSubmissionReference(node);
12570public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
12572var result = base.VisitHostObjectMemberReference(node);
12578public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
12580var result = base.VisitPseudoVariable(node);
12585public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
12587var result = base.VisitRangeExpression(node);
12592public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
12599public override BoundNode? VisitLabel(BoundLabel node)
12601var result = base.VisitLabel(node);
12606public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
12618public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
12638public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
12664public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
12670public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
12678public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
12686public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
12694public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
12696var result = base.VisitImplicitReceiver(node);
12701public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
12706public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
12712public override BoundNode? VisitNewT(BoundNewT node)
12718public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
12720var result = base.VisitArrayInitialization(node);
12730public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
12824public override BoundNode? VisitQueryClause(BoundQueryClause node)
12826var result = base.VisitQueryClause(node);
12831public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
12833var result = base.VisitNameOfOperator(node);
12838public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
12840var result = base.VisitNamespaceExpression(node);
12845public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
12848var result = base.VisitUnconvertedInterpolatedString(node);
12853public override BoundNode? VisitStringInsert(BoundStringInsert node)
12855var result = base.VisitStringInsert(node);
12866public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
12874public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
12880public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
12886public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
12891private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node)
12908public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
12916public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
12923public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
12946public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
12984public override BoundNode? VisitLockStatement(BoundLockStatement node)
12992public override BoundNode? VisitAttribute(BoundAttribute node)
13005public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
13012public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
13020public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
13028public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
13051public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
13058public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
13626private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)>
13632public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y)
13643public int GetHashCode((BoundNode? expr, Symbol symbol) obj)
FlowAnalysis\NullableWalker.SnapshotManager.cs (11)
31private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol> _updatedSymbolsMap;
35private SnapshotManager(ImmutableArray<SharedWalkerState> walkerSharedStates, ImmutableArray<(int position, Snapshot snapshot)> incrementalSnapshots, ImmutableDictionary<(BoundNode?, Symbol), Symbol> updatedSymbolsMap)
82internal bool TryGetUpdatedSymbol(BoundNode node, Symbol symbol, [NotNullWhen(true)] out Symbol? updatedSymbol)
104internal void VerifyNode(BoundNode node)
148private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol>.Builder _updatedSymbolMap = ImmutableDictionary.CreateBuilder<(BoundNode?, Symbol), Symbol>(ExpressionAndSymbolEqualityComparer.Instance, Symbols.SymbolEqualityComparer.ConsiderEverything);
208internal void TakeIncrementalSnapshot(BoundNode? node, LocalState currentState)
220internal void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol)
228internal void RemoveSymbolIfPresent(BoundNode node, Symbol symbol)
233private static (BoundNode?, Symbol) GetKey(BoundNode node, Symbol symbol)
FlowAnalysis\ReadWriteWalker.cs (11)
22CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes,
70private ReadWriteWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion,
236protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read)
283public override BoundNode VisitUnboundLambda(UnboundLambda node)
288public override BoundNode VisitRangeVariable(BoundRangeVariable node)
300private static ParameterSymbol GetRangeVariableUnderlyingParameter(BoundNode underlying)
319public override BoundNode VisitQueryClause(BoundQueryClause node)
Generated\BoundNodes.xml.Generated.cs (1126)
304public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldEqualsValue(this);
334public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyEqualsValue(this);
364public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterEqualsValue(this);
392public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGlobalStatementInitializer(this);
465public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValuePlaceholder(this);
495public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCapturedReceiverPlaceholder(this);
536public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructValuePlaceholder(this);
571public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleOperandPlaceholder(this);
600public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableValuePlaceholder(this);
635public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDisposableValuePlaceholder(this);
673public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectOrCollectionValuePlaceholder(this);
708public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerValuePlaceholder(this);
746public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this);
781public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this);
816public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this);
851public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this);
886public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this);
917public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this);
945public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this);
978public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this);
994public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false)
1003public ImmutableArray<BoundNode> ChildBoundNodes { get; }
1006public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this);
1008public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes)
1034public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this);
1069public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this);
1107public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this);
1148public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this);
1190public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this);
1238public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this);
1270public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this);
1299public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this);
1342public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this);
1374public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this);
1411public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this);
1448public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this);
1480public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this);
1510public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this);
1542public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this);
1574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this);
1607public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this);
1660public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this);
1698public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this);
1751public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this);
1798public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this);
1832public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this);
1867public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this);
1908public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this);
1939public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this);
1978public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this);
2022public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this);
2055public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this);
2084public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefArrayAccess(this);
2114public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this);
2155public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this);
2190public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this);
2243public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this);
2275public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this);
2319public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this);
2362public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this);
2405public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this);
2440public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this);
2475public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this);
2513public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this);
2548public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this);
2583public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this);
2618public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this);
2653public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this);
2693public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this);
2736public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this);
2779public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this);
2808public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this);
2833public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this);
2868public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this);
2905public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this);
2937public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this);
2979public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this);
3012public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this);
3047public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this);
3078public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this);
3117public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this);
3156public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this);
3183public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this);
3220public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this);
3257public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this);
3288public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this);
3324public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this);
3353public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this);
3384public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this);
3420public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this);
3460public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this);
3490public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this);
3522public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this);
3553public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this);
3582public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this);
3610public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this);
3638public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this);
3652public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this);
3680public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this);
3717public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this);
3754public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this);
3799public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this);
3835public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this);
3868public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this);
3948public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this);
3978public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this);
4020public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this);
4069public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this);
4100public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this);
4139public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this);
4173public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this);
4204public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this);
4241public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this);
4282public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this);
4313public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this);
4353public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this);
4388public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this);
4423public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this);
4458public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this);
4487public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this);
4536public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this);
4581public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this);
4614public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this);
4654public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this);
4691public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this);
4723public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this);
4754public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this);
4791public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this);
4828public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this);
4861public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this);
4924public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this);
4952public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this);
4986public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this);
5014public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this);
5059public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this);
5093public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this);
5128public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this);
5165public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this);
5211public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this);
5240public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this);
5268public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this);
5294public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this);
5323public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this);
5354public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this);
5395public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this);
5424public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this);
5453public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this);
5484public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this);
5515public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this);
5562public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this);
5611public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this);
5640public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this);
5672public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this);
5705public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this);
5747public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this);
5783public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this);
5819public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this);
5858public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this);
5911public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this);
5944public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this);
5985public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this);
6023public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this);
6056public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this);
6097public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this);
6125public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this);
6184public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this);
6223public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this);
6268public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this);
6306public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this);
6378public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this);
6394protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false)
6403public ImmutableArray<BoundNode> Elements { get; }
6408public BoundUnconvertedCollectionExpression(SyntaxNode syntax, ImmutableArray<BoundNode> elements, bool hasErrors = false)
6419public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedCollectionExpression(this);
6421public BoundUnconvertedCollectionExpression Update(ImmutableArray<BoundNode> elements)
6435public BoundCollectionExpression(SyntaxNode syntax, CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type, bool hasErrors = false)
6464public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpression(this);
6466public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type)
6492public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadExpressionPlaceholder(this);
6532public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadElement(this);
6577public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this);
6607public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this);
6650public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this);
6682public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this);
6729public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this);
6778public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this);
6823public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this);
6851public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this);
6896public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this);
6928public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this);
6963public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this);
6999public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this);
7039public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this);
7069public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this);
7105public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this);
7137public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this);
7168public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this);
7214public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this);
7243public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this);
7283public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this);
7323public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this);
7361public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this);
7397public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this);
7448public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this);
7497public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this);
7538public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this);
7578public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this);
7618public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this);
7662public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this);
7703public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this);
7729public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this);
7762public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this);
7804public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this);
7832public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this);
7860public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this);
7898public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this);
7933public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this);
7975public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this);
8040public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this);
8080public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this);
8133public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this);
8174public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this);
8218public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this);
8257public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this);
8297public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this);
8339public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this);
8369public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this);
8401public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this);
8437public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this);
8476public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this);
8510public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this);
8549public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this);
8584public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this);
8612public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this);
8655public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this);
8681public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this);
8716public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this);
8752public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this);
8782public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this);
8813public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this);
8848public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this);
8866internal R VisitInternal(BoundNode node, A arg)
9578public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node);
9579public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node);
9580public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node);
9581public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node);
9582public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node);
9583public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node);
9584public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node);
9585public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node);
9586public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node);
9587public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node);
9588public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node);
9589public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node);
9590public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node);
9591public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node);
9592public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node);
9593public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node);
9594public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node);
9595public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node);
9596public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node);
9597public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node);
9598public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node);
9599public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node);
9600public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node);
9601public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node);
9602public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node);
9603public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node);
9604public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node);
9605public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node);
9606public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node);
9607public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node);
9608public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node);
9609public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node);
9610public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node);
9611public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node);
9612public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node);
9613public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node);
9614public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node);
9615public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node);
9616public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node);
9617public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node);
9618public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node);
9619public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node);
9620public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node);
9621public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node);
9622public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node);
9623public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node);
9624public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node);
9625public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node);
9626public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node);
9627public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node);
9628public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node);
9629public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node);
9630public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node);
9631public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node);
9632public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node);
9633public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node);
9634public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node);
9635public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node);
9636public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node);
9637public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node);
9638public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node);
9639public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node);
9640public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node);
9641public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node);
9642public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node);
9643public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node);
9644public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node);
9645public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node);
9646public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node);
9647public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node);
9648public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node);
9649public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node);
9650public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node);
9651public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node);
9652public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node);
9653public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node);
9654public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node);
9655public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node);
9656public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node);
9657public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node);
9658public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node);
9659public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node);
9660public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node);
9661public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node);
9662public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node);
9663public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node);
9664public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node);
9665public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node);
9666public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node);
9667public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node);
9668public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node);
9669public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node);
9670public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node);
9671public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node);
9672public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node);
9673public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node);
9674public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node);
9675public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node);
9676public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node);
9677public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node);
9678public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node);
9679public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node);
9680public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node);
9681public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node);
9682public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node);
9683public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node);
9684public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node);
9685public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node);
9686public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node);
9687public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node);
9688public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node);
9689public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node);
9690public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node);
9691public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node);
9692public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node);
9693public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node);
9694public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node);
9695public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node);
9696public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node);
9697public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node);
9698public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node);
9699public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node);
9700public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node);
9701public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node);
9702public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node);
9703public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node);
9704public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node);
9705public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node);
9706public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node);
9707public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node);
9708public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node);
9709public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node);
9710public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node);
9711public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node);
9712public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node);
9713public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node);
9714public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node);
9715public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node);
9716public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node);
9717public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node);
9718public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node);
9719public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node);
9720public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node);
9721public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node);
9722public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node);
9723public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node);
9724public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node);
9725public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node);
9726public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node);
9727public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node);
9728public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node);
9729public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node);
9730public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node);
9731public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node);
9732public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node);
9733public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node);
9734public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node);
9735public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node);
9736public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node);
9737public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node);
9738public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node);
9739public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node);
9740public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node);
9741public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node);
9742public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node);
9743public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node);
9744public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node);
9745public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node);
9746public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node);
9747public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node);
9748public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node);
9749public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node);
9750public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node);
9751public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node);
9752public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node);
9753public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node);
9754public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node);
9755public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node);
9756public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node);
9757public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node);
9758public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node);
9759public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node);
9760public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node);
9761public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node);
9762public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node);
9763public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node);
9764public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node);
9765public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node);
9766public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node);
9767public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node);
9768public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node);
9769public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node);
9770public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node);
9771public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node);
9772public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node);
9773public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node);
9774public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node);
9775public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node);
9776public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node);
9777public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node);
9778public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node);
9779public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node);
9780public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node);
9781public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node);
9782public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node);
9783public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node);
9784public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node);
9785public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node);
9786public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node);
9787public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node);
9788public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node);
9789public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node);
9790public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node);
9791public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node);
9792public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node);
9793public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node);
9794public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node);
9795public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node);
9796public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node);
9797public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node);
9798public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node);
9799public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node);
9800public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node);
9801public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node);
9802public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node);
9803public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node);
9804public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node);
9805public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node);
9806public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node);
9807public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node);
9808public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node);
9809public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node);
9814public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
9819public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
9824public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
9829public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
9834public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null;
9835public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
9840public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null;
9841public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null;
9842public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null;
9843public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null;
9844public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null;
9845public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null;
9846public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => null;
9847public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null;
9848public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null;
9849public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null;
9850public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null;
9851public override BoundNode? VisitDup(BoundDup node) => null;
9852public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
9857public override BoundNode? VisitBadExpression(BoundBadExpression node)
9862public override BoundNode? VisitBadStatement(BoundBadStatement node)
9867public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
9872public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
9878public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null;
9879public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null;
9880public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
9885public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
9890public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
9895public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
9900public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null;
9901public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
9906public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
9912public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
9918public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
9923public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
9928public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
9933public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
9938public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
9944public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
9950public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
9956public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
9962public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
9968public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
9974public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
9980public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
9986public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
9992public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
9999public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
10006public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
10012public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
10017public override BoundNode? VisitArrayLength(BoundArrayLength node)
10022public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
10030public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
10036public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
10041public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
10047public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null;
10048public override BoundNode? VisitLocalId(BoundLocalId node) => null;
10049public override BoundNode? VisitParameterId(BoundParameterId node) => null;
10050public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null;
10051public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null;
10052public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null;
10053public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null;
10054public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null;
10055public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null;
10056public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null;
10057public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null;
10058public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null;
10059public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null;
10060public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null;
10061public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null;
10062public override BoundNode? VisitIsOperator(BoundIsOperator node)
10068public override BoundNode? VisitAsOperator(BoundAsOperator node)
10074public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
10079public override BoundNode? VisitConversion(BoundConversion node)
10084public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
10089public override BoundNode? VisitArgList(BoundArgList node) => null;
10090public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
10095public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
10100public override BoundNode? VisitSequencePoint(BoundSequencePoint node)
10105public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
10110public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null;
10111public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null;
10112public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null;
10113public override BoundNode? VisitBlock(BoundBlock node)
10119public override BoundNode? VisitScope(BoundScope node)
10124public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
10129public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
10136public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
10141public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
10147public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
10153public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null;
10154public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
10159public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
10164public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null;
10165public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
10170public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
10175public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => null;
10176public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => null;
10177public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
10184public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node)
10189public override BoundNode? VisitIfStatement(BoundIfStatement node)
10196public override BoundNode? VisitDoStatement(BoundDoStatement node)
10202public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
10208public override BoundNode? VisitForStatement(BoundForStatement node)
10216public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
10225public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node)
10231public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
10239public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
10245public override BoundNode? VisitLockStatement(BoundLockStatement node)
10251public override BoundNode? VisitTryStatement(BoundTryStatement node)
10258public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
10266public override BoundNode? VisitLiteral(BoundLiteral node) => null;
10267public override BoundNode? VisitUtf8String(BoundUtf8String node) => null;
10268public override BoundNode? VisitThisReference(BoundThisReference node) => null;
10269public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null;
10270public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null;
10271public override BoundNode? VisitBaseReference(BoundBaseReference node) => null;
10272public override BoundNode? VisitLocal(BoundLocal node) => null;
10273public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null;
10274public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
10279public override BoundNode? VisitParameter(BoundParameter node) => null;
10280public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null;
10281public override BoundNode? VisitGotoStatement(BoundGotoStatement node)
10287public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node)
10292public override BoundNode? VisitLabel(BoundLabel node) => null;
10293public override BoundNode? VisitStatementList(BoundStatementList node)
10298public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node)
10303public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
10310public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
10316public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
10322public override BoundNode? VisitDecisionDag(BoundDecisionDag node)
10327public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node)
10333public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node)
10340public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node)
10347public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null;
10348public override BoundNode? VisitDagTemp(BoundDagTemp node)
10353public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node)
10358public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node)
10363public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node)
10368public override BoundNode? VisitDagValueTest(BoundDagValueTest node)
10373public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node)
10378public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
10383public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node)
10388public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
10393public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
10398public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
10403public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
10412public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
10421public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node)
10427public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
10433public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node)
10439public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
10444public override BoundNode? VisitSequence(BoundSequence node)
10450public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
10456public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
10461public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
10467public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
10473public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
10480public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null;
10481public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
10487public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
10492public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
10497public override BoundNode? VisitCall(BoundCall node)
10503public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
10509public override BoundNode? VisitAttribute(BoundAttribute node)
10515public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
10520public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
10526public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
10531public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
10536public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null;
10537public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
10542public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
10547public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
10552public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
10558public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
10563public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
10569public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
10574public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null;
10575public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
10581public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
10587public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
10593public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null;
10594public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
10600public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null;
10601public override BoundNode? VisitNewT(BoundNewT node)
10606public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
10611public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
10617public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
10622public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
10628public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
10634public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
10639public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null;
10640public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
10645public override BoundNode? VisitEventAccess(BoundEventAccess node)
10650public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
10656public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
10662public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
10668public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
10674public override BoundNode? VisitLambda(BoundLambda node)
10679public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null;
10680public override BoundNode? VisitQueryClause(BoundQueryClause node)
10685public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
10690public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
10695public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
10700public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
10705public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null;
10706public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null;
10707public override BoundNode? VisitStringInsert(BoundStringInsert node)
10714public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
10720public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
10725public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null;
10726public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
10732public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
10740public override BoundNode? VisitListPattern(BoundListPattern node)
10746public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
10751public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
10756public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
10761public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
10767public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
10772public override BoundNode? VisitTypePattern(BoundTypePattern node)
10777public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
10783public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
10788public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
10793public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null;
10794public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
10799public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
10804public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
10809public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null;
10810public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
10816public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
10823public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
10828public override BoundNode? VisitWithExpression(BoundWithExpression node)
10838public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
10845public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
10852public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
10859public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node)
10864public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
10869public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
10875public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
10881public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
10886public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
10891public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
10896public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
10901public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
10906public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
10911public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node)
10916public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node)
10921public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node)
10926public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
10931public override BoundNode? VisitDup(BoundDup node)
10936public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
10942public override BoundNode? VisitBadExpression(BoundBadExpression node)
10949public override BoundNode? VisitBadStatement(BoundBadStatement node)
10951ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes);
10954public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node)
10959public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
10967public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
10972public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
10979public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
10988public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
11001public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
11007public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
11013public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
11020public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
11026public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
11033public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
11040public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
11047public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
11053public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
11059public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
11066public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
11074public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
11081public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
11088public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
11102public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
11114public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
11121public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
11128public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
11137public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
11144public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
11152public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
11161public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
11168public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
11174public override BoundNode? VisitArrayLength(BoundArrayLength node)
11180public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
11190public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
11197public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
11204public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
11211public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
11217public override BoundNode? VisitLocalId(BoundLocalId node)
11224public override BoundNode? VisitParameterId(BoundParameterId node)
11231public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
11236public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
11241public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
11246public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
11251public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
11256public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node)
11261public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node)
11266public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
11271public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
11278public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
11285public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
11290public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
11296public override BoundNode? VisitIsOperator(BoundIsOperator node)
11303public override BoundNode? VisitAsOperator(BoundAsOperator node)
11312public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
11318public override BoundNode? VisitConversion(BoundConversion node)
11324public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
11331public override BoundNode? VisitArgList(BoundArgList node)
11336public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
11342public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
11352public override BoundNode? VisitSequencePoint(BoundSequencePoint node)
11357public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node)
11362public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node;
11363public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node;
11364public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node;
11365public override BoundNode? VisitBlock(BoundBlock node)
11373public override BoundNode? VisitScope(BoundScope node)
11379public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
11385public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
11393public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node)
11398public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node)
11404public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
11411public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node;
11412public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
11417public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node)
11422public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node;
11423public override BoundNode? VisitThrowStatement(BoundThrowStatement node)
11428public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
11433public override BoundNode? VisitBreakStatement(BoundBreakStatement node)
11438public override BoundNode? VisitContinueStatement(BoundContinueStatement node)
11443public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
11454public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node)
11460public override BoundNode? VisitIfStatement(BoundIfStatement node)
11467public override BoundNode? VisitDoStatement(BoundDoStatement node)
11476public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
11485public override BoundNode? VisitForStatement(BoundForStatement node)
11497public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
11511public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node)
11517public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
11526public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
11533public override BoundNode? VisitLockStatement(BoundLockStatement node)
11539public override BoundNode? VisitTryStatement(BoundTryStatement node)
11547public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
11557public override BoundNode? VisitLiteral(BoundLiteral node)
11562public override BoundNode? VisitUtf8String(BoundUtf8String node)
11567public override BoundNode? VisitThisReference(BoundThisReference node)
11572public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
11577public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
11582public override BoundNode? VisitBaseReference(BoundBaseReference node)
11587public override BoundNode? VisitLocal(BoundLocal node)
11593public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
11599public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
11606public override BoundNode? VisitParameter(BoundParameter node)
11612public override BoundNode? VisitLabelStatement(BoundLabelStatement node)
11617public override BoundNode? VisitGotoStatement(BoundGotoStatement node)
11624public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node)
11630public override BoundNode? VisitLabel(BoundLabel node)
11636public override BoundNode? VisitStatementList(BoundStatementList node)
11641public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node)
11647public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
11656public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
11665public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
11675public override BoundNode? VisitDecisionDag(BoundDecisionDag node)
11680public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node)
11686public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node)
11693public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node)
11700public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node)
11705public override BoundNode? VisitDagTemp(BoundDagTemp node)
11711public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node)
11717public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node)
11722public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node)
11727public override BoundNode? VisitDagValueTest(BoundDagValueTest node)
11732public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node)
11737public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
11743public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node)
11749public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
11755public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
11761public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
11767public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
11777public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
11787public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node)
11793public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
11800public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node)
11807public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
11813public override BoundNode? VisitSequence(BoundSequence node)
11821public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
11829public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
11835public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
11843public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
11850public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
11859public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
11864public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
11871public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
11880public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
11887public override BoundNode? VisitCall(BoundCall node)
11896public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
11904public override BoundNode? VisitAttribute(BoundAttribute node)
11912public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
11918public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
11927public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
11929ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
11933public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
11941ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
11945public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
11950public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node)
11960public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
11966public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
11973public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
11981public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
11987public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
11994public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
12002public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
12008public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
12015public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
12023public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
12031public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
12036public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
12044public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
12050public override BoundNode? VisitNewT(BoundNewT node)
12056public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
12063public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
12070public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
12076public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
12084public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
12092public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
12099public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node)
12105public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
12112public override BoundNode? VisitEventAccess(BoundEventAccess node)
12119public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
12128public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
12139public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
12146public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
12154public override BoundNode? VisitLambda(BoundLambda node)
12162public override BoundNode? VisitUnboundLambda(UnboundLambda node)
12168public override BoundNode? VisitQueryClause(BoundQueryClause node)
12178public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node)
12183public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
12189public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
12195public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
12201public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
12206public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
12211public override BoundNode? VisitStringInsert(BoundStringInsert node)
12219public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
12229public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
12236public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
12242public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
12251public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
12263public override BoundNode? VisitListPattern(BoundListPattern node)
12276public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
12286public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
12295public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
12301public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node)
12307public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
12314public override BoundNode? VisitTypePattern(BoundTypePattern node)
12321public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
12329public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
12336public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
12343public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
12348public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
12354public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
12361public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
12368public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
12374public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
12380public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
12388public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
12394public override BoundNode? VisitWithExpression(BoundWithExpression node)
12417public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node)
12425public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node)
12433public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node)
12441public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node)
12453public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node)
12470public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node)
12487public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node)
12499public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
12511public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node)
12523public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node)
12535public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node)
12547public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node)
12559public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node)
12571public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node)
12583public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node)
12595public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
12607public override BoundNode? VisitDup(BoundDup node)
12619public override BoundNode? VisitPassByCopy(BoundPassByCopy node)
12636public override BoundNode? VisitBadExpression(BoundBadExpression node)
12654public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12672public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node)
12684public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node)
12696public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node)
12716public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node)
12740public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node)
12757public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node)
12774public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
12792public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node)
12809public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node)
12827public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
12845public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node)
12863public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node)
12880public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node)
12897public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
12915public override BoundNode? VisitRangeExpression(BoundRangeExpression node)
12934public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
12952public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node)
12970public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node)
12988public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node)
13008public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
13026public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node)
13045public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node)
13065public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
13083public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node)
13100public override BoundNode? VisitArrayLength(BoundArrayLength node)
13117public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
13128public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
13146public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node)
13164public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node)
13172public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
13189public override BoundNode? VisitLocalId(BoundLocalId node)
13207public override BoundNode? VisitParameterId(BoundParameterId node)
13225public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node)
13237public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node)
13249public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node)
13261public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node)
13273public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node)
13285public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node)
13297public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node)
13309public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node)
13321public override BoundNode? VisitMethodInfo(BoundMethodInfo node)
13339public override BoundNode? VisitFieldInfo(BoundFieldInfo node)
13357public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node)
13369public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node)
13386public override BoundNode? VisitIsOperator(BoundIsOperator node)
13404public override BoundNode? VisitAsOperator(BoundAsOperator node)
13424public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node)
13441public override BoundNode? VisitConversion(BoundConversion node)
13458public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
13476public override BoundNode? VisitArgList(BoundArgList node)
13488public override BoundNode? VisitArgListOperator(BoundArgListOperator node)
13505public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
13526public override BoundNode? VisitBlock(BoundBlock node)
13535public override BoundNode? VisitScope(BoundScope node)
13542public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node)
13549public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node)
13558public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
13566public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node)
13577public override BoundNode? VisitDoStatement(BoundDoStatement node)
13585public override BoundNode? VisitWhileStatement(BoundWhileStatement node)
13593public override BoundNode? VisitForStatement(BoundForStatement node)
13604public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
13617public override BoundNode? VisitUsingStatement(BoundUsingStatement node)
13627public override BoundNode? VisitFixedStatement(BoundFixedStatement node)
13635public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
13646public override BoundNode? VisitLiteral(BoundLiteral node)
13658public override BoundNode? VisitUtf8String(BoundUtf8String node)
13670public override BoundNode? VisitThisReference(BoundThisReference node)
13682public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
13694public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
13706public override BoundNode? VisitBaseReference(BoundBaseReference node)
13718public override BoundNode? VisitLocal(BoundLocal node)
13735public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node)
13752public override BoundNode? VisitRangeVariable(BoundRangeVariable node)
13770public override BoundNode? VisitParameter(BoundParameter node)
13787public override BoundNode? VisitLabel(BoundLabel node)
13799public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node)
13808public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node)
13827public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
13847public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node)
13854public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node)
13861public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node)
13868public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node)
13875public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node)
13886public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node)
13897public override BoundNode? VisitSwitchSection(BoundSwitchSection node)
13905public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node)
13922public override BoundNode? VisitSequence(BoundSequence node)
13941public override BoundNode? VisitSpillSequence(BoundSpillSequence node)
13960public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
13977public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node)
13996public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
14014public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node)
14034public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node)
14046public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node)
14064public override BoundNode? VisitMethodGroup(BoundMethodGroup node)
14084public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node)
14102public override BoundNode? VisitCall(BoundCall node)
14122public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node)
14141public override BoundNode? VisitAttribute(BoundAttribute node)
14160public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node)
14177public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node)
14197public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node)
14199ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14214public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
14222ImmutableArray<BoundNode> elements = this.VisitList(node.Elements);
14237public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node)
14249public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
14266public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node)
14284public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node)
14303public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
14320public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node)
14338public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node)
14357public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
14374public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node)
14392public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node)
14411public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node)
14430public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node)
14442public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
14461public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node)
14478public override BoundNode? VisitNewT(BoundNewT node)
14495public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
14513public override BoundNode? VisitArrayCreation(BoundArrayCreation node)
14531public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node)
14548public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node)
14567public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node)
14586public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
14604public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node)
14621public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
14639public override BoundNode? VisitEventAccess(BoundEventAccess node)
14657public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
14677public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node)
14695public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
14714public override BoundNode? VisitLambda(BoundLambda node)
14733public override BoundNode? VisitUnboundLambda(UnboundLambda node)
14750public override BoundNode? VisitQueryClause(BoundQueryClause node)
14771public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node)
14788public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node)
14805public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node)
14822public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node)
14834public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node)
14846public override BoundNode? VisitStringInsert(BoundStringInsert node)
14865public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node)
14884public override BoundNode? VisitConstantPattern(BoundConstantPattern node)
14892public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node)
14899public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node)
14909public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node)
14922public override BoundNode? VisitListPattern(BoundListPattern node)
14936public override BoundNode? VisitSlicePattern(BoundSlicePattern node)
14947public override BoundNode? VisitITuplePattern(BoundITuplePattern node)
14957public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node)
14964public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node)
14971public override BoundNode? VisitTypePattern(BoundTypePattern node)
14979public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
14988public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node)
14996public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node)
15004public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node)
15016public override BoundNode? VisitThrowExpression(BoundThrowExpression node)
15033public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node)
15051public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node)
15069public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node)
15086public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
15095public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node)
15112public override BoundNode? VisitWithExpression(BoundWithExpression node)
15137public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\ClosureConversion\ClosureConversion.cs (33)
88private readonly Dictionary<BoundNode, Analysis.ClosureEnvironment> _frames = new Dictionary<BoundNode, Analysis.ClosureEnvironment>();
337static partial void CheckLocalsDefined(BoundNode node);
370var scopeBoundNode = scope.BoundNode;
640private static void InsertAndFreePrologue<T>(ArrayBuilder<BoundStatement> result, ArrayBuilder<T> prologue) where T : BoundNode
650result.Add(new BoundExpressionStatement(node.Syntax, (BoundExpression)(BoundNode)node));
664private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F)
730var result = F(prologue, addedLocals);
824protected override BoundNode VisitUnhoistedParameter(BoundParameter node)
835public override BoundNode VisitThisReference(BoundThisReference node)
852public override BoundNode VisitBaseReference(BoundBaseReference node)
859public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node)
1074public override BoundNode VisitCall(BoundCall node)
1108var visited = base.VisitCall(node);
1155public override BoundNode VisitBlock(BoundBlock node)
1203public override BoundNode VisitScope(BoundScope node)
1217public override BoundNode VisitCatchBlock(BoundCatchBlock node)
1233private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals)
1291public override BoundNode VisitSequence(BoundSequence node)
1307public override BoundNode VisitStatementList(BoundStatementList node)
1332public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
1365public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node)
1392public override BoundNode VisitConversion(BoundConversion conversion)
1422public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
1427BoundNode lambdaScope;
1519out BoundNode lambdaScope,
1536BoundNode tmpScope = null;
1621private BoundNode RewriteLambdaConversion(BoundLambda node)
1631var result0 = wasInExpressionLambda ? node : ExpressionLambdaRewriter.RewriteLambda(node, CompilationState, TypeMap, RecursionDepth, Diagnostics);
1639BoundNode lambdaScope;
1791public override BoundNode VisitLambda(BoundLambda node)
Operations\CSharpOperationFactory.cs (23)
28public IOperation? Create(BoundNode? boundNode)
337public ImmutableArray<TOperation> CreateFromArray<TBoundNode, TOperation>(ImmutableArray<TBoundNode> boundNodes) where TBoundNode : BoundNode where TOperation : class, IOperation
382foreach (BoundNode? childNode in children)
396internal ImmutableArray<IVariableDeclaratorOperation> CreateVariableDeclarator(BoundNode declaration, SyntaxNode declarationSyntax)
450ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCall).InvalidNodeChildren);
480ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundFunctionPointerInvocation).InvalidNodeChildren);
520internal ImmutableArray<IOperation> CreateIgnoredDimensions(BoundNode declaration)
595internal IOperation? CreateBoundPropertyReferenceInstance(BoundNode boundNode)
633var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundIndexerAccess).InvalidNodeChildren);
713var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectCreationExpression).InvalidNodeChildren);
759internal IOperation CreateBoundDynamicInvocationExpressionReceiver(BoundNode receiver)
889var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectInitializerMember).InvalidNodeChildren);
935var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCollectionElementInitializer).InvalidNodeChildren);
1143Conversion conversion = BoundNode.GetConversion(boundAsOperator.OperandConversion, boundAsOperator.OperandPlaceholder);
1258private IOperation CreateBoundCollectionExpressionElement(BoundCollectionExpression expr, BoundNode element)
1274var elementConversion = BoundNode.GetConversion(iteratorItem, element.ElementPlaceholder);
1360Conversion inConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.LeftConversion, boundCompoundAssignmentOperator.LeftPlaceholder);
1361Conversion outConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.FinalConversion, boundCompoundAssignmentOperator.FinalPlaceholder);
1593Conversion valueConversion = BoundNode.GetConversion(boundNullCoalescingOperator.LeftConversion, boundNullCoalescingOperator.LeftPlaceholder);
1917BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder),
1918BoundNode.GetConversion(boundForEachStatement.ElementConversion, boundForEachStatement.ElementPlaceholder),
2033IOperation resources = Create(boundUsingStatement.DeclarationsOpt ?? (BoundNode)boundUsingStatement.ExpressionOpt!);
2095var children = CreateFromArray<BoundNode, IOperation>(boundBadStatement.ChildBoundNodes);