18 types derived from BoundNode
Microsoft.CodeAnalysis.CSharp (18)
Generated\BoundNodes.xml.Generated.cs (18)
275internal abstract partial class BoundInitializer : BoundNode 424internal abstract partial class BoundExpression : BoundNode 2138internal sealed partial class BoundAwaitableInfo : BoundNode 2259internal sealed partial class BoundBlockInstrumentation : BoundNode 3131internal abstract partial class BoundStatement : BoundNode 4085internal sealed partial class BoundForEachDeconstructStep : BoundNode 4257internal sealed partial class BoundCatchBlock : BoundNode 4901internal sealed partial class BoundSwitchExpressionArm : BoundNode 5002internal sealed partial class BoundDecisionDag : BoundNode 5030internal abstract partial class BoundDecisionDagNode : BoundNode 5181internal abstract partial class BoundDagTest : BoundNode 5195internal sealed partial class BoundDagTemp : BoundNode 5688internal sealed partial class BoundSwitchLabel : BoundNode 6504internal sealed partial class BoundCollectionExpressionSpreadElement : BoundNode 7985internal abstract partial class BoundPattern : BoundNode 8287internal abstract partial class BoundSubpattern : BoundNode 8359internal sealed partial class BoundPropertySubpatternMember : BoundNode 8690internal abstract partial class BoundMethodBodyBase : BoundNode
2723 references to BoundNode
Microsoft.CodeAnalysis.CSharp (2723)
Binder\Binder_Attributes.cs (2)
880foreach (var element in elements) 887private TypedConstant VisitCollectionExpressionElement(BoundNode node, BindingDiagnosticBag diagnostics, ref bool attrHasErrors, bool curArgumentHasErrors)
Binder\Binder_Conversions.cs (9)
72Debug.Assert(BoundNode.GetConversion(result, placeholder1) == conversion); 78Debug.Assert(BoundNode.GetConversion(result2, placeholder2) == conversion); 640var builder = ArrayBuilder<BoundNode>.GetInstance(elements.Length); 658foreach (var element in elements) 660BoundNode convertedElement = element is BoundCollectionExpressionSpreadElement spreadElement ? 661(BoundNode)BindCollectionExpressionSpreadElementAddMethod( 699var element = elements[i]; 701var convertedElement = element is BoundCollectionExpressionSpreadElement spreadElement ? 734BoundNode bindSpreadElement(BoundCollectionExpressionSpreadElement element, TypeSymbol elementType, Conversion elementConversion, BindingDiagnosticBag diagnostics)
Binder\Binder_Expressions.cs (3)
5164var builder = ArrayBuilder<BoundNode>.GetInstance(syntax.Elements.Count); 5171static BoundNode bindElement(CollectionElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this, int nestingLevel) 5182static BoundNode bindSpreadElement(SpreadElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this)
Binder\Binder_Invocation.cs (2)
1741var unconvertedCollection = new BoundUnconvertedCollectionExpression(node, ImmutableArray<BoundNode>.CastUp(collectionArgs)) { WasCompilerGenerated = true, IsParamsArrayOrCollection = true }; 1775emptyCollection ??= new BoundUnconvertedCollectionExpression(node, ImmutableArray<BoundNode>.CastUp(ImmutableArray<BoundExpression>.Empty)) { WasCompilerGenerated = true, IsParamsArrayOrCollection = true };
Binder\Binder_Lambda.cs (1)
436where TResult : BoundNode
Binder\Binder_Statements.cs (13)
145result = new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 519return new BoundBadStatement(node, ImmutableArray.Create<BoundNode>(expression), true); 534ImmutableArray<BoundNode> childNodes; 538childNodes = ImmutableArray.Create<BoundNode>(value); 542childNodes = ImmutableArray<BoundNode>.Empty; 2809return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 2820return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 3523public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics) 3552private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3557private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3581private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics) 3616private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics) 3926private BoundNode BindMethodBody(CSharpSyntaxNode declaration, BlockSyntax blockBody, ArrowExpressionClauseSyntax expressionBody, BindingDiagnosticBag diagnostics)
Binder\InMethodBinder.cs (1)
30/// This map is used by <see cref="MethodCompiler.BindMethodBody(MethodSymbol, TypeCompilationState, BindingDiagnosticBag, bool, BoundNode?, bool, out ImportChain?, out bool, out bool, out MethodBodySemanticModel.InitialState)"/>
Binder\RefSafetyAnalysis.cs (45)
18internal static void Analyze(CSharpCompilation compilation, MethodSymbol symbol, BoundNode node, BindingDiagnosticBag diagnostics) 251public override BoundNode? VisitBlock(BoundBlock node) 258public override BoundNode? Visit(BoundNode? node) 277private void TrackVisit(BoundNode? node) 306public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 311public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 323public override BoundNode? VisitLambda(BoundLambda node) 334public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 340public override BoundNode? VisitForStatement(BoundForStatement node) 347public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 369public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 381public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 387public override BoundNode? VisitDoStatement(BoundDoStatement node) 393public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 399public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 409public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 417public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 423public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 429public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 435public override BoundNode? VisitLocal(BoundLocal node) 487public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 527public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 537public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 547public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 557public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 564public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 572public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 588public override BoundNode? VisitListPattern(BoundListPattern node) 594public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 600public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 613public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 634public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 733public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 739public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 745public override BoundNode? VisitNewT(BoundNewT node) 751public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 835public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 841public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 866public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 889public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 907public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 917public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 993var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 1050public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
Binder\Semantics\Conversions\Conversions.cs (2)
204foreach (var element in elements) 218Conversion convertElement(BoundNode element, TypeSymbol elementType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (2)
659foreach (var element in argument.Elements) 884foreach (var element in argument.Elements)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (4)
3099public override BoundNode Visit(BoundNode node) 3114public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3120public override BoundNode VisitReturnStatement(BoundReturnStatement node)
Binder\SwitchBinder.cs (2)
547childBoundNodes: gotoCaseExpressionOpt != null ? ImmutableArray.Create<BoundNode>(gotoCaseExpressionOpt) : ImmutableArray<BoundNode>.Empty,
BoundTree\BoundExpressionExtensions.cs (1)
168public static void GetExpressionSymbols(this BoundExpression node, ArrayBuilder<Symbol> symbols, BoundNode parent, Binder binder)
BoundTree\BoundNode.cs (29)
61protected new BoundNode MemberwiseClone() 63var result = (BoundNode)base.MemberwiseClone(); 148protected void CopyAttributes(BoundNode original) 347ImmutableArray<BoundNode>.CastUp(collection.Elements.CastArray<BoundExpression>()) == collection.Elements); 364public virtual BoundNode? Accept(BoundTreeVisitor visitor) 372internal BoundNode WithHasErrors() 377BoundNode clone = MemberwiseClone(); 472public static void CheckLocalsDefined(BoundNode root) 509public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 517public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 525public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 533public override BoundNode? VisitBlock(BoundBlock node) 565public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 572public override BoundNode? VisitSequence(BoundSequence node) 580public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 588public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 596public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 604public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 612public override BoundNode? VisitDoStatement(BoundDoStatement node) 620public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 628public override BoundNode? VisitForStatement(BoundForStatement node) 641public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 649public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 657public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 665public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 673public override BoundNode? VisitLocal(BoundLocal node) 680public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 687public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
BoundTree\BoundNode_Source.cs (2)
24void appendSourceCore(BoundNode node, int indent, Dictionary<SynthesizedLocal, int> tempIdentifiers) 366void appendSource(BoundNode? n)
BoundTree\BoundNodeExtensions.cs (6)
19where T : BoundNode 34public static bool HasErrors([NotNullWhen(true)] this BoundNode? node) 67public static T MakeCompilerGenerated<T>(this T node) where T : BoundNode 92public override BoundNode? Visit(BoundNode? node) => ContainsAwait ? null : base.Visit(node); 94public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
BoundTree\BoundTreeRewriter.cs (6)
21public ImmutableArray<T> VisitList<T>(ImmutableArray<T> list) where T : BoundNode 31private ImmutableArray<T> DoVisitList<T>(ImmutableArray<T> list) where T : BoundNode 39var visited = this.Visit(item); 79public override BoundNode? Visit(BoundNode? node) 110public sealed override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
BoundTree\BoundTreeVisitors.cs (9)
23public virtual R Visit(BoundNode node, A arg) 134public virtual R DefaultVisit(BoundNode node, A arg) 147public virtual BoundNode Visit(BoundNode node) 158public virtual BoundNode DefaultVisit(BoundNode node) 165public readonly BoundNode Node; 167public CancelledByStackGuardException(Exception inner, BoundNode node) 183public static Location GetTooLongOrComplexExpressionErrorLocation(BoundNode node)
BoundTree\BoundTreeWalker.cs (5)
16public void VisitList<T>(ImmutableArray<T> list) where T : BoundNode 70public override BoundNode? Visit(BoundNode? node) 104public sealed override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 145public sealed override BoundNode? VisitCall(BoundCall node)
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);
BoundTree\IBoundInvalidNode.cs (1)
16ImmutableArray<BoundNode> InvalidNodeChildren { get; }
BoundTree\NullabilityRewriter.cs (6)
20public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 25public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 30private BoundNode VisitBinaryOperatorBase(BoundBinaryOperatorBase binaryOperator) 82private T GetUpdatedSymbol<T>(BoundNode expr, T sym) where T : Symbol? 165public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 185private ImmutableArray<T> GetUpdatedArray<T>(BoundNode expr, ImmutableArray<T> symbols) where T : Symbol?
BoundTree\Statement.cs (9)
12ImmutableArray<BoundNode?> IBoundNodeWithIOperationChildren.Children => this.Children; 18protected virtual ImmutableArray<BoundNode?> Children => ImmutableArray<BoundNode?>.Empty; 23protected override ImmutableArray<BoundNode?> Children => this.ChildBoundNodes!; 25ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => this.ChildBoundNodes; 30protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Declarations, this.Body); 35protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
BoundTree\UnboundLambda.cs (6)
203BoundNode node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions, bool withDependencies) 248BoundNode node, 353public override BoundNode? Visit(BoundNode node) 368public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 374public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
CodeGen\EmitExpression.cs (3)
620public override BoundNode Visit(BoundNode node) 639public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node)
CodeGen\EmitStatement.cs (5)
1947public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1952public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1964public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 1974public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 1996public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
CodeGen\Optimizer.cs (59)
431public static BoundNode Analyze( 432BoundNode node, 438var rewritten = analyzer.Visit(node); 444public override BoundNode Visit(BoundNode node) 446BoundNode result; 566public BoundNode VisitStatement(BoundNode node) 572public BoundNode VisitSideEffect(BoundNode node) 577var result = base.Visit(node); 593public override BoundNode VisitConversion(BoundConversion node) 602public override BoundNode VisitPassByCopy(BoundPassByCopy node) 613public override BoundNode VisitBlock(BoundBlock node) 650public override BoundNode VisitSequence(BoundSequence node) 816public bool IsLocalUsedIn(BoundNode node) 824public override BoundNode Visit(BoundNode node) 834public override BoundNode VisitLocal(BoundLocal node) 845public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 851public override BoundNode VisitLocal(BoundLocal node) 896public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 1108public override BoundNode VisitCall(BoundCall node) 1291public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1307public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1316public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1326public override BoundNode VisitArrayAccess(BoundArrayAccess node) 1333var result = base.VisitArrayAccess(node); 1339public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1381public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1387public override BoundNode VisitLabel(BoundLabel node) 1393public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1399public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1403var result = base.VisitGotoStatement(node); 1409public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 1411var result = base.VisitConditionalGoto(node); 1418public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 1451public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1473public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1546private BoundNode VisitBinaryOperatorSimple(BoundBinaryOperator node) 1567public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1586public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1616public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 1652public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1668public override BoundNode VisitTryStatement(BoundTryStatement node) 1683public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1747public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 1754public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1789public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 1795public override BoundNode VisitReturnStatement(BoundReturnStatement node) 2045public override BoundNode Visit(BoundNode node) 2047BoundNode result; 2067public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2123public override BoundNode VisitLocal(BoundLocal node) 2141public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2149public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2211public override BoundNode VisitCall(BoundCall node) 2286public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Compilation\AttributeSemanticModel.cs (4)
85internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 102protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 103BoundNode boundRoot, 113protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\CSharpSemanticModel.cs (20)
722BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 752BoundNode boundNode = GetSpeculativelyBoundAttribute(position, attribute, out binder); //calls CheckAndAdjustPosition 1052BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out _, out crefSymbols); //calls CheckAndAdjustPosition 1199BoundNode boundNode = GetSpeculativelyBoundExpression(position, nameSyntax, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 1868BoundNode lowestBoundNode, 1869BoundNode highestBoundNode, 1870BoundNode boundNodeForSyntacticParent, 2016BoundNode lowestBoundNode, 2017BoundNode highestBoundNode, 2018BoundNode boundNodeForSyntacticParent) 2127conversion = BoundNode.GetConversion(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder); 2274BoundNode lowestBoundNode, 2275BoundNode boundNodeForSyntacticParent, 2296BoundNode lowestBoundNode, 2388internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 3343BoundNode boundNodeForSyntacticParent, 3963BoundNode boundNodeForSyntacticParent, 4014BoundNode lowestBoundNode, 4234BoundNode boundNodeForSyntacticParent, 4380BoundNode boundNodeForSyntacticParent,
Compilation\DeconstructionInfo.cs (1)
73: deconstructConversionInfo.SelectAsArray(c => new DeconstructionInfo(BoundNode.GetConversion(c.conversion, c.placeholder)));
Compilation\InitializerSemanticModel.cs (5)
79internal override BoundNode GetBoundRoot() 111internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 253protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 254BoundNode boundRoot, 266protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\MemberSemanticModel.cs (61)
32private readonly Dictionary<SyntaxNode, OneOrMany<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, OneOrMany<BoundNode>>(); 513internal virtual BoundNode GetBoundRoot() 521internal BoundNode GetUpperBoundNode(CSharpSyntaxNode node, bool promoteToBindable = false) 549internal BoundNode GetLowerBoundNode(CSharpSyntaxNode node) 566private static BoundNode GetLowerBoundNode(OneOrMany<BoundNode> boundNodes) 922var bound = GetLowerBoundNode(node); 993BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder), 994BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder)); 1142var bound = this.GetLowerBoundNode(declaratorSyntax); 1187BoundNode highestBoundNode = GetBoundRoot(); 1212BoundNode lowestBoundNode; 1213BoundNode highestBoundNode; 1214BoundNode boundParent; 1224BoundNode lowestBoundNode; 1225BoundNode highestBoundNode; 1226BoundNode boundParent; 1235BoundNode lowestBoundNode; 1236BoundNode highestBoundNode; 1237BoundNode boundParent; 1247BoundNode lowestBoundNode; 1248BoundNode highestBoundNode; 1249BoundNode boundParent; 1301private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent) 1432private OneOrMany<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node) 1435OneOrMany<BoundNode> result; 1436return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1442internal OneOrMany<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node) 1444OneOrMany<BoundNode> result; 1445return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1450private OneOrMany<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound) 1469OneOrMany<BoundNode> result; 1470return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : OneOrMany<BoundNode>.Empty; 1473protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1481protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1624BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery); 1628private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery) 1632OneOrMany<BoundNode> nodes; 1651BoundNode boundEnclosingLambdaOrQuery = null; 1692BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 1724BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded); 1738private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery) 1963BoundNode boundRoot = bind(bindableRoot, out binder); 1985BoundNode bind(CSharpSyntaxNode root, out Binder binder) 2039protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots( 2040BoundNode boundRoot, 2053protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots); 2067internal OneOrMany<BoundNode> GetBoundNodes(CSharpSyntaxNode node) 2091OneOrMany<BoundNode> results; 2114BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 2143var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded); 2158return OneOrMany<BoundNode>.Empty; 2430BoundNode boundNode = TryGetBoundNodeFromMap(node); 2465private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node) 2469OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node); 2481public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 2483BoundNode boundNode = TryGetBoundNodeFromMap(node);
Compilation\MemberSemanticModel.NodeMapBuilder.cs (14)
23private NodeMapBuilder(OrderPreservingMultiDictionary<SyntaxNode, BoundNode> map, SyntaxTree tree, SyntaxNode thisSyntaxNodeOnly) 30private readonly OrderPreservingMultiDictionary<SyntaxNode, BoundNode> _map; 41public static void AddToMap(BoundNode root, Dictionary<SyntaxNode, OneOrMany<BoundNode>> map, SyntaxTree tree, SyntaxNode node = null) 51var additionMap = OrderPreservingMultiDictionary<SyntaxNode, BoundNode>.GetInstance(); 132public override BoundNode Visit(BoundNode node) 144BoundNode current = node; 238private bool ShouldAddNode(BoundNode currentBoundNode) 255public override BoundNode VisitQueryClause(BoundQueryClause node) 262public override BoundNode VisitRangeVariable(BoundRangeVariable node) 267public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node) 272public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 285public override BoundNode VisitBinaryOperator(BoundBinaryOperator node)
Compilation\MemberSemanticModel.SpeculativeMemberSemanticModel.cs (3)
43protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 44BoundNode boundRoot, 55protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\MethodBodySemanticModel.cs (6)
22internal readonly BoundNode? Body; 29BoundNode? bodyOpt = null, 74internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 286protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 287BoundNode boundRoot, 298protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
515internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
Compilation\SpeculativeSyntaxTreeSemanticModel.cs (1)
91internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
Compilation\SyntaxTreeSemanticModel.cs (1)
2293private static BoundNode GetBoundRoot(MemberSemanticModel memberModel, out Symbol member)
Compilation\SyntaxTreeSemanticModel_RegionAnalysisContext.cs (8)
34var node = new BoundBadStatement(expression, ImmutableArray<BoundNode>.Empty, hasErrors: true); 39BoundNode boundNode = GetBoundRoot(memberModel, out member); 40var first = memberModel.GetUpperBoundNode(expression, promoteToBindable: true); 41var last = first; 51var node = new BoundBadStatement(firstStatement, ImmutableArray<BoundNode>.Empty, hasErrors: true); 56BoundNode boundNode = GetBoundRoot(memberModel, out member); 57var first = memberModel.GetUpperBoundNode(firstStatement, promoteToBindable: true); 58var last = memberModel.GetUpperBoundNode(lastStatement, promoteToBindable: true);
Compiler\MethodCompiler.cs (12)
1471return new BoundBadStatement(body.Syntax, ImmutableArray.Create<BoundNode>(body), hasErrors: true); 1731BoundNode? initializersBody, 1780BoundNode methodBody = bodyBinder.BindWithLambdaBindingCountDiagnostics( 1790BoundNode methodBodyForSemanticModel = methodBody; 1958NullableWalker.VariableState? getInitializerState(BoundNode? body) 2106static void assertBindIdentifierTargets(InMethodBinder? inMethodBinder, ConcurrentDictionary<IdentifierNameSyntax, int>? identifierMap, BoundNode methodBody, BindingDiagnosticBag diagnostics) 2169private static bool IsEmptyRewritePossible(BoundNode node) 2174var rewritten = rewriter.Visit(node); 2197public static bool FoundInUnboundLambda(BoundNode methodBody, IdentifierNameSyntax id) 2204public override BoundNode? VisitUnboundLambda(UnboundLambda node) 2220public override BoundNode? Visit(BoundNode? node)
FlowAnalysis\AbstractFlowPass.cs (196)
66protected readonly BoundNode methodMainNode; 172protected readonly BoundNode firstInRegion, lastInRegion; 185BoundNode node, 186BoundNode firstInRegion = null, 187BoundNode lastInRegion = null, 260private void EnterRegionIfNeeded(BoundNode node) 277private void LeaveRegionIfNeeded(BoundNode node) 341public override BoundNode Visit(BoundNode node) 346protected BoundNode VisitAlways(BoundNode node) 348BoundNode result = null; 362private BoundNode VisitWithStackGuard(BoundNode node) 395public readonly BoundNode Branch; 404public PendingBranch(BoundNode branch, TLocalState state, LabelSymbol label, bool isConditionalState = false, TLocalState stateWhenTrue = default, TLocalState stateWhenFalse = default) 763protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target) 896public override BoundNode DefaultVisit(BoundNode node) 903public override BoundNode VisitAttribute(BoundAttribute node) 909public override BoundNode VisitThrowExpression(BoundThrowExpression node) 916public override BoundNode VisitPassByCopy(BoundPassByCopy node) 922public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1066public override BoundNode VisitConstantPattern(BoundConstantPattern node) 1072public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 1077public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 1082private BoundNode VisitTupleExpression(BoundTupleExpression node) 1088public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 1095public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 1102public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 1109public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 1115public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 1123protected BoundNode? VisitInterpolatedStringBase(BoundInterpolatedStringBase node, InterpolatedStringHandlerData? data) 1154public override BoundNode VisitInterpolatedString(BoundInterpolatedString node) 1159public override BoundNode VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 1165public override BoundNode VisitStringInsert(BoundStringInsert node) 1181public override BoundNode VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1186public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1191public override BoundNode VisitArgList(BoundArgList node) 1198public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1205public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 1211public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1220public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 1226public override BoundNode VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 1232public override BoundNode VisitLambda(BoundLambda node) => null; 1234public override BoundNode VisitLocal(BoundLocal node) 1240public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 1257public override BoundNode VisitBlock(BoundBlock node) 1271public override BoundNode VisitScope(BoundScope node) 1277public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 1283public override BoundNode VisitCall(BoundCall node) 1432public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 1445public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 1458public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 1517public override BoundNode VisitBadExpression(BoundBadExpression node) 1527public override BoundNode VisitBadStatement(BoundBadStatement node) 1529foreach (var child in node.ChildBoundNodes) 1544public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1554public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1584public override BoundNode VisitTypeExpression(BoundTypeExpression node) 1589public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 1597public override BoundNode VisitLiteral(BoundLiteral node) 1603public override BoundNode VisitUtf8String(BoundUtf8String node) 1626public override BoundNode VisitLocalId(BoundLocalId node) 1631public override BoundNode VisitParameterId(BoundParameterId node) 1636public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1641public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 1646public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 1651public override BoundNode VisitModuleVersionId(BoundModuleVersionId node) 1656public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node) 1661public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 1666public override BoundNode VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 1671public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 1676public override BoundNode VisitConversion(BoundConversion node) 1707public override BoundNode VisitIfStatement(BoundIfStatement node) 1726public override BoundNode VisitTryStatement(BoundTryStatement node) 1921public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 1926public override BoundNode VisitReturnStatement(BoundReturnStatement node) 1928var result = VisitReturnStatementNoAdjust(node); 1934protected virtual BoundNode VisitReturnStatementNoAdjust(BoundReturnStatement node) 1947public override BoundNode VisitThisReference(BoundThisReference node) 1952public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 1957public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 1962public override BoundNode VisitParameter(BoundParameter node) 1971public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1978public override BoundNode VisitCollectionExpression(BoundCollectionExpression node) 1984public override BoundNode VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 1990private void VisitCollectionExpression(ImmutableArray<BoundNode> elements) 1992foreach (var element in elements) 2005public override BoundNode VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 2011public override BoundNode VisitNewT(BoundNewT node) 2017public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 2042public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2076public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2083public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 2089public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2134public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2161public override BoundNode VisitFieldInfo(BoundFieldInfo node) 2166public override BoundNode VisitMethodInfo(BoundMethodInfo node) 2171public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2201public override BoundNode VisitEventAccess(BoundEventAccess node) 2207public override BoundNode VisitRangeVariable(BoundRangeVariable node) 2212public override BoundNode VisitQueryClause(BoundQueryClause node) 2218private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node) 2228public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 2233public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 2242public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2257public override BoundNode VisitWithExpression(BoundWithExpression node) 2264public override BoundNode VisitArrayAccess(BoundArrayAccess node) 2275public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node) 2294public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2313public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 2664public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 2680public override BoundNode VisitRangeExpression(BoundRangeExpression node) 2695public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 2701public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 2708public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2732public override BoundNode VisitArrayCreation(BoundArrayCreation node) 2743public override BoundNode VisitForStatement(BoundForStatement node) 2776public override BoundNode VisitForEachStatement(BoundForEachStatement node) 2805public override BoundNode VisitAsOperator(BoundAsOperator node) 2811public override BoundNode VisitIsOperator(BoundIsOperator node) 2826public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2839public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 3015public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 3023public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 3042public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 3047public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 3061public override BoundNode VisitSequence(BoundSequence node) 3076public override BoundNode VisitSequencePoint(BoundSequencePoint node) 3086public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node) 3092public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 3102public override BoundNode VisitStatementList(BoundStatementList node) 3107private BoundNode VisitStatementListWorker(BoundStatementList node) 3117public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 3122public override BoundNode VisitUnboundLambda(UnboundLambda node) 3128public override BoundNode VisitBreakStatement(BoundBreakStatement node) 3136public override BoundNode VisitContinueStatement(BoundContinueStatement node) 3144public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 3149public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 3156protected virtual BoundNode? VisitConditionalOperatorCore( 3220public override BoundNode VisitBaseReference(BoundBaseReference node) 3225public override BoundNode VisitDoStatement(BoundDoStatement node) 3239public override BoundNode VisitGotoStatement(BoundGotoStatement node) 3262public override BoundNode VisitLabelStatement(BoundLabelStatement node) 3268public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 3275public override BoundNode VisitLockStatement(BoundLockStatement node) 3282public override BoundNode VisitNoOpStatement(BoundNoOpStatement node) 3287public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node) 3292public override BoundNode VisitUsingStatement(BoundUsingStatement node) 3315public override BoundNode VisitFixedStatement(BoundFixedStatement node) 3322public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 3328public override BoundNode VisitThrowStatement(BoundThrowStatement node) 3336public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 3344public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 3351public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 3356public override BoundNode VisitDefaultExpression(BoundDefaultExpression node) 3361public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3366public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 3372public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 3381public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 3401public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 3407public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 3414public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node) 3419private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 3426public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 3431public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 3436public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 3444public override BoundNode VisitArrayLength(BoundArrayLength node) 3450public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 3468public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 3473public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 3478private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers) 3488public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 3507public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 3512public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 3535public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 3541public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node) 3546public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node) 3552public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 3558public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node) 3564public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 3569public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 3574public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 3579public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node) 3584public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 3589public override BoundNode VisitDiscardExpression(BoundDiscardExpression node) 3600public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 3607public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 3613public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 3646public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 3652public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 3659public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 3684public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) 3689public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) 3694public override BoundNode VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node)
FlowAnalysis\AbstractFlowPass_LocalFunctions.cs (2)
64public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement localFunc) 123BoundNode branch = pending.Branch;
FlowAnalysis\AbstractFlowPass_Switch.cs (5)
18public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 131public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 145public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 150public override BoundNode VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 155private BoundNode VisitSwitchExpression(BoundSwitchExpression node)
FlowAnalysis\AbstractRegionControlFlowPass.cs (6)
17BoundNode node, 18BoundNode firstInRegion, 19BoundNode lastInRegion) 24public override BoundNode Visit(BoundNode node) 31public override BoundNode VisitLambda(BoundLambda node)
FlowAnalysis\AbstractRegionDataFlowPass.cs (6)
19BoundNode node, 20BoundNode firstInRegion, 21BoundNode lastInRegion, 40public override BoundNode VisitLambda(BoundLambda node) 46public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 52public override BoundNode VisitNameOfOperator(BoundNameOfOperator node)
FlowAnalysis\AlwaysAssignedWalker.cs (9)
27private AlwaysAssignedWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 32internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 92public override BoundNode VisitLabel(BoundLabel node) 98public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 104private void ResolveLabel(BoundNode node, LabelSymbol label)
FlowAnalysis\ControlFlowPass.cs (16)
19private readonly PooledDictionary<LabelSymbol, BoundNode> _labelsDefined = PooledDictionary<LabelSymbol, BoundNode>.GetInstance(); 34internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node) 39internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 120public override BoundNode Visit(BoundNode node) 218var leave = pending.Branch; 226var leave = pending.Branch; 328public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 336public override BoundNode VisitGotoStatement(BoundGotoStatement node) 361if (_labelsDefined.TryGetValue(node.Label, out BoundNode target) && target == usingDecl.block) 385public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 398public override BoundNode VisitBlock(BoundBlock node) 411var result = base.VisitBlock(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 (52)
169BoundNode node, 194BoundNode node, 216BoundNode node, 217BoundNode firstInRegion, 218BoundNode lastInRegion, 235BoundNode node) 421var pendingBranch = pending.Branch; 544BoundNode node, 783private void NoteRead(BoundNode fieldOrEventAccess) 786BoundNode n = fieldOrEventAccess; 1508protected void Assign(BoundNode node, BoundExpression value, bool isRef = false, bool read = true) 1525protected virtual void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 2078public override BoundNode? VisitBlock(BoundBlock node) 2163public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 2166var result = base.VisitSwitchStatement(node); 2178public override BoundNode VisitForStatement(BoundForStatement node) 2182var result = base.VisitForStatement(node); 2188public override BoundNode VisitDoStatement(BoundDoStatement node) 2191var result = base.VisitDoStatement(node); 2196public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2199var result = base.VisitWhileStatement(node); 2207public override BoundNode VisitUsingStatement(BoundUsingStatement node) 2211var result = base.VisitUsingStatement(node); 2228public override BoundNode VisitFixedStatement(BoundFixedStatement node) 2234public override BoundNode VisitSequence(BoundSequence node) 2237var result = base.VisitSequence(node); 2306public override BoundNode VisitLocal(BoundLocal node) 2337public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 2348var result = base.VisitLocalDeclaration(node); 2356public override BoundNode VisitLocalId(BoundLocalId node) 2359public override BoundNode VisitParameterId(BoundParameterId node) 2362public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 2365public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2377public override BoundNode VisitLambda(BoundLambda node) 2423public override BoundNode VisitThisReference(BoundThisReference node) 2430public override BoundNode VisitParameter(BoundParameter node) 2444public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2451public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2458public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2465public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2474public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 2492public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 2626public override BoundNode VisitBaseReference(BoundBaseReference node) 2650public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2652var result = base.VisitFieldAccess(node); 2676public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2678var result = base.VisitPropertyAccess(node); 2699public override BoundNode VisitEventAccess(BoundEventAccess node) 2701var result = base.VisitEventAccess(node); 2730public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 2732var result = base.VisitObjectInitializerMember(node); 2742public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
FlowAnalysis\DefinitelyAssignedWalker.cs (6)
29BoundNode node, 30BoundNode firstInRegion, 31BoundNode lastInRegion) 37CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\EntryPointsWalker.cs (7)
23internal static IEnumerable<LabeledStatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, out bool? succeeded) 48private EntryPointsWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 58protected override void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement targetStmt)
FlowAnalysis\ExitPointsWalker.cs (11)
23private ExitPointsWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 41internal static ImmutableArray<StatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 70public override BoundNode VisitLabelStatement(BoundLabelStatement node) 76public override BoundNode VisitDoStatement(BoundDoStatement node) 86public override BoundNode VisitForEachStatement(BoundForEachStatement node) 96public override BoundNode VisitForStatement(BoundForStatement node) 106public override BoundNode VisitWhileStatement(BoundWhileStatement node)
FlowAnalysis\LocalDataFlowPass.cs (4)
37BoundNode node, 49BoundNode node, 51BoundNode firstInRegion, 52BoundNode lastInRegion,
FlowAnalysis\NullableWalker.cs (199)
454BoundNode node, 1324BoundNode node, 1351BoundNode node, 1390internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody) 1408internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics) 1446private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody) 1461BoundNode node, 1473internal static BoundNode AnalyzeAndRewrite( 1476BoundNode node, 1492BoundNode node, 1548internal static BoundNode AnalyzeAndRewriteSpeculation( 1550BoundNode node, 1595private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1605var rewrittenNode = rewriter.Visit(node); 1629BoundNode node, 1707BoundNode node, 1812private void TakeIncrementalSnapshot(BoundNode? node) 1818private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 2136private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode 2150private void VisitWithoutDiagnostics(BoundNode? node) 2806public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue) 2841public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node) 2976public override BoundNode? VisitLocal(BoundLocal node) 3007public override BoundNode? VisitBlock(BoundBlock node) 3112public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3300public override BoundNode? VisitDoStatement(BoundDoStatement node) 3306public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 3312public override BoundNode? VisitWithExpression(BoundWithExpression withExpr) 3334public override BoundNode? VisitForStatement(BoundForStatement node) 3341public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 3347public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 3354public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 3360public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 3366public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 3393public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 3542public override BoundNode? Visit(BoundNode? node) 3547private BoundNode VisitLValue(BoundNode node) 3566private BoundNode Visit(BoundNode? node, bool expressionIsRead) 3575var result = base.Visit(node); 3588public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 3594public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3602public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 3605var result = base.VisitUnconvertedCollectionExpression(node); 3610public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 3620foreach (var element in node.Elements) 4368public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 4429public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 4585BoundNode node, 4662public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 4696public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 5428public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 5465public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 5748public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 5754protected override BoundNode? VisitConditionalOperatorCore( 6045public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 6056public override BoundNode? VisitCall(BoundCall node) 6559private static bool HasImplicitTypeArguments(BoundNode node) 6627BoundNode node, 6648BoundNode node, 6686BoundNode node, 6857BoundNode node, 7809var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length); 8105public override BoundNode? VisitConversion(BoundConversion node) 8242public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 8248public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 8471public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 9424public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 9600public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 9683public override BoundNode? VisitLambda(BoundLambda node) 9732public override BoundNode? VisitUnboundLambda(UnboundLambda node) 9742public override BoundNode? VisitThisReference(BoundThisReference node) 9755public override BoundNode? VisitParameter(BoundParameter node) 9765public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 9942public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 9947private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt) 10058var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 10099var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 10258public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 10300BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder), 10330BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder), 10358public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 10385BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder), 10399BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder), 10420public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 10437public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 10495public override BoundNode? VisitBaseReference(BoundBaseReference node) 10501public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 10510public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 10531public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 10554public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 10568public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 10576public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 10582public override BoundNode? VisitEventAccess(BoundEventAccess node) 10939Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder); 10975public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 10977var result = base.VisitFromEndIndexExpression(node); 10982public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 10988public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 10994public override BoundNode? VisitBadExpression(BoundBadExpression node) 11016public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 11018var result = base.VisitTypeExpression(node); 11029public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 11032var result = base.VisitTypeOrValueExpression(node); 11037public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 11109public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 11111var result = base.VisitPointerIndirectionOperator(node); 11117public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 11119var result = base.VisitPointerElementAccess(node); 11125public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 11132public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 11134var result = base.VisitMakeRefOperator(node); 11139public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 11141var result = base.VisitRefValueOperator(node); 11237public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 11239var result = base.VisitAwaitExpression(node); 11268public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 11270var result = base.VisitTypeOfOperator(node); 11275public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 11277var result = base.VisitMethodInfo(node); 11282public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 11284var result = base.VisitFieldInfo(node); 11289public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 11292var result = base.VisitDefaultLiteral(node); 11297public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 11301var result = base.VisitDefaultExpression(node); 11317public override BoundNode? VisitIsOperator(BoundIsOperator node) 11351public override BoundNode? VisitAsOperator(BoundAsOperator node) 11359switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind) 11379public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 11381var result = base.VisitSizeOfOperator(node); 11387public override BoundNode? VisitArgList(BoundArgList node) 11389var result = base.VisitArgList(node); 11395public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 11403public override BoundNode? VisitLiteral(BoundLiteral node) 11406var result = base.VisitLiteral(node); 11411public override BoundNode? VisitUtf8String(BoundUtf8String node) 11414var result = base.VisitUtf8String(node); 11419public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 11421var result = base.VisitPreviousSubmissionReference(node); 11427public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 11429var result = base.VisitHostObjectMemberReference(node); 11435public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 11437var result = base.VisitPseudoVariable(node); 11442public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 11444var result = base.VisitRangeExpression(node); 11449public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 11456public override BoundNode? VisitLabel(BoundLabel node) 11458var result = base.VisitLabel(node); 11463public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 11475public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 11495public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 11521public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 11527public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 11535public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 11543public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 11551public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 11553var result = base.VisitImplicitReceiver(node); 11558public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 11563public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 11569public override BoundNode? VisitNewT(BoundNewT node) 11575public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 11577var result = base.VisitArrayInitialization(node); 11587public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 11681public override BoundNode? VisitQueryClause(BoundQueryClause node) 11683var result = base.VisitQueryClause(node); 11688public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 11690var result = base.VisitNameOfOperator(node); 11695public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 11697var result = base.VisitNamespaceExpression(node); 11702public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 11705var result = base.VisitUnconvertedInterpolatedString(node); 11710public override BoundNode? VisitStringInsert(BoundStringInsert node) 11712var result = base.VisitStringInsert(node); 11723public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 11731public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 11737public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 11743public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 11748private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 11765public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 11773public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 11780public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 11803public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 11841public override BoundNode? VisitLockStatement(BoundLockStatement node) 11849public override BoundNode? VisitAttribute(BoundAttribute node) 11862public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 11869public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 11877public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 11885public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 11908public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 11915public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 12483private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)> 12489public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y) 12500public int GetHashCode((BoundNode? expr, Symbol symbol) obj)
FlowAnalysis\NullableWalker.DebugVerifier.cs (25)
36public static void Verify(ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> analyzedNullabilityMap, SnapshotManager? snapshotManagerOpt, BoundNode node) 85public override BoundNode? Visit(BoundNode? node) 101public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 113public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 125public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 131public override BoundNode? VisitBadExpression(BoundBadExpression node) 150public override BoundNode? VisitQueryClause(BoundQueryClause node) 156public override BoundNode? VisitUnboundLambda(UnboundLambda node) 162public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 184public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 190public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 196public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 203public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 218public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 230public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 236public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 261public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 267public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 275public override BoundNode? VisitListPattern(BoundListPattern node) 283public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 290public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 304public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 311public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 319public override BoundNode? VisitConversion(BoundConversion node)
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\NullableWalker_Patterns.cs (17)
32private void VisitForRewriting(BoundNode node) 42public override BoundNode VisitPositionalSubpattern(BoundPositionalSubpattern node) 48public override BoundNode VisitPropertySubpattern(BoundPropertySubpattern node) 54public override BoundNode VisitRecursivePattern(BoundRecursivePattern node) 63public override BoundNode VisitConstantPattern(BoundConstantPattern node) 69public override BoundNode VisitDeclarationPattern(BoundDeclarationPattern node) 76public override BoundNode VisitDiscardPattern(BoundDiscardPattern node) 81public override BoundNode VisitSlicePattern(BoundSlicePattern node) 87public override BoundNode VisitListPattern(BoundListPattern node) 94public override BoundNode VisitTypePattern(BoundTypePattern node) 100public override BoundNode VisitRelationalPattern(BoundRelationalPattern node) 106public override BoundNode VisitNegatedPattern(BoundNegatedPattern node) 112public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 119public override BoundNode VisitITuplePattern(BoundITuplePattern node) 825public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 832public override BoundNode VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 1015public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node)
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, 231protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 278public override BoundNode VisitUnboundLambda(UnboundLambda node) 283public override BoundNode VisitRangeVariable(BoundRangeVariable node) 295private static ParameterSymbol GetRangeVariableUnderlyingParameter(BoundNode underlying) 314public override BoundNode VisitQueryClause(BoundQueryClause node)
FlowAnalysis\RegionAnalysisContext.cs (5)
25public readonly BoundNode BoundNode; 27public readonly BoundNode FirstInRegion, LastInRegion; 34public RegionAnalysisContext(CSharpCompilation compilation, Symbol member, BoundNode boundNode, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\RegionReachableWalker.cs (6)
17internal static void Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 39private RegionReachableWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\UnassignedAddressTakenVariablesWalker.cs (3)
18private UnassignedAddressTakenVariablesWalker(CSharpCompilation compilation, Symbol member, BoundNode node) 23internal static HashSet<PrefixUnaryExpressionSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node) 60public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
FlowAnalysis\UnassignedVariablesWalker.cs (2)
21private UnassignedVariablesWalker(CSharpCompilation compilation, Symbol member, BoundNode node) 26internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node,
FlowAnalysis\VariablesDeclaredWalker.cs (11)
22internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 39internal VariablesDeclaredWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 90public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 100public override BoundNode VisitLambda(BoundLambda node) 113public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 159public override BoundNode VisitQueryClause(BoundQueryClause node) 177public override BoundNode VisitLocal(BoundLocal node)
Generated\BoundNodes.xml.Generated.cs (1126)
322public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldEqualsValue(this); 352public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyEqualsValue(this); 382public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterEqualsValue(this); 410public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGlobalStatementInitializer(this); 483public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValuePlaceholder(this); 513public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCapturedReceiverPlaceholder(this); 554public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructValuePlaceholder(this); 589public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleOperandPlaceholder(this); 618public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableValuePlaceholder(this); 653public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDisposableValuePlaceholder(this); 691public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectOrCollectionValuePlaceholder(this); 726public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerValuePlaceholder(this); 764public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this); 799public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this); 834public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this); 869public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this); 904public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this); 935public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this); 963public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this); 996public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this); 1012public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false) 1021public ImmutableArray<BoundNode> ChildBoundNodes { get; } 1024public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this); 1026public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes) 1052public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this); 1087public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this); 1125public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this); 1166public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this); 1208public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this); 1256public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this); 1288public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this); 1317public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this); 1360public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this); 1392public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this); 1429public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this); 1466public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this); 1498public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this); 1528public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this); 1560public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this); 1592public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this); 1625public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this); 1678public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this); 1716public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this); 1761public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this); 1808public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this); 1842public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this); 1877public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this); 1918public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this); 1949public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this); 1988public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this); 2032public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this); 2065public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this); 2094public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefArrayAccess(this); 2124public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this); 2157public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this); 2192public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this); 2245public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this); 2277public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this); 2317public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this); 2360public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this); 2403public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this); 2438public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this); 2473public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this); 2511public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this); 2546public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this); 2581public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this); 2616public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this); 2651public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this); 2691public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this); 2734public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this); 2777public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this); 2806public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this); 2831public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this); 2866public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this); 2903public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this); 2935public 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); 4071public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this); 4102public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this); 4141public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this); 4175public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this); 4206public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this); 4243public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this); 4284public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this); 4315public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this); 4355public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this); 4390public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this); 4425public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this); 4460public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this); 4489public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this); 4538public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this); 4583public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this); 4616public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this); 4656public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this); 4693public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this); 4725public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this); 4756public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this); 4793public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this); 4830public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this); 4863public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this); 4926public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this); 4954public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this); 4988public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this); 5016public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this); 5061public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this); 5095public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this); 5130public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this); 5167public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this); 5213public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this); 5242public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this); 5270public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this); 5296public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this); 5325public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this); 5356public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this); 5397public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this); 5426public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this); 5455public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this); 5486public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this); 5517public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this); 5564public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this); 5613public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this); 5642public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this); 5674public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this); 5707public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this); 5749public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this); 5785public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this); 5821public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this); 5860public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this); 5913public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this); 5946public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this); 5987public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this); 6025public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this); 6058public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this); 6099public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this); 6127public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this); 6182public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this); 6221public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this); 6266public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this); 6304public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this); 6376public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this); 6392protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false) 6401public ImmutableArray<BoundNode> Elements { get; } 6406public BoundUnconvertedCollectionExpression(SyntaxNode syntax, ImmutableArray<BoundNode> elements, bool hasErrors = false) 6417public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedCollectionExpression(this); 6419public BoundUnconvertedCollectionExpression Update(ImmutableArray<BoundNode> elements) 6433public 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) 6462public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpression(this); 6464public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type) 6490public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadExpressionPlaceholder(this); 6530public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadElement(this); 6575public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this); 6605public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this); 6648public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this); 6680public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this); 6727public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this); 6776public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this); 6821public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this); 6849public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this); 6894public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this); 6926public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this); 6961public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this); 6997public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this); 7037public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this); 7067public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this); 7103public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this); 7135public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this); 7166public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this); 7212public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this); 7241public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this); 7281public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this); 7321public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this); 7357public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this); 7393public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this); 7444public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this); 7493public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this); 7534public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this); 7574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this); 7614public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this); 7658public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this); 7699public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this); 7725public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this); 7758public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this); 7800public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this); 7828public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this); 7856public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this); 7894public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this); 7929public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this); 7971public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this); 8032public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this); 8068public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this); 8117public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this); 8154public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this); 8198public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this); 8237public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this); 8273public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this); 8315public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this); 8345public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this); 8377public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this); 8409public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this); 8444public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this); 8474public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this); 8509public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this); 8544public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this); 8572public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this); 8615public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this); 8641public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this); 8676public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this); 8712public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this); 8742public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this); 8773public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this); 8808public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this); 8826internal R VisitInternal(BoundNode node, A arg) 9538public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node); 9539public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node); 9540public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node); 9541public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node); 9542public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node); 9543public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node); 9544public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node); 9545public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node); 9546public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node); 9547public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node); 9548public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node); 9549public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node); 9550public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node); 9551public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node); 9552public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node); 9553public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node); 9554public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node); 9555public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node); 9556public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node); 9557public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node); 9558public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node); 9559public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node); 9560public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node); 9561public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node); 9562public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node); 9563public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node); 9564public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node); 9565public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node); 9566public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node); 9567public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node); 9568public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node); 9569public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node); 9570public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node); 9571public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node); 9572public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node); 9573public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node); 9574public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node); 9575public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node); 9576public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node); 9577public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node); 9578public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node); 9579public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node); 9580public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node); 9581public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node); 9582public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node); 9583public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node); 9584public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node); 9585public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node); 9586public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node); 9587public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node); 9588public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node); 9589public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node); 9590public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node); 9591public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node); 9592public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node); 9593public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node); 9594public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node); 9595public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node); 9596public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node); 9597public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node); 9598public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node); 9599public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node); 9600public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node); 9601public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node); 9602public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node); 9603public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node); 9604public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node); 9605public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node); 9606public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node); 9607public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node); 9608public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node); 9609public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node); 9610public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node); 9611public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node); 9612public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node); 9613public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node); 9614public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node); 9615public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node); 9616public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node); 9617public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node); 9618public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node); 9619public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node); 9620public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node); 9621public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node); 9622public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node); 9623public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node); 9624public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node); 9625public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node); 9626public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node); 9627public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node); 9628public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node); 9629public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node); 9630public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node); 9631public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node); 9632public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node); 9633public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node); 9634public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node); 9635public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node); 9636public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node); 9637public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node); 9638public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node); 9639public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node); 9640public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node); 9641public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node); 9642public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node); 9643public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node); 9644public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node); 9645public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node); 9646public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node); 9647public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node); 9648public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 9649public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node); 9650public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node); 9651public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node); 9652public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node); 9653public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node); 9654public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node); 9655public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node); 9656public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node); 9657public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node); 9658public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node); 9659public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node); 9660public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node); 9661public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node); 9662public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node); 9663public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node); 9664public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node); 9665public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 9666public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node); 9667public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node); 9668public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node); 9669public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node); 9670public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node); 9671public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node); 9672public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node); 9673public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node); 9674public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node); 9675public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node); 9676public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node); 9677public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node); 9678public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node); 9679public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node); 9680public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node); 9681public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node); 9682public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node); 9683public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node); 9684public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node); 9685public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node); 9686public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node); 9687public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node); 9688public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node); 9689public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node); 9690public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node); 9691public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node); 9692public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node); 9693public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node); 9694public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node); 9695public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node); 9696public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node); 9697public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node); 9698public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 9699public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node); 9700public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node); 9701public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node); 9702public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node); 9703public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node); 9704public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node); 9705public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node); 9706public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node); 9707public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node); 9708public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node); 9709public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node); 9710public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node); 9711public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node); 9712public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node); 9713public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node); 9714public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node); 9715public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node); 9716public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node); 9717public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node); 9718public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node); 9719public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node); 9720public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node); 9721public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node); 9722public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node); 9723public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node); 9724public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node); 9725public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node); 9726public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node); 9727public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node); 9728public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node); 9729public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node); 9730public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node); 9731public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node); 9732public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node); 9733public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node); 9734public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node); 9735public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node); 9736public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node); 9737public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node); 9738public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node); 9739public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node); 9740public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node); 9741public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node); 9742public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node); 9743public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node); 9744public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node); 9745public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node); 9746public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node); 9747public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node); 9748public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node); 9749public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node); 9750public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node); 9751public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node); 9752public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node); 9753public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node); 9754public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node); 9755public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node); 9756public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node); 9757public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node); 9758public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node); 9759public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node); 9760public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node); 9761public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node); 9762public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node); 9763public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node); 9764public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node); 9765public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node); 9766public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node); 9767public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node); 9768public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node); 9769public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node); 9774public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 9779public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 9784public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 9789public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 9794public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null; 9795public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 9800public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null; 9801public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null; 9802public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null; 9803public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null; 9804public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null; 9805public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null; 9806public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => null; 9807public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null; 9808public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null; 9809public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null; 9810public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null; 9811public override BoundNode? VisitDup(BoundDup node) => null; 9812public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 9817public override BoundNode? VisitBadExpression(BoundBadExpression node) 9822public override BoundNode? VisitBadStatement(BoundBadStatement node) 9827public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 9832public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 9838public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null; 9839public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null; 9840public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 9845public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 9850public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 9855public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 9860public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null; 9861public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 9866public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 9872public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 9878public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 9883public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 9888public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 9893public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 9898public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 9904public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 9910public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 9916public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 9922public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 9928public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 9934public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 9940public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 9946public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 9952public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 9959public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 9966public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 9972public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 9977public override BoundNode? VisitArrayLength(BoundArrayLength node) 9982public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 9988public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 9994public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 9999public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 10005public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null; 10006public override BoundNode? VisitLocalId(BoundLocalId node) => null; 10007public override BoundNode? VisitParameterId(BoundParameterId node) => null; 10008public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null; 10009public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null; 10010public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null; 10011public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null; 10012public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null; 10013public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null; 10014public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null; 10015public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null; 10016public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null; 10017public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null; 10018public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null; 10019public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null; 10020public override BoundNode? VisitIsOperator(BoundIsOperator node) 10026public override BoundNode? VisitAsOperator(BoundAsOperator node) 10032public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 10037public override BoundNode? VisitConversion(BoundConversion node) 10042public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 10047public override BoundNode? VisitArgList(BoundArgList node) => null; 10048public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 10053public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 10058public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 10063public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 10068public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null; 10069public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null; 10070public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null; 10071public override BoundNode? VisitBlock(BoundBlock node) 10077public override BoundNode? VisitScope(BoundScope node) 10082public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 10087public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 10094public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 10099public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 10105public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 10111public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null; 10112public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 10117public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 10122public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null; 10123public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 10128public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 10133public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => null; 10134public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => null; 10135public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 10142public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 10147public override BoundNode? VisitIfStatement(BoundIfStatement node) 10154public override BoundNode? VisitDoStatement(BoundDoStatement node) 10160public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 10166public override BoundNode? VisitForStatement(BoundForStatement node) 10174public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 10184public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 10190public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 10198public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 10204public override BoundNode? VisitLockStatement(BoundLockStatement node) 10210public override BoundNode? VisitTryStatement(BoundTryStatement node) 10217public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 10225public override BoundNode? VisitLiteral(BoundLiteral node) => null; 10226public override BoundNode? VisitUtf8String(BoundUtf8String node) => null; 10227public override BoundNode? VisitThisReference(BoundThisReference node) => null; 10228public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null; 10229public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null; 10230public override BoundNode? VisitBaseReference(BoundBaseReference node) => null; 10231public override BoundNode? VisitLocal(BoundLocal node) => null; 10232public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null; 10233public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 10238public override BoundNode? VisitParameter(BoundParameter node) => null; 10239public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null; 10240public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 10246public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 10251public override BoundNode? VisitLabel(BoundLabel node) => null; 10252public override BoundNode? VisitStatementList(BoundStatementList node) 10257public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 10262public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 10269public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 10275public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 10281public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 10286public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 10292public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 10299public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 10306public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null; 10307public override BoundNode? VisitDagTemp(BoundDagTemp node) 10312public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 10317public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 10322public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 10327public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 10332public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 10337public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 10342public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 10347public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 10352public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 10357public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 10362public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 10371public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 10380public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 10386public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 10392public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 10398public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 10403public override BoundNode? VisitSequence(BoundSequence node) 10409public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 10415public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 10420public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 10426public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 10432public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 10439public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null; 10440public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 10446public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10451public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 10456public override BoundNode? VisitCall(BoundCall node) 10462public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 10468public override BoundNode? VisitAttribute(BoundAttribute node) 10474public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 10479public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 10485public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 10490public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 10495public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null; 10496public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 10501public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 10506public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 10511public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 10517public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 10522public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 10528public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 10533public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null; 10534public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 10540public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 10546public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 10552public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null; 10553public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 10559public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null; 10560public override BoundNode? VisitNewT(BoundNewT node) 10565public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 10570public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 10576public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 10581public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 10587public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 10593public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 10598public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null; 10599public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 10604public override BoundNode? VisitEventAccess(BoundEventAccess node) 10609public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 10615public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 10621public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 10627public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 10633public override BoundNode? VisitLambda(BoundLambda node) 10638public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null; 10639public override BoundNode? VisitQueryClause(BoundQueryClause node) 10644public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 10649public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 10654public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 10659public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 10664public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null; 10665public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null; 10666public override BoundNode? VisitStringInsert(BoundStringInsert node) 10673public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 10679public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 10684public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null; 10685public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 10691public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 10699public override BoundNode? VisitListPattern(BoundListPattern node) 10705public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 10710public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 10715public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 10720public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 10726public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 10731public override BoundNode? VisitTypePattern(BoundTypePattern node) 10736public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 10742public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 10747public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 10752public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null; 10753public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 10758public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 10763public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 10768public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null; 10769public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 10775public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 10782public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 10787public override BoundNode? VisitWithExpression(BoundWithExpression node) 10797public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 10802public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 10807public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 10812public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 10817public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 10822public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 10828public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 10833public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 10838public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 10843public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 10848public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 10853public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 10858public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 10863public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 10868public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 10873public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 10878public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 10883public override BoundNode? VisitDup(BoundDup node) 10888public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 10894public override BoundNode? VisitBadExpression(BoundBadExpression node) 10900public override BoundNode? VisitBadStatement(BoundBadStatement node) 10902ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes); 10905public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 10910public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 10917public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 10922public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 10927public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 10934public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 10945public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 10951public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 10957public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 10963public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 10969public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 10976public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 10983public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 10989public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 10995public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 11001public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 11007public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 11014public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 11021public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 11028public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 11036public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 11047public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 11054public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 11061public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 11070public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 11077public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 11085public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 11094public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 11101public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 11107public override BoundNode? VisitArrayLength(BoundArrayLength node) 11113public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 11119public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 11126public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 11132public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 11138public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 11143public override BoundNode? VisitLocalId(BoundLocalId node) 11148public override BoundNode? VisitParameterId(BoundParameterId node) 11153public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 11158public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 11163public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 11168public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 11173public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 11178public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 11183public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 11188public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 11193public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 11198public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 11203public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 11208public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 11214public override BoundNode? VisitIsOperator(BoundIsOperator node) 11221public override BoundNode? VisitAsOperator(BoundAsOperator node) 11230public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 11236public override BoundNode? VisitConversion(BoundConversion node) 11242public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 11248public override BoundNode? VisitArgList(BoundArgList node) 11253public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 11259public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 11268public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 11273public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 11278public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node; 11279public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node; 11280public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node; 11281public override BoundNode? VisitBlock(BoundBlock node) 11287public override BoundNode? VisitScope(BoundScope node) 11292public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 11297public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 11304public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 11309public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 11315public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 11321public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node; 11322public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 11327public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 11332public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node; 11333public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 11338public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 11343public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => node; 11344public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => node; 11345public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 11353public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 11358public override BoundNode? VisitIfStatement(BoundIfStatement node) 11365public override BoundNode? VisitDoStatement(BoundDoStatement node) 11371public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 11377public override BoundNode? VisitForStatement(BoundForStatement node) 11385public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 11397public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 11403public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 11411public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 11417public override BoundNode? VisitLockStatement(BoundLockStatement node) 11423public override BoundNode? VisitTryStatement(BoundTryStatement node) 11430public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11439public override BoundNode? VisitLiteral(BoundLiteral node) 11444public override BoundNode? VisitUtf8String(BoundUtf8String node) 11449public override BoundNode? VisitThisReference(BoundThisReference node) 11454public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 11459public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 11464public override BoundNode? VisitBaseReference(BoundBaseReference node) 11469public override BoundNode? VisitLocal(BoundLocal node) 11474public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 11479public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 11485public override BoundNode? VisitParameter(BoundParameter node) 11490public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => node; 11491public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 11497public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 11502public override BoundNode? VisitLabel(BoundLabel node) 11507public override BoundNode? VisitStatementList(BoundStatementList node) 11512public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 11517public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11524public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 11532public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 11541public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 11546public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 11552public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 11559public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 11566public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => node; 11567public override BoundNode? VisitDagTemp(BoundDagTemp node) 11573public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 11579public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 11584public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 11589public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 11594public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 11599public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 11604public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 11610public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 11615public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 11620public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 11625public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 11635public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 11645public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 11651public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 11657public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 11663public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 11669public override BoundNode? VisitSequence(BoundSequence node) 11676public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 11683public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 11689public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 11696public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 11703public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 11711public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 11716public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 11723public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11729public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 11735public override BoundNode? VisitCall(BoundCall node) 11742public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 11749public override BoundNode? VisitAttribute(BoundAttribute node) 11756public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 11762public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 11769public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 11771ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 11775public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 11782ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 11786public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 11791public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 11801public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11807public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 11814public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 11821public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 11827public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 11834public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 11841public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 11847public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 11854public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 11861public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 11868public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 11873public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 11880public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 11885public override BoundNode? VisitNewT(BoundNewT node) 11891public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 11897public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 11904public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 11910public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 11918public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 11926public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 11932public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 11937public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 11943public override BoundNode? VisitEventAccess(BoundEventAccess node) 11949public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 11956public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 11967public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 11974public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 11981public override BoundNode? VisitLambda(BoundLambda node) 11988public override BoundNode? VisitUnboundLambda(UnboundLambda node) 11993public override BoundNode? VisitQueryClause(BoundQueryClause node) 12002public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 12007public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 12013public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 12019public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 12025public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 12030public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 12035public override BoundNode? VisitStringInsert(BoundStringInsert node) 12043public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 12051public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 12058public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 12064public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 12072public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 12082public override BoundNode? VisitListPattern(BoundListPattern node) 12094public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 12104public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 12111public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 12116public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 12122public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 12128public override BoundNode? VisitTypePattern(BoundTypePattern node) 12135public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 12143public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 12150public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 12157public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 12162public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 12168public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 12174public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 12180public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 12185public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 12191public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 12198public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 12204public override BoundNode? VisitWithExpression(BoundWithExpression node) 12226public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 12234public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 12242public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 12250public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 12262public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 12279public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 12296public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 12308public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 12320public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 12332public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 12344public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 12356public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 12368public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 12380public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 12392public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 12404public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 12416public override BoundNode? VisitDup(BoundDup node) 12428public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 12445public override BoundNode? VisitBadExpression(BoundBadExpression node) 12463public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 12481public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 12493public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 12505public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 12525public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 12549public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 12566public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 12583public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 12601public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 12618public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 12636public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 12654public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 12672public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 12689public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 12706public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 12724public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 12743public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 12761public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 12784public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 12802public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 12820public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 12840public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 12858public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 12877public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 12897public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 12915public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 12932public override BoundNode? VisitArrayLength(BoundArrayLength node) 12949public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 12958public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 12976public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 12994public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 13011public override BoundNode? VisitLocalId(BoundLocalId node) 13029public override BoundNode? VisitParameterId(BoundParameterId node) 13047public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 13059public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 13071public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 13083public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 13095public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 13107public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 13119public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 13131public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 13143public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 13161public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 13179public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 13191public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 13208public override BoundNode? VisitIsOperator(BoundIsOperator node) 13226public override BoundNode? VisitAsOperator(BoundAsOperator node) 13246public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 13263public override BoundNode? VisitConversion(BoundConversion node) 13281public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 13299public override BoundNode? VisitArgList(BoundArgList node) 13311public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 13328public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 13349public override BoundNode? VisitBlock(BoundBlock node) 13358public override BoundNode? VisitScope(BoundScope node) 13365public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 13372public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 13381public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 13389public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 13400public override BoundNode? VisitDoStatement(BoundDoStatement node) 13408public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 13416public override BoundNode? VisitForStatement(BoundForStatement node) 13427public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 13441public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 13451public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 13459public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13470public override BoundNode? VisitLiteral(BoundLiteral node) 13482public override BoundNode? VisitUtf8String(BoundUtf8String node) 13494public override BoundNode? VisitThisReference(BoundThisReference node) 13506public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 13518public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 13530public override BoundNode? VisitBaseReference(BoundBaseReference node) 13542public override BoundNode? VisitLocal(BoundLocal node) 13559public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 13576public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 13594public override BoundNode? VisitParameter(BoundParameter node) 13611public override BoundNode? VisitLabel(BoundLabel node) 13623public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 13632public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 13651public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 13671public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 13678public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 13685public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 13692public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 13699public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 13710public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 13721public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 13729public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 13746public override BoundNode? VisitSequence(BoundSequence node) 13765public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 13784public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 13801public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 13820public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 13838public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 13858public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 13870public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 13888public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 13908public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 13926public override BoundNode? VisitCall(BoundCall node) 13946public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 13965public override BoundNode? VisitAttribute(BoundAttribute node) 13984public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 14001public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 14021public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 14023ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14038public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 14046ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14061public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 14073public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 14090public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 14108public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 14127public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 14144public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 14162public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 14181public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 14198public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 14216public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 14235public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 14254public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 14266public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 14285public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 14302public override BoundNode? VisitNewT(BoundNewT node) 14319public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 14337public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 14355public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 14372public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 14391public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 14410public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 14428public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 14445public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14463public override BoundNode? VisitEventAccess(BoundEventAccess node) 14481public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 14501public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 14519public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 14538public override BoundNode? VisitLambda(BoundLambda node) 14557public override BoundNode? VisitUnboundLambda(UnboundLambda node) 14574public override BoundNode? VisitQueryClause(BoundQueryClause node) 14595public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 14612public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 14629public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 14646public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 14658public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 14670public override BoundNode? VisitStringInsert(BoundStringInsert node) 14689public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 14708public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 14716public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 14723public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 14733public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 14746public override BoundNode? VisitListPattern(BoundListPattern node) 14760public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 14771public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 14781public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 14788public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 14795public override BoundNode? VisitTypePattern(BoundTypePattern node) 14803public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 14812public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 14820public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 14828public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 14840public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 14857public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 14875public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 14893public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 14910public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 14919public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 14936public override BoundNode? VisitWithExpression(BoundWithExpression node) 14961public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (21)
135public override BoundNode VisitTryStatement(BoundTryStatement node) 145var result = visitTryStatement(node, tryStatementSyntax); 150BoundNode visitTryStatement(BoundTryStatement node, SyntaxNode tryStatementSyntax) 360public override BoundNode VisitGotoStatement(BoundGotoStatement node) 368public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 374public override BoundNode VisitReturnStatement(BoundReturnStatement node) 521public override BoundNode VisitCatchBlock(BoundCatchBlock node) 526private BoundNode VisitCatchBlock(BoundCatchBlock node, AwaitCatchFrame parentAwaitCatchFrame) 536var result = base.VisitCatchBlock(node); 681public override BoundNode VisitLocal(BoundLocal node) 693public override BoundNode VisitThrowStatement(BoundThrowStatement node) 705public override BoundNode VisitLambda(BoundLambda node) 713var result = base.VisitLambda(node); 721public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 729var result = base.VisitLocalFunctionStatement(node); 805public override BoundNode VisitTryStatement(BoundTryStatement node) 847public override BoundNode VisitCatchBlock(BoundCatchBlock node) 852var result = base.VisitCatchBlock(node); 869public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 875public override BoundNode VisitLambda(BoundLambda node) 891public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (4)
250public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 303public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 338public override BoundNode VisitTryStatement(BoundTryStatement node) 392public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock extractedFinally)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (5)
304public sealed override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 323public sealed override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 329public sealed override BoundNode VisitBadExpression(BoundBadExpression node) 394public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 641public sealed override BoundNode VisitReturnStatement(BoundReturnStatement node)
Lowering\AsyncRewriter\AsyncRewriter.cs (4)
95return new BoundBadStatement(bodyWithAwaitLifted.Syntax, ImmutableArray.Create<BoundNode>(bodyWithAwaitLifted), hasErrors: true); 223return new BoundBadStatement(F.Syntax, ImmutableArray<BoundNode>.Empty, hasErrors: true); 305public static bool ContainsAwait(BoundNode node) 312public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (7)
70BoundNode node, 104private static BoundNode FindNodeToAnalyze(BoundNode node) 606/// the given <see cref="BoundNode"/>. 608public static Scope GetScopeParent(Scope treeRoot, BoundNode scopeNode) 615/// Finds a <see cref="Scope" /> with a matching <see cref="BoundNode"/> 618public static Scope GetScopeWithMatchingBoundNode(Scope treeRoot, BoundNode node)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (26)
61public readonly BoundNode BoundNode; 80public Scope(Scope parent, BoundNode boundNode, NestedFunction containingFunction) 272/// <see cref="Build(BoundNode, MethodSymbol, HashSet{MethodSymbol}, DiagnosticBag)"/> 368BoundNode node, 413public override BoundNode VisitMethodGroup(BoundMethodGroup node) 416public override BoundNode VisitBlock(BoundBlock node) 420var result = base.VisitBlock(node); 425public override BoundNode VisitCatchBlock(BoundCatchBlock node) 429var result = base.VisitCatchBlock(node); 434public override BoundNode VisitSequence(BoundSequence node) 438var result = base.VisitSequence(node); 443public override BoundNode VisitLambda(BoundLambda node) 449var result = VisitNestedFunction(node.Symbol, node.Body); 455public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 469public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 481public override BoundNode VisitParameter(BoundParameter node) 487public override BoundNode VisitLocal(BoundLocal node) 493public override BoundNode VisitBaseReference(BoundBaseReference node) 499public override BoundNode VisitThisReference(BoundThisReference node) 522public override BoundNode VisitLabelStatement(BoundLabelStatement node) 529public override BoundNode VisitGotoStatement(BoundGotoStatement node) 536public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 569private BoundNode? VisitNestedFunction(MethodSymbol functionSymbol, BoundBlock? body) 596var result = _inExpressionTree 710private void PushOrReuseScope<TSymbol>(BoundNode node, ImmutableArray<TSymbol> locals) 730private void CreateAndPushScope(BoundNode node)
Lowering\ClosureConversion\ClosureConversion.cs (33)
88private readonly Dictionary<BoundNode, Analysis.ClosureEnvironment> _frames = new Dictionary<BoundNode, Analysis.ClosureEnvironment>(); 332static partial void CheckLocalsDefined(BoundNode node); 365var scopeBoundNode = scope.BoundNode; 635private static void InsertAndFreePrologue<T>(ArrayBuilder<BoundStatement> result, ArrayBuilder<T> prologue) where T : BoundNode 645result.Add(new BoundExpressionStatement(node.Syntax, (BoundExpression)(BoundNode)node)); 659private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F) 725var result = F(prologue, addedLocals); 819protected override BoundNode VisitUnhoistedParameter(BoundParameter node) 830public override BoundNode VisitThisReference(BoundThisReference node) 847public override BoundNode VisitBaseReference(BoundBaseReference node) 854public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1069public override BoundNode VisitCall(BoundCall node) 1103var visited = base.VisitCall(node); 1150public override BoundNode VisitBlock(BoundBlock node) 1198public override BoundNode VisitScope(BoundScope node) 1214public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1230private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) 1288public override BoundNode VisitSequence(BoundSequence node) 1304public override BoundNode VisitStatementList(BoundStatementList node) 1329public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1362public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 1389public override BoundNode VisitConversion(BoundConversion conversion) 1419public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1424BoundNode lambdaScope; 1516out BoundNode lambdaScope, 1533BoundNode tmpScope = null; 1618private BoundNode RewriteLambdaConversion(BoundLambda node) 1628var result0 = wasInExpressionLambda ? node : ExpressionLambdaRewriter.RewriteLambda(node, CompilationState, TypeMap, RecursionDepth, Diagnostics); 1636BoundNode lambdaScope; 1788public override BoundNode VisitLambda(BoundLambda node)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
114internal static BoundNode RewriteLambda(BoundLambda node, TypeCompilationState compilationState, TypeMap typeMap, int recursionDepth, BindingDiagnosticBag diagnostics) 805if (BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder) is { IsUserDefined: true } leftConversion)
Lowering\DiagnosticsPass_ExpressionTrees.cs (67)
31public static void IssueDiagnostics(CSharpCompilation compilation, BoundNode node, BindingDiagnosticBag diagnostics, MethodSymbol containingSymbol) 59private void Error(ErrorCode code, BoundNode node, params object[] args) 69private void NoteUnsafe(BoundNode node) 78public override BoundNode VisitArrayCreation(BoundArrayCreation node) 89public override BoundNode VisitArrayAccess(BoundArrayAccess node) 101public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 111public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node) 121public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 131public override BoundNode VisitRangeExpression(BoundRangeExpression node) 141public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node) 151public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 160var result = base.VisitLocalFunctionStatement(node); 165public override BoundNode VisitThisReference(BoundThisReference node) 171public override BoundNode VisitBaseReference(BoundBaseReference node) 181public override BoundNode VisitLocal(BoundLocal node) 187public override BoundNode VisitParameter(BoundParameter node) 229public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 239public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 249public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 261public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 271public override BoundNode VisitEventAccess(BoundEventAccess node) 284public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 297public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 311BoundNode node) 371public override BoundNode Visit(BoundNode node) 385public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 395public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 405public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 415public override BoundNode VisitArgListOperator(BoundArgListOperator node) 425public override BoundNode VisitConditionalAccess(BoundConditionalAccess node) 435public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 450public override BoundNode VisitCall(BoundCall node) 509public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 520public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 526public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 538private void CheckRefReturningPropertyAccess(BoundNode node, PropertySymbol property) 546public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 560public override BoundNode VisitLambda(BoundLambda node) 644var result = base.VisitLambda(node); 649public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 679public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 713public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 727public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 738public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 748public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 754public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 760public override BoundNode VisitConversion(BoundConversion node) 823var result = base.VisitConversion(node); 829public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 843public override BoundNode VisitMethodGroup(BoundMethodGroup node) 881public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 888public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 898public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 908public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 924public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 935public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 945public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 955public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 965public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 975public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 985public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 995public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 1005public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1015public override BoundNode VisitWithExpression(BoundWithExpression node) 1025public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1035public override BoundNode VisitCollectionExpression(BoundCollectionExpression node)
Lowering\DiagnosticsPass_Warnings.cs (4)
350private static bool ConvertedHasEqual(BinaryOperatorKind oldOperatorKind, BoundNode node, out TypeSymbol type) 392private void CheckVacuousComparisons(BoundBinaryOperator tree, ConstantValue constantValue, BoundNode operand) 930public override BoundNode VisitFieldAccess(BoundFieldAccess node) 936public override BoundNode VisitPropertyGroup(BoundPropertyGroup node)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
544syntaxForSpan = ((BoundNode?)usingStatement.ExpressionOpt ?? usingStatement.DeclarationsOpt)!.Syntax;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
409private bool TryGetLocalOrParameterInfo(BoundNode node, [NotNullWhen(true)] out Symbol? symbol, [NotNullWhen(true)] out TypeSymbol? type, [NotNullWhen(true)] out BoundExpression? indexExpression)
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (5)
313public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 318public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 342public override BoundNode VisitGotoStatement(BoundGotoStatement node) 351public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 357public override BoundNode VisitTryStatement(BoundTryStatement node)
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.YieldsInTryAnalysis.cs (4)
59public override BoundNode VisitTryStatement(BoundTryStatement node) 102public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 108public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 124public override BoundNode VisitLabelStatement(BoundLabelStatement node)
Lowering\LocalRewriter\LocalRewriter.cs (39)
173return new BoundBadStatement(statement.Syntax, ImmutableArray.Create<BoundNode>(statement), hasErrors: true); 203public override BoundNode? Visit(BoundNode? node) 312public override BoundNode? VisitParameter(BoundParameter node) 326public override BoundNode VisitLambda(BoundLambda node) 380public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 455public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 460public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 465public override BoundNode VisitValuePlaceholder(BoundValuePlaceholder node) 470public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 475public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 485public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 488public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 491public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 556public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 562public override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 568public override BoundNode VisitBadExpression(BoundBadExpression node) 646public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 679public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 745public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 817public override BoundNode VisitArrayAccess(BoundArrayAccess node) 834BoundNode resultExpr; 1149public static void Validate(BoundNode node) 1161public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 1167public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 1173public override BoundNode? VisitIfStatement(BoundIfStatement node) 1179public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 1185public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 1191public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 1197public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 1203public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 1209public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 1215public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 1221public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 1227public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 1233public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 1239public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1245public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1251private void Fail(BoundNode node)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (16)
141public override BoundNode Visit(BoundNode node) 178public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 192public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 198public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 204public override BoundNode VisitConversion(BoundConversion node) 237public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 250public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 256public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 262public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 268public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 279public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 290public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 300public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 311public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 326public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
Lowering\LocalRewriter\LocalRewriter.PlaceholderReplacer.cs (6)
23var result = new PlaceholderReplacer(placeholders).Visit(expr); 28private BoundNode ReplacePlaceholder(BoundEarlyValuePlaceholderBase placeholder) 35public override BoundNode VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 40public override BoundNode VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 45public override BoundNode VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 50public override BoundNode VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
Lowering\LocalRewriter\LocalRewriter_AnonymousObjectCreation.cs (1)
15public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
Lowering\LocalRewriter\LocalRewriter_AsOperator.cs (4)
16public override BoundNode VisitAsOperator(BoundAsOperator node) 25public override BoundNode VisitTypeExpression(BoundTypeExpression node) 27var result = base.VisitTypeExpression(node); 49var conversion = BoundNode.GetConversion(operandConversion, operandPlaceholder);
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
15public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
13public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (2)
16public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 21public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
Lowering\LocalRewriter\LocalRewriter_Block.cs (2)
14public override BoundNode VisitBlock(BoundBlock node) 127public override BoundNode VisitNoOpStatement(BoundNoOpStatement node)
Lowering\LocalRewriter\LocalRewriter_BreakStatement.cs (1)
13public override BoundNode VisitBreakStatement(BoundBreakStatement node)
Lowering\LocalRewriter\LocalRewriter_Call.cs (3)
19public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 321public override BoundNode VisitCall(BoundCall node) 1654public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (14)
20public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 26public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 114static bool canOptimizeListElement(BoundNode element, MethodSymbol addMethod) 133static BoundNode unwrapListElement(BoundCollectionExpression node, BoundNode element) 345foreach (var element in elements) 528ImmutableArray<BoundNode> elements, 973private BoundExpression CreateAndPopulateList(BoundCollectionExpression node, TypeWithAnnotations elementType, ImmutableArray<BoundNode> elements) 1153private BoundExpression RewriteCollectionExpressionElementExpression(BoundNode element) 1162ImmutableArray<BoundNode> elements, 1178ImmutableArray<BoundNode> elements, 1188var element = elements[i]; 1222private BoundExpression GetKnownLengthExpression(ImmutableArray<BoundNode> elements, int numberIncludingLastSpread, ArrayBuilder<BoundLocal> rewrittenExpressions) 1231var element = elements[i];
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
17public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.cs (3)
13public override BoundNode VisitConditionalAccess(BoundConditionalAccess node) 19public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 202public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node)
Lowering\LocalRewriter\LocalRewriter_ConditionalOperator.cs (1)
18public override BoundNode VisitConditionalOperator(BoundConditionalOperator node)
Lowering\LocalRewriter\LocalRewriter_ContinueStatement.cs (1)
13public override BoundNode VisitContinueStatement(BoundContinueStatement node)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (2)
18public override BoundNode VisitConversion(BoundConversion node) 87public override BoundNode VisitUtf8String(BoundUtf8String node)
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (3)
17public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 237BoundNode.GetConversion(nestedConversion, placeholder), temps, effects, isUsed, inInit); 373if (BoundNode.GetConversion(conversion, placeholder).IsIdentity)
Lowering\LocalRewriter\LocalRewriter_DelegateCreationExpression.cs (1)
14public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
Lowering\LocalRewriter\LocalRewriter_DoStatement.cs (1)
15public override BoundNode VisitDoStatement(BoundDoStatement node)
Lowering\LocalRewriter\LocalRewriter_Event.cs (2)
19public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 209public override BoundNode VisitEventAccess(BoundEventAccess node)
Lowering\LocalRewriter\LocalRewriter_ExpressionStatement.cs (1)
14public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
Lowering\LocalRewriter\LocalRewriter_Field.cs (1)
11public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (5)
17public override BoundNode VisitFixedStatement(BoundFixedStatement node) 167private Dictionary<BoundNode, HashSet<LabelSymbol>>? _lazyUnmatchedLabelCache; 175private bool HasGotoOut(BoundNode node) 179_lazyUnmatchedLabelCache = new Dictionary<BoundNode, HashSet<LabelSymbol>>(); 189public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (7)
33public override BoundNode VisitForEachStatement(BoundForEachStatement node) 136BoundNode node, 853BoundNode node, 1002BoundNode node, 1233private void InstrumentForEachStatementCollectionVarDeclaration(BoundNode node, [NotNullIfNotNull(nameof(collectionVarDecl))] ref BoundStatement? collectionVarDecl) 1241private void InstrumentForEachStatementIterationVarDeclaration(BoundNode node, ref BoundStatement iterationVarDecl) 1257private void InstrumentForEachStatement(BoundNode node, ref BoundStatement result)
Lowering\LocalRewriter\LocalRewriter_ForStatement.cs (2)
15public override BoundNode VisitForStatement(BoundForStatement node) 41BoundNode original,
Lowering\LocalRewriter\LocalRewriter_FunctionPointerInvocation.cs (1)
14public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
Lowering\LocalRewriter\LocalRewriter_GotoStatement.cs (2)
13public override BoundNode VisitGotoStatement(BoundGotoStatement node) 33public override BoundNode? VisitLabel(BoundLabel node)
Lowering\LocalRewriter\LocalRewriter_HostObjectMemberReference.cs (1)
11public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
Lowering\LocalRewriter\LocalRewriter_IfStatement.cs (1)
16public override BoundNode VisitIfStatement(BoundIfStatement node)
Lowering\LocalRewriter\LocalRewriter_Index.cs (1)
13public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (10)
39public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 67public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 199public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 398public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 403public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 408public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 413public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 418public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 423public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 428public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
Lowering\LocalRewriter\LocalRewriter_IsOperator.cs (1)
16public override BoundNode VisitIsOperator(BoundIsOperator node)
Lowering\LocalRewriter\LocalRewriter_IsPatternOperator.cs (1)
15public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node)
Lowering\LocalRewriter\LocalRewriter_LabeledStatement.cs (1)
14public override BoundNode VisitLabeledStatement(BoundLabeledStatement node)
Lowering\LocalRewriter\LocalRewriter_Literal.cs (1)
17public override BoundNode VisitLiteral(BoundLiteral node)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.cs (2)
14public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 86public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node)
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (1)
22public override BoundNode VisitLockStatement(BoundLockStatement node)
Lowering\LocalRewriter\LocalRewriter_MultipleLocalDeclarations.cs (4)
14public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 19public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 24private BoundNode? VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node) 30var init = VisitLocalDeclaration(decl);
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (1)
14public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (5)
13public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 33Debug.Assert(BoundNode.GetConversion(leftConversion, leftPlaceholder).IsValid); 92BoundNode.GetConversion(leftConversion, leftPlaceholder) is { IsImplicit: true, IsUserDefined: false }) 99if (BoundNode.GetConversion(leftConversion, leftPlaceholder) is { IsIdentity: true } or { Kind: ConversionKind.ExplicitNullable }) 240Debug.Assert(BoundNode.GetConversion(leftConversion, leftPlaceholder).IsValid);
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (5)
16public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 31public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 131public override BoundNode VisitWithExpression(BoundWithExpression withExpr) 307public override BoundNode VisitNewT(BoundNewT node) 364public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
403var rewrittenArrayAccess = VisitArrayAccess((BoundArrayAccess)left);
Lowering\LocalRewriter\LocalRewriter_PatternSwitchStatement.cs (1)
16public override BoundNode VisitSwitchStatement(BoundSwitchStatement node)
Lowering\LocalRewriter\LocalRewriter_PointerElementAccess.cs (1)
12public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node)
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.cs (1)
12public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (1)
15public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
Lowering\LocalRewriter\LocalRewriter_Query.cs (2)
13public override BoundNode VisitRangeVariable(BoundRangeVariable node) 18public override BoundNode VisitQueryClause(BoundQueryClause node)
Lowering\LocalRewriter\LocalRewriter_Range.cs (1)
17public override BoundNode VisitRangeExpression(BoundRangeExpression node)
Lowering\LocalRewriter\LocalRewriter_ReturnStatement.cs (1)
13public override BoundNode VisitReturnStatement(BoundReturnStatement node)
Lowering\LocalRewriter\LocalRewriter_StackAlloc.cs (3)
15public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression stackAllocNode) 20public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation stackAllocNode) 25private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase stackAllocNode)
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (1)
277public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
17public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
Lowering\LocalRewriter\LocalRewriter_ThrowStatement.cs (1)
9public override BoundNode VisitThrowStatement(BoundThrowStatement node)
Lowering\LocalRewriter\LocalRewriter_TryStatement.cs (4)
14public override BoundNode VisitTryStatement(BoundTryStatement node) 38? (BoundNode)tryBlock 39: (BoundNode)node.Update(tryBlock, catchBlocks, finallyBlockOpt, node.FinallyLabelOpt, node.PreferFaultHandler); 78public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (1)
28public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (3)
15public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 20public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 25private BoundNode VisitTupleExpression(BoundTupleExpression node)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (2)
29public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 425public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
35public override BoundNode VisitUsingStatement(BoundUsingStatement node)
Lowering\LocalRewriter\LocalRewriter_WhileStatement.cs (2)
16public override BoundNode VisitWhileStatement(BoundWhileStatement node) 42BoundNode loop,
Lowering\LocalRewriter\LocalRewriter_Yield.cs (2)
13public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 29public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node)
Lowering\MethodToClassRewriter.cs (37)
68public override BoundNode DefaultVisit(BoundNode node) 127public override BoundNode VisitCatchBlock(BoundCatchBlock node) 148public override BoundNode VisitBlock(BoundBlock node) 162public abstract override BoundNode VisitScope(BoundScope node); 164public override BoundNode VisitSequence(BoundSequence node) 173public override BoundNode VisitForStatement(BoundForStatement node) 184public override BoundNode VisitDoStatement(BoundDoStatement node) 192public override BoundNode VisitWhileStatement(BoundWhileStatement node) 200public override BoundNode VisitUsingStatement(BoundUsingStatement node) 215public override BoundNode VisitMethodInfo(BoundMethodInfo node) 222public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 229public override BoundNode VisitCall(BoundCall node) 265public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 281public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 291public override BoundNode? VisitConversion(BoundConversion node) 311public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 372private bool TryReplaceWithProxy(Symbol parameterOrLocal, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 388public sealed override BoundNode VisitParameter(BoundParameter node) 390if (TryReplaceWithProxy(node.ParameterSymbol, node.Syntax, out BoundNode? replacement)) 399protected virtual BoundNode VisitUnhoistedParameter(BoundParameter node) 404public sealed override BoundNode VisitLocal(BoundLocal node) 406if (TryReplaceWithProxy(node.LocalSymbol, node.Syntax, out BoundNode? replacement)) 417public override BoundNode? VisitLocalId(BoundLocalId node) 422public override BoundNode? VisitParameterId(BoundParameterId node) 445private BoundNode VisitUnhoistedLocal(BoundLocal node) 455public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node) 475public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 480public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 545public override BoundNode VisitFieldInfo(BoundFieldInfo node) 552public override BoundNode VisitFieldAccess(BoundFieldAccess node) 561public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 584public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 601public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 606public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 695public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 717public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
Lowering\SpillSequenceSpiller.cs (53)
196public static BoundNode Rewrite( 199BoundNode node) 210public override BoundNode VisitLocal(BoundLocal node) 237BoundNode result = spiller.Visit(body); 663public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 670public override BoundNode VisitThrowStatement(BoundThrowStatement node) 677public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 686public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 693public override BoundNode VisitReturnStatement(BoundReturnStatement node) 700public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 707public override BoundNode VisitCatchBlock(BoundCatchBlock node) 729public override BoundNode DefaultVisit(BoundNode node) 740public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 749public override BoundNode VisitSpillSequence(BoundSpillSequence node) 762public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 769public override BoundNode VisitArgListOperator(BoundArgListOperator node) 776public override BoundNode VisitArrayAccess(BoundArrayAccess node) 805public override BoundNode VisitArrayCreation(BoundArrayCreation node) 826public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 833public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 841public override BoundNode VisitArrayLength(BoundArrayLength node) 848public override BoundNode VisitAsOperator(BoundAsOperator node) 857public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 969public override BoundNode VisitBadExpression(BoundBadExpression node) 975public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 980public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1016public override BoundNode VisitCall(BoundCall node) 1082public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1104public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1174public override BoundNode VisitConversion(BoundConversion node) 1189public override BoundNode VisitPassByCopy(BoundPassByCopy node) 1200public override BoundNode VisitMethodGroup(BoundMethodGroup node) 1205public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1212public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1219public override BoundNode VisitIsOperator(BoundIsOperator node) 1226public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1233public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1263public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1369public static BoundStatement Replace(BoundNode node, BoundExpression receiver, int receiverID, int recursionDepth) 1380public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 1394public override BoundNode VisitLambda(BoundLambda node) 1398var result = base.VisitLambda(node); 1403public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1407var result = base.VisitLocalFunctionStatement(node); 1412public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1420public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 1441public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 1448public override BoundNode VisitSequence(BoundSequence node) 1474public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1504public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1511public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 1518public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (17)
42private IteratorAndAsyncCaptureWalker(CSharpCompilation compilation, MethodSymbol method, BoundNode node, HashSet<Symbol> initiallyAssignedVariables) 53public static OrderedSet<Symbol> Analyze(CSharpCompilation compilation, MethodSymbol method, BoundNode node, DiagnosticBag diagnostics) 186public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 193public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 279public override BoundNode VisitParameter(BoundParameter node) 293public override BoundNode VisitFieldAccess(BoundFieldAccess node) 304public override BoundNode VisitThisReference(BoundThisReference node) 310public override BoundNode VisitBaseReference(BoundBaseReference node) 316public override BoundNode VisitTryStatement(BoundTryStatement node) 337public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 367public override BoundNode VisitBlock(BoundBlock node) 381public override BoundNode VisitCatchBlock(BoundCatchBlock node) 392public override BoundNode VisitSequence(BoundSequence node) 398public override BoundNode VisitThisReference(BoundThisReference node) 404public override BoundNode VisitBaseReference(BoundBaseReference node) 410public override BoundNode VisitLocal(BoundLocal node) 416public override BoundNode VisitParameter(BoundParameter node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (14)
271public override BoundNode VisitSequence(BoundSequence node) 704public override BoundNode Visit(BoundNode node) 709var result = base.Visit(node); 714public override BoundNode VisitBlock(BoundBlock node) 725public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 728public override BoundNode VisitScope(BoundScope node) 790public override BoundNode VisitForStatement(BoundForStatement node) 795public override BoundNode VisitUsingStatement(BoundUsingStatement node) 800public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 808public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 857public override BoundNode VisitTryStatement(BoundTryStatement node) 936public sealed override BoundNode VisitThisReference(BoundThisReference node) 968public override BoundNode VisitBaseReference(BoundBaseReference node)
Lowering\StateMachineRewriter\StateMachineRewriter.cs (1)
123return new BoundBadStatement(F.Syntax, ImmutableArray<BoundNode>.Empty, hasErrors: true);
Lowering\UnmatchedGotoFinder.cs (11)
22private readonly Dictionary<BoundNode, HashSet<LabelSymbol>> _unmatchedLabelsCache; // NB: never modified. 27private UnmatchedGotoFinder(Dictionary<BoundNode, HashSet<LabelSymbol>> unmatchedLabelsCache, int recursionDepth) 34public static HashSet<LabelSymbol> Find(BoundNode node, Dictionary<BoundNode, HashSet<LabelSymbol>> unmatchedLabelsCache, int recursionDepth) 47public override BoundNode Visit(BoundNode node) 66public override BoundNode VisitGotoStatement(BoundGotoStatement node) 72public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 78public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 89public override BoundNode VisitLabelStatement(BoundLabelStatement node) 95public override BoundNode VisitLabeledStatement(BoundLabeledStatement 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); 1888BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder), 1889BoundNode.GetConversion(boundForEachStatement.ElementConversion, boundForEachStatement.ElementPlaceholder), 2004IOperation resources = Create(boundUsingStatement.DeclarationsOpt ?? (BoundNode)boundUsingStatement.ExpressionOpt!); 2066var children = CreateFromArray<BoundNode, IOperation>(boundBadStatement.ChildBoundNodes);
Operations\CSharpOperationFactory_Methods.cs (8)
98internal IOperation? CreateReceiverOperation(BoundNode? instance, Symbol? symbol) 141internal IOperation CreateDelegateTargetOperation(BoundNode delegateNode) 180internal IOperation CreateMemberInitializerInitializedMember(BoundNode initializedMember) 194internal ImmutableArray<IArgumentOperation> DeriveArguments(BoundNode containingExpression) 387internal static ImmutableArray<BoundNode> CreateInvalidChildrenFromArgumentsExpression(BoundNode? receiverOpt, ImmutableArray<BoundExpression> arguments, BoundExpression? additionalNodeOpt = null) 389var builder = ArrayBuilder<BoundNode>.GetInstance(); 400builder.AddRange(StaticCast<BoundNode>.From(arguments));
Operations\IBoundNodeWithIOperationChildren.cs (1)
16ImmutableArray<BoundNode?> Children { get; }
Symbols\ConstantValueUtils.cs (1)
156public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)