18 types derived from BoundNode
Microsoft.CodeAnalysis.CSharp (18)
Generated\BoundNodes.xml.Generated.cs (18)
257internal abstract partial class BoundInitializer : BoundNode 406internal abstract partial class BoundExpression : BoundNode 2128internal sealed partial class BoundAwaitableInfo : BoundNode 2257internal 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 7987internal abstract partial class BoundPattern : BoundNode 8309internal abstract partial class BoundSubpattern : BoundNode 8381internal sealed partial class BoundPropertySubpatternMember : BoundNode 8728internal abstract partial class BoundMethodBodyBase : BoundNode
2860 references to BoundNode
Microsoft.CodeAnalysis.CSharp (2804)
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 (14)
73Debug.Assert(BoundNode.GetConversion(result, placeholder1) == conversion); 79Debug.Assert(BoundNode.GetConversion(result2, placeholder2) == conversion); 879var builder = ArrayBuilder<BoundNode>.GetInstance(elements.Length); 910foreach (var element in elements) 912BoundNode convertedElement = element is BoundCollectionExpressionSpreadElement spreadElement ? 913(BoundNode)BindCollectionExpressionSpreadElementAddMethod( 951var element = elements[i]; 953var convertedElement = element is BoundCollectionExpressionSpreadElement spreadElement ? 986BoundNode bindSpreadElement(BoundCollectionExpressionSpreadElement element, TypeSymbol elementType, Conversion elementConversion, BindingDiagnosticBag diagnostics) 1717var builder = ArrayBuilder<BoundNode>.GetInstance(node.Elements.Length); 1718foreach (var element in node.Elements) 1720var result = element is BoundExpression expression ? 1790foreach (var element in elements) 2532private static bool IsMethodGroupWithTypeOrValueReceiver(BoundNode node)
Binder\Binder_Expressions.cs (3)
5265var builder = ArrayBuilder<BoundNode>.GetInstance(syntax.Elements.Count); 5272static BoundNode bindElement(CollectionElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this, int nestingLevel) 5283static BoundNode bindSpreadElement(SpreadElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this)
Binder\Binder_Invocation.cs (1)
1804var unconvertedCollection = new BoundUnconvertedCollectionExpression(node, ImmutableArray<BoundNode>.CastUp(collectionArgs)) { WasCompilerGenerated = true, IsParamsArrayOrCollection = true };
Binder\Binder_Lambda.cs (1)
427where TResult : BoundNode
Binder\Binder_Statements.cs (13)
146result = new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 520return new BoundBadStatement(node, ImmutableArray.Create<BoundNode>(expression), true); 535ImmutableArray<BoundNode> childNodes; 539childNodes = ImmutableArray.Create<BoundNode>(value); 543childNodes = ImmutableArray<BoundNode>.Empty; 2942return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 2953return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 3658public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics) 3687private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3692private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3716private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics) 3751private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics) 4058private BoundNode BindMethodBody(CSharpSyntaxNode declaration, BlockSyntax blockBody, ArrowExpressionClauseSyntax expressionBody, BindingDiagnosticBag diagnostics)
Binder\InMethodBinder.cs (1)
31/// 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 (46)
19internal static void Analyze(CSharpCompilation compilation, MethodSymbol symbol, BoundNode node, BindingDiagnosticBag diagnostics) 290public override BoundNode? VisitBlock(BoundBlock node) 297public override BoundNode? Visit(BoundNode? node) 316private void TrackVisit(BoundNode? node) 345public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 350public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 359public override BoundNode? VisitLambda(BoundLambda node) 367public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 373public override BoundNode? VisitForStatement(BoundForStatement node) 380public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 402public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 414public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 420public override BoundNode? VisitDoStatement(BoundDoStatement node) 426public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 432public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 442public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 450public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 456public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 462public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 468public override BoundNode? VisitLocal(BoundLocal node) 519public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 559public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 569public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 579public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 589public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 614public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 622public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 638public override BoundNode? VisitListPattern(BoundListPattern node) 644public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 679public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 692public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 713public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 739public sealed override BoundNode? VisitCall(BoundCall node) 890public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 896public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 902public override BoundNode? VisitNewT(BoundNewT node) 908public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 986public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 992public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 1014public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1032public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 1055public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 1065public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 1138var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 1195public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
Binder\Semantics\Conversions\Conversions.cs (2)
206foreach (var element in elements) 220Conversion convertElement(BoundNode element, TypeSymbol elementType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (2)
685foreach (var element in argument.Elements) 910foreach (var element in argument.Elements)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (10)
3062ImmutableArray<BoundNode> collectionExpressionElements, 3114var element = collectionExpressionElements[i]; 3401public override BoundNode Visit(BoundNode node) 3411protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 3416public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3422public override BoundNode VisitReturnStatement(BoundReturnStatement node) 3447BoundNode node, 3459BoundNode 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)
66protected new BoundNode MemberwiseClone() 68var result = (BoundNode)base.MemberwiseClone(); 153protected void CopyAttributes(BoundNode original) 368ImmutableArray<BoundNode>.CastUp(collection.Elements.CastArray<BoundExpression>()) == collection.Elements); 385public virtual BoundNode? Accept(BoundTreeVisitor visitor) 393internal BoundNode WithHasErrors() 398BoundNode clone = MemberwiseClone(); 493public static void CheckLocalsDefined(BoundNode root) 530public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 538public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 546public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 554public override BoundNode? VisitBlock(BoundBlock node) 586public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 593public override BoundNode? VisitSequence(BoundSequence node) 601public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 609public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 617public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 625public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 633public override BoundNode? VisitDoStatement(BoundDoStatement node) 641public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 649public override BoundNode? VisitForStatement(BoundForStatement node) 662public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 670public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 678public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 686public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 694public override BoundNode? VisitLocal(BoundLocal node) 701public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 708public 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 (12)
22public ImmutableArray<T> VisitList<T>(ImmutableArray<T> list) where T : BoundNode 32private ImmutableArray<T> DoVisitList<T>(ImmutableArray<T> list) where T : BoundNode 40var visited = this.Visit(item); 216public override BoundNode? Visit(BoundNode? node) 226protected BoundNode VisitExpressionOrPatternWithStackGuard(BoundNode node) 231protected sealed override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 246public sealed override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 297public sealed override BoundNode? VisitIfStatement(BoundIfStatement node) 340public sealed override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
BoundTree\BoundTreeVisitors.cs (16)
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) 200protected BoundNode VisitExpressionOrPatternWithStackGuard(ref int recursionDepth, BoundNode node) 203BoundNode result; 239private BoundNode? VisitExpressionOrPatternWithStackGuard(BoundNode node) 254protected abstract BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node);
BoundTree\BoundTreeWalker.cs (11)
17public void VisitList<T>(ImmutableArray<T> list) where T : BoundNode 71public override BoundNode? Visit(BoundNode? node) 81protected BoundNode VisitExpressionOrPatternWithStackGuard(BoundNode node) 86protected sealed override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 105public sealed override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 145public sealed override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 179public override BoundNode? VisitCall(BoundCall node) 233public sealed override BoundNode? VisitIfStatement(BoundIfStatement 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 (10)
15protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 20public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 25public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 30public override BoundNode? VisitIfStatement(BoundIfStatement node) 73private BoundNode VisitBinaryOperatorBase(BoundBinaryOperatorBase binaryOperator) 137public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 167private T GetUpdatedSymbol<T>(BoundNode expr, T sym) where T : Symbol? 250public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 270private 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 (8)
203BoundNode node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions, bool withDependencies) 248BoundNode node, 353public override BoundNode? Visit(BoundNode node) 363protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(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)
1954public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1959public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1971public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 1981public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 2003public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
CodeGen\Optimizer.cs (61)
430public static BoundNode Analyze( 431BoundNode node, 437var rewritten = analyzer.Visit(node); 443public override BoundNode Visit(BoundNode node) 445BoundNode result; 534protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 565public BoundNode VisitStatement(BoundNode node) 571public BoundNode VisitSideEffect(BoundNode node) 576var result = base.Visit(node); 592public override BoundNode VisitConversion(BoundConversion node) 601public override BoundNode VisitPassByCopy(BoundPassByCopy node) 612public override BoundNode VisitBlock(BoundBlock node) 649public override BoundNode VisitSequence(BoundSequence node) 815public bool IsLocalUsedIn(BoundNode node) 823public override BoundNode Visit(BoundNode node) 833public override BoundNode VisitLocal(BoundLocal node) 844public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 850public override BoundNode VisitLocal(BoundLocal node) 895public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 1117public override BoundNode VisitCall(BoundCall node) 1300public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1316public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1325public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1335public override BoundNode VisitArrayAccess(BoundArrayAccess node) 1342var result = base.VisitArrayAccess(node); 1348public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1390public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1396public override BoundNode VisitLabel(BoundLabel node) 1402public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1408public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1412var result = base.VisitGotoStatement(node); 1418public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 1420var result = base.VisitConditionalGoto(node); 1427public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 1460public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1482public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1555private BoundNode VisitBinaryOperatorSimple(BoundBinaryOperator node) 1576public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1595public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1625public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 1661public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1677public override BoundNode VisitTryStatement(BoundTryStatement node) 1692public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1756public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 1763public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1798public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 1804public override BoundNode VisitReturnStatement(BoundReturnStatement node) 2054public override BoundNode Visit(BoundNode node) 2056BoundNode result; 2076public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2132public override BoundNode VisitLocal(BoundLocal node) 2150public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2158public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2220public override BoundNode VisitCall(BoundCall node) 2295public 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)
725BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 755BoundNode boundNode = GetSpeculativelyBoundAttribute(position, attribute, out binder); //calls CheckAndAdjustPosition 1055BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out _, out crefSymbols); //calls CheckAndAdjustPosition 1202BoundNode boundNode = GetSpeculativelyBoundExpression(position, nameSyntax, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 1879BoundNode lowestBoundNode, 1880BoundNode highestBoundNode, 1881BoundNode boundNodeForSyntacticParent, 2027BoundNode lowestBoundNode, 2028BoundNode highestBoundNode, 2029BoundNode boundNodeForSyntacticParent) 2138conversion = BoundNode.GetConversion(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder); 2285BoundNode lowestBoundNode, 2286BoundNode boundNodeForSyntacticParent, 2307BoundNode lowestBoundNode, 2399internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 3354BoundNode boundNodeForSyntacticParent, 3975BoundNode boundNodeForSyntacticParent, 4026BoundNode lowestBoundNode, 4246BoundNode boundNodeForSyntacticParent, 4399BoundNode 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 (60)
33private readonly Dictionary<SyntaxNode, OneOrMany<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, OneOrMany<BoundNode>>(); 514internal virtual BoundNode GetBoundRoot() 522internal BoundNode GetUpperBoundNode(CSharpSyntaxNode node, bool promoteToBindable = false) 550internal BoundNode GetLowerBoundNode(CSharpSyntaxNode node) 567private static BoundNode GetLowerBoundNode(OneOrMany<BoundNode> boundNodes) 923var bound = GetLowerBoundNode(node); 995BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder), 996BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder)); 1144var bound = this.GetLowerBoundNode(declaratorSyntax); 1189BoundNode highestBoundNode = GetBoundRoot(); 1214BoundNode lowestBoundNode; 1215BoundNode highestBoundNode; 1216BoundNode boundParent; 1226BoundNode lowestBoundNode; 1227BoundNode highestBoundNode; 1228BoundNode boundParent; 1237BoundNode lowestBoundNode; 1238BoundNode highestBoundNode; 1239BoundNode boundParent; 1249BoundNode lowestBoundNode; 1250BoundNode highestBoundNode; 1251BoundNode boundParent; 1303private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent) 1434private OneOrMany<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node) 1437OneOrMany<BoundNode> result; 1438return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1444internal OneOrMany<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node) 1446OneOrMany<BoundNode> result; 1447return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1452private OneOrMany<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound) 1471OneOrMany<BoundNode> result; 1472return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : OneOrMany<BoundNode>.Empty; 1475protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1483protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1626BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery); 1630private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery) 1634OneOrMany<BoundNode> nodes; 1653BoundNode boundEnclosingLambdaOrQuery = null; 1694BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 1726BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded); 1740private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery) 1965BoundNode boundRoot = bind(bindableRoot, out binder); 1987BoundNode bind(CSharpSyntaxNode root, out Binder binder) 2041protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots( 2042BoundNode boundRoot, 2055protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots); 2069internal OneOrMany<BoundNode> GetBoundNodes(CSharpSyntaxNode node) 2093OneOrMany<BoundNode> results; 2116BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 2145var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded); 2160return OneOrMany<BoundNode>.Empty; 2474private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node) 2478OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node); 2490public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 2492BoundNode boundNode = TryGetBoundNodeFromMap(node);
Compilation\MemberSemanticModel.NodeMapBuilder.cs (15)
21private NodeMapBuilder(OrderPreservingMultiDictionary<SyntaxNode, BoundNode> map, SyntaxTree tree, SyntaxNode thisSyntaxNodeOnly) 28private readonly OrderPreservingMultiDictionary<SyntaxNode, BoundNode> _map; 39public static void AddToMap(BoundNode root, Dictionary<SyntaxNode, OneOrMany<BoundNode>> map, SyntaxTree tree, SyntaxNode node = null) 49var additionMap = OrderPreservingMultiDictionary<SyntaxNode, BoundNode>.GetInstance(); 130public override BoundNode Visit(BoundNode node) 142BoundNode current = node; 262private bool ShouldAddNode(BoundNode currentBoundNode) 279public override BoundNode VisitQueryClause(BoundQueryClause node) 286public override BoundNode VisitRangeVariable(BoundRangeVariable node) 291public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node) 296public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 309public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 314public override BoundNode VisitIfStatement(BoundIfStatement 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)
2346private 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 (20)
1608return new BoundBadStatement(body.Syntax, ImmutableArray.Create<BoundNode>(body), hasErrors: true); 1872BoundNode? initializersBody, 1921BoundNode methodBody = bodyBinder.BindWithLambdaBindingCountDiagnostics( 1931BoundNode methodBodyForSemanticModel = methodBody; 2099NullableWalker.VariableState? getInitializerState(BoundNode? body) 2247static void assertBindIdentifierTargets(InMethodBinder? inMethodBinder, ConcurrentDictionary<IdentifierNameSyntax, int>? identifierMap, BoundNode methodBody, BindingDiagnosticBag diagnostics) 2310private static bool IsEmptyRewritePossible(BoundNode node) 2315var rewritten = rewriter.Visit(node); 2338public static bool FoundInUnboundLambda(BoundNode methodBody, IdentifierNameSyntax id) 2345public override BoundNode? VisitUnboundLambda(UnboundLambda node) 2361public override BoundNode? Visit(BoundNode? node) 2374public static BoundPropertyAccess? FindUncheckedAccess(BoundNode node) 2388public override BoundNode? Visit(BoundNode? node) 2398public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 2409public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 2417public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 2425public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 2433public override BoundNode? VisitBadExpression(BoundBadExpression node)
FlowAnalysis\AbstractFlowPass.cs (200)
65protected readonly BoundNode methodMainNode; 171protected readonly BoundNode firstInRegion, lastInRegion; 184BoundNode node, 185BoundNode firstInRegion = null, 186BoundNode lastInRegion = null, 259private void EnterRegionIfNeeded(BoundNode node) 276private void LeaveRegionIfNeeded(BoundNode node) 340public override BoundNode Visit(BoundNode node) 345protected BoundNode VisitAlways(BoundNode node) 347BoundNode result = null; 361private BoundNode VisitWithStackGuard(BoundNode node) 372protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 393public readonly BoundNode Branch; 402public PendingBranch(BoundNode branch, TLocalState state, LabelSymbol label, bool isConditionalState = false, TLocalState stateWhenTrue = default, TLocalState stateWhenFalse = default) 761protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target) 894public override BoundNode DefaultVisit(BoundNode node) 901public override BoundNode VisitAttribute(BoundAttribute node) 907public override BoundNode VisitThrowExpression(BoundThrowExpression node) 914public override BoundNode VisitPassByCopy(BoundPassByCopy node) 920public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1107public override BoundNode VisitConstantPattern(BoundConstantPattern node) 1113public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 1119public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 1124public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 1129private BoundNode VisitTupleExpression(BoundTupleExpression node) 1135public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 1142public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 1149public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 1156public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 1162public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 1170protected BoundNode? VisitInterpolatedStringBase(BoundInterpolatedStringBase node, InterpolatedStringHandlerData? data) 1201public override BoundNode VisitInterpolatedString(BoundInterpolatedString node) 1206public override BoundNode VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 1212public override BoundNode VisitStringInsert(BoundStringInsert node) 1228public override BoundNode VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1233public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1238public override BoundNode VisitArgList(BoundArgList node) 1245public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1252public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 1258public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1267public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 1273public override BoundNode VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 1279public override BoundNode VisitLambda(BoundLambda node) => null; 1281public override BoundNode VisitLocal(BoundLocal node) 1287public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 1304public override BoundNode VisitBlock(BoundBlock node) 1318public override BoundNode VisitScope(BoundScope node) 1324public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 1330public override BoundNode VisitCall(BoundCall node) 1480public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 1493public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 1506public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 1582public override BoundNode VisitBadExpression(BoundBadExpression node) 1592public override BoundNode VisitBadStatement(BoundBadStatement node) 1594foreach (var child in node.ChildBoundNodes) 1609public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1619public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1649public override BoundNode VisitTypeExpression(BoundTypeExpression node) 1654public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 1662public override BoundNode VisitLiteral(BoundLiteral node) 1668public override BoundNode VisitUtf8String(BoundUtf8String node) 1691public override BoundNode VisitLocalId(BoundLocalId node) 1696public override BoundNode VisitParameterId(BoundParameterId node) 1701public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1706public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 1711public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 1716public override BoundNode VisitModuleVersionId(BoundModuleVersionId node) 1721public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node) 1726public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 1731public override BoundNode VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 1736public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 1741public override BoundNode VisitConversion(BoundConversion node) 1772public sealed override BoundNode VisitIfStatement(BoundIfStatement node) 1823public override BoundNode VisitTryStatement(BoundTryStatement node) 2018public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 2023public override BoundNode VisitReturnStatement(BoundReturnStatement node) 2025var result = VisitReturnStatementNoAdjust(node); 2031protected virtual BoundNode VisitReturnStatementNoAdjust(BoundReturnStatement node) 2044public override BoundNode VisitThisReference(BoundThisReference node) 2049public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 2054public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 2059public override BoundNode VisitParameter(BoundParameter node) 2068public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2075public override BoundNode VisitCollectionExpression(BoundCollectionExpression node) 2081public override BoundNode VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 2087private void VisitCollectionExpression(ImmutableArray<BoundNode> elements) 2089foreach (var element in elements) 2102public override BoundNode VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 2108public override BoundNode VisitNewT(BoundNewT node) 2114public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 2139public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2173public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2180public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 2186public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2231public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2258public override BoundNode VisitFieldInfo(BoundFieldInfo node) 2263public override BoundNode VisitMethodInfo(BoundMethodInfo node) 2268public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2298public override BoundNode VisitEventAccess(BoundEventAccess node) 2304public override BoundNode VisitRangeVariable(BoundRangeVariable node) 2309public override BoundNode VisitQueryClause(BoundQueryClause node) 2315private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node) 2325public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 2330public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 2339public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2354public override BoundNode VisitWithExpression(BoundWithExpression node) 2361public override BoundNode VisitArrayAccess(BoundArrayAccess node) 2372public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node) 2391public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2410public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 2786public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 2802public override BoundNode VisitRangeExpression(BoundRangeExpression node) 2817public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 2823public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 2830public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2854public override BoundNode VisitArrayCreation(BoundArrayCreation node) 2865public override BoundNode VisitForStatement(BoundForStatement node) 2898public override BoundNode VisitForEachStatement(BoundForEachStatement node) 2927public override BoundNode VisitAsOperator(BoundAsOperator node) 2933public override BoundNode VisitIsOperator(BoundIsOperator node) 2948public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2961public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 3137public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 3145public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 3164public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 3169public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 3183public override BoundNode VisitSequence(BoundSequence node) 3198public override BoundNode VisitSequencePoint(BoundSequencePoint node) 3208public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node) 3214public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 3224public override BoundNode VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 3229public override BoundNode VisitStatementList(BoundStatementList node) 3234private BoundNode VisitStatementListWorker(BoundStatementList node) 3244public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 3249public override BoundNode VisitUnboundLambda(UnboundLambda node) 3255public override BoundNode VisitBreakStatement(BoundBreakStatement node) 3263public override BoundNode VisitContinueStatement(BoundContinueStatement node) 3271public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 3276public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 3283protected virtual BoundNode? VisitConditionalOperatorCore( 3347public override BoundNode VisitBaseReference(BoundBaseReference node) 3352public override BoundNode VisitDoStatement(BoundDoStatement node) 3366public override BoundNode VisitGotoStatement(BoundGotoStatement node) 3389public override BoundNode VisitLabelStatement(BoundLabelStatement node) 3395public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 3402public override BoundNode VisitLockStatement(BoundLockStatement node) 3409public override BoundNode VisitNoOpStatement(BoundNoOpStatement node) 3414public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node) 3419public override BoundNode VisitUsingStatement(BoundUsingStatement node) 3442public override BoundNode VisitFixedStatement(BoundFixedStatement node) 3449public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 3455public override BoundNode VisitThrowStatement(BoundThrowStatement node) 3463public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 3471public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 3478public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 3483public override BoundNode VisitDefaultExpression(BoundDefaultExpression node) 3488public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3493public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 3499public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 3508public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 3528public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 3534public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 3541public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node) 3546private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 3553public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 3558public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 3563public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 3571public override BoundNode VisitArrayLength(BoundArrayLength node) 3577public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 3595public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 3600public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 3605private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers) 3615public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 3634public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 3639public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 3662public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 3668public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node) 3673public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node) 3679public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 3685public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node) 3691public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 3696public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 3701public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 3706public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node) 3711public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 3716public override BoundNode VisitDiscardExpression(BoundDiscardExpression node) 3727public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 3734public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 3740public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 3773public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 3779public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 3786public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 3811public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) 3816public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) 3821public override BoundNode VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node)
FlowAnalysis\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, 44public override BoundNode VisitLambda(BoundLambda node) 50public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 56public override BoundNode VisitNameOfOperator(BoundNameOfOperator node)
FlowAnalysis\AlwaysAssignedWalker.cs (9)
28private AlwaysAssignedWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 33internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 93public override BoundNode VisitLabel(BoundLabel node) 99public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 105private void ResolveLabel(BoundNode node, LabelSymbol label)
FlowAnalysis\ControlFlowPass.cs (16)
18private readonly PooledDictionary<LabelSymbol, BoundNode> _labelsDefined = PooledDictionary<LabelSymbol, BoundNode>.GetInstance(); 33internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node) 38internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 119public override BoundNode Visit(BoundNode node) 217var leave = pending.Branch; 225var leave = pending.Branch; 327public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 335public override BoundNode VisitGotoStatement(BoundGotoStatement node) 360if (_labelsDefined.TryGetValue(node.Label, out BoundNode target) && target == usingDecl.block) 384public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 397public override BoundNode VisitBlock(BoundBlock node) 410var 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 (50)
170BoundNode node, 195BoundNode node, 217BoundNode node, 218BoundNode firstInRegion, 219BoundNode lastInRegion, 236BoundNode node) 430var pendingBranch = pending.Branch; 553BoundNode node, 784private void NoteRead(BoundNode fieldOrEventAccess) 787BoundNode n = fieldOrEventAccess; 1517protected void Assign(BoundNode node, BoundExpression value, bool isRef = false, bool read = true) 1534protected virtual void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 2136public override BoundNode? VisitBlock(BoundBlock node) 2221public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 2224var result = base.VisitSwitchStatement(node); 2236public override BoundNode VisitForStatement(BoundForStatement node) 2240var result = base.VisitForStatement(node); 2246public override BoundNode VisitDoStatement(BoundDoStatement node) 2249var result = base.VisitDoStatement(node); 2254public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2257var result = base.VisitWhileStatement(node); 2265public override BoundNode VisitUsingStatement(BoundUsingStatement node) 2269var result = base.VisitUsingStatement(node); 2286public override BoundNode VisitFixedStatement(BoundFixedStatement node) 2292public override BoundNode VisitSequence(BoundSequence node) 2295var result = base.VisitSequence(node); 2356public override BoundNode VisitLocal(BoundLocal node) 2387public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 2398var result = base.VisitLocalDeclaration(node); 2406public override BoundNode VisitLocalId(BoundLocalId node) 2409public override BoundNode VisitParameterId(BoundParameterId node) 2412public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 2415public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2427public override BoundNode VisitLambda(BoundLambda node) 2473public override BoundNode VisitThisReference(BoundThisReference node) 2480public override BoundNode VisitParameter(BoundParameter node) 2494public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2501public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2508public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2515public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2524public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 2542public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 2676public override BoundNode VisitBaseReference(BoundBaseReference node) 2700public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2702var result = base.VisitFieldAccess(node); 2726public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2728var result = base.VisitPropertyAccess(node); 2749public override BoundNode VisitEventAccess(BoundEventAccess node) 2751var result = base.VisitEventAccess(node); 2780public 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)
24internal static IEnumerable<LabeledStatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, out bool? succeeded) 49private EntryPointsWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 59protected override void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement targetStmt)
FlowAnalysis\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 (209)
467BoundNode node, 1430BoundNode node, 1457BoundNode node, 1497internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody) 1515internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics) 1553private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody) 1568BoundNode node, 1580internal static BoundNode AnalyzeAndRewrite( 1583BoundNode node, 1599BoundNode node, 1656internal static BoundNode AnalyzeAndRewriteSpeculation( 1658BoundNode node, 1704private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1714var rewrittenNode = rewriter.Visit(node); 1738BoundNode node, 1819BoundNode node, 1929private void TakeIncrementalSnapshot(BoundNode? node) 1935private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 2277private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode 2291private void VisitWithoutDiagnostics(BoundNode? node) 3006public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue) 3041public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node) 3177public override BoundNode? VisitLocal(BoundLocal node) 3208public override BoundNode? VisitBlock(BoundBlock node) 3313public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3535public override BoundNode? VisitDoStatement(BoundDoStatement node) 3541public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 3547public override BoundNode? VisitWithExpression(BoundWithExpression withExpr) 3569public override BoundNode? VisitForStatement(BoundForStatement node) 3576public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 3582public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 3589public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 3595public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 3601public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 3628public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 3690protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 3782public override BoundNode? Visit(BoundNode? node) 3787private BoundNode VisitLValue(BoundNode node) 3806private BoundNode Visit(BoundNode? node, bool expressionIsRead) 3815var result = base.Visit(node); 3828public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 3834public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3842public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 3845var result = base.VisitUnconvertedCollectionExpression(node); 3850public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 3860foreach (var element in node.Elements) 3887void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Func<TypeWithAnnotations, TypeSymbol, TypeWithState>> elementConversionCompletions) 4043public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 4707public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 4768public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 4924BoundNode node, 5002public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 5036public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 5825public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 5862public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 6146public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 6152protected override BoundNode? VisitConditionalOperatorCore( 6443public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 6454public override BoundNode? VisitCall(BoundCall node) 6608BoundNode node, 7103private static bool HasImplicitTypeArguments(BoundNode node) 7169BoundNode node, 7191BoundNode node, 7230BoundNode node, 7420BoundNode node, 8427var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length); 8759public override BoundNode? VisitConversion(BoundConversion node) 8896public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 8902public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 9125public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 10097public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 10273public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10368public override BoundNode? VisitLambda(BoundLambda node) 10417public override BoundNode? VisitUnboundLambda(UnboundLambda node) 10427public override BoundNode? VisitThisReference(BoundThisReference node) 10440public override BoundNode? VisitParameter(BoundParameter node) 10450public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 10629public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 10634private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt) 10748var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 10789var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 10948public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 11068BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder), 11098BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder), 11126public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 11223BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder), 11237BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder), 11258public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 11275public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 11322public override BoundNode? VisitBaseReference(BoundBaseReference node) 11328public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 11337private (PropertySymbol updatedProperty, bool returnNotNull) ReInferAndVisitExtensionPropertyAccess(BoundNode node, PropertySymbol property, BoundExpression receiver) 11356public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 11393public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 11417public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 11431public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 11439public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 11445public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 11451public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 11457public override BoundNode? VisitEventAccess(BoundEventAccess node) 11567BoundNode node, 11838Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder); 11875public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 11877var result = base.VisitFromEndIndexExpression(node); 11882public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 11888public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 11894public override BoundNode? VisitBadExpression(BoundBadExpression node) 11916public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 11918var result = base.VisitTypeExpression(node); 11929public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 11932var result = base.VisitTypeOrValueExpression(node); 11937public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 12048public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 12050var result = base.VisitPointerIndirectionOperator(node); 12056public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 12058var result = base.VisitPointerElementAccess(node); 12064public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 12071public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 12073var result = base.VisitMakeRefOperator(node); 12078public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 12080var result = base.VisitRefValueOperator(node); 12217BoundNode.GetConversion(binary.TrueFalseOperandConversion, binary.TrueFalseOperandPlaceholder), 12241public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 12243var result = base.VisitAwaitExpression(node); 12272public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 12274var result = base.VisitTypeOfOperator(node); 12279public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 12281var result = base.VisitMethodInfo(node); 12286public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 12288var result = base.VisitFieldInfo(node); 12293public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 12296var result = base.VisitDefaultLiteral(node); 12301public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 12305var result = base.VisitDefaultExpression(node); 12321public override BoundNode? VisitIsOperator(BoundIsOperator node) 12355public override BoundNode? VisitAsOperator(BoundAsOperator node) 12363switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind) 12383public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 12385var result = base.VisitSizeOfOperator(node); 12391public override BoundNode? VisitArgList(BoundArgList node) 12393var result = base.VisitArgList(node); 12399public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 12407public override BoundNode? VisitLiteral(BoundLiteral node) 12410var result = base.VisitLiteral(node); 12415public override BoundNode? VisitUtf8String(BoundUtf8String node) 12418var result = base.VisitUtf8String(node); 12423public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 12425var result = base.VisitPreviousSubmissionReference(node); 12431public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 12433var result = base.VisitHostObjectMemberReference(node); 12439public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 12441var result = base.VisitPseudoVariable(node); 12446public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 12448var result = base.VisitRangeExpression(node); 12453public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 12460public override BoundNode? VisitLabel(BoundLabel node) 12462var result = base.VisitLabel(node); 12467public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 12479public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 12499public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 12525public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 12531public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 12539public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 12547public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 12555public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 12557var result = base.VisitImplicitReceiver(node); 12562public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 12567public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 12573public override BoundNode? VisitNewT(BoundNewT node) 12579public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 12581var result = base.VisitArrayInitialization(node); 12591public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 12685public override BoundNode? VisitQueryClause(BoundQueryClause node) 12687var result = base.VisitQueryClause(node); 12692public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 12694var result = base.VisitNameOfOperator(node); 12699public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 12701var result = base.VisitNamespaceExpression(node); 12706public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 12709var result = base.VisitUnconvertedInterpolatedString(node); 12714public override BoundNode? VisitStringInsert(BoundStringInsert node) 12716var result = base.VisitStringInsert(node); 12727public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 12735public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 12741public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 12747public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 12752private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 12769public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 12777public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 12784public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 12807public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 12845public override BoundNode? VisitLockStatement(BoundLockStatement node) 12853public override BoundNode? VisitAttribute(BoundAttribute node) 12866public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 12873public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 12881public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 12889public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 12912public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 12919public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 13487private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)> 13493public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y) 13504public int GetHashCode((BoundNode? expr, Symbol symbol) obj)
FlowAnalysis\NullableWalker.DebugVerifier.cs (30)
37public static void Verify(ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> analyzedNullabilityMap, SnapshotManager? snapshotManagerOpt, BoundNode node) 80protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 89public override BoundNode? Visit(BoundNode? node) 105public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 117public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 127foreach (var element in node.Elements) 150public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 156public override BoundNode? VisitBadExpression(BoundBadExpression node) 175public override BoundNode? VisitQueryClause(BoundQueryClause node) 181public override BoundNode? VisitUnboundLambda(UnboundLambda node) 187public override BoundNode? VisitIfStatement(BoundIfStatement node) 214public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 241public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 247public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 253public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 260public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 275public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 288public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 294public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 319public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 336public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 342public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 350public override BoundNode? VisitListPattern(BoundListPattern node) 358public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 365public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 379public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 386public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 394public 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) 141public override BoundNode VisitITuplePattern(BoundITuplePattern node) 865public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 872public override BoundNode VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 1055public 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, 236protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 283public override BoundNode VisitUnboundLambda(UnboundLambda node) 288public override BoundNode VisitRangeVariable(BoundRangeVariable node) 300private static ParameterSymbol GetRangeVariableUnderlyingParameter(BoundNode underlying) 319public override BoundNode VisitQueryClause(BoundQueryClause node)
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)
23internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 40internal VariablesDeclaredWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 91public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 101public override BoundNode VisitLambda(BoundLambda node) 114public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 160public override BoundNode VisitQueryClause(BoundQueryClause node) 178public override BoundNode VisitLocal(BoundLocal node)
Generated\BoundNodes.xml.Generated.cs (1126)
304public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldEqualsValue(this); 334public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyEqualsValue(this); 364public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterEqualsValue(this); 392public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGlobalStatementInitializer(this); 465public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValuePlaceholder(this); 495public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCapturedReceiverPlaceholder(this); 536public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructValuePlaceholder(this); 571public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleOperandPlaceholder(this); 600public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableValuePlaceholder(this); 635public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDisposableValuePlaceholder(this); 673public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectOrCollectionValuePlaceholder(this); 708public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerValuePlaceholder(this); 746public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this); 781public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this); 816public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this); 851public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this); 886public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this); 917public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this); 945public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this); 978public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this); 994public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false) 1003public ImmutableArray<BoundNode> ChildBoundNodes { get; } 1006public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this); 1008public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes) 1034public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this); 1069public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this); 1107public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this); 1148public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this); 1190public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this); 1238public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this); 1270public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this); 1299public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this); 1342public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this); 1374public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this); 1411public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this); 1448public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this); 1480public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this); 1510public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this); 1542public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this); 1574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this); 1607public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this); 1660public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this); 1698public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this); 1751public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this); 1798public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this); 1832public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this); 1867public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this); 1908public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this); 1939public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this); 1978public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this); 2022public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this); 2055public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this); 2084public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefArrayAccess(this); 2114public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this); 2155public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this); 2190public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this); 2243public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this); 2275public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this); 2319public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this); 2362public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this); 2405public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this); 2440public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this); 2475public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this); 2513public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this); 2548public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this); 2583public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this); 2618public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this); 2653public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this); 2693public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this); 2736public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this); 2779public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this); 2808public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this); 2833public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this); 2868public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this); 2905public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this); 2937public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this); 2979public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this); 3012public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this); 3047public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this); 3078public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this); 3117public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this); 3156public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this); 3183public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this); 3220public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this); 3257public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this); 3288public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this); 3324public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this); 3353public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this); 3384public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this); 3420public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this); 3460public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this); 3490public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this); 3522public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this); 3553public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this); 3582public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this); 3610public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this); 3638public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this); 3652public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this); 3680public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this); 3717public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this); 3754public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this); 3799public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this); 3835public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this); 3868public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this); 3948public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this); 3978public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this); 4020public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this); 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); 7359public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this); 7395public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this); 7446public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this); 7495public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this); 7536public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this); 7576public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this); 7616public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this); 7660public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this); 7701public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this); 7727public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this); 7760public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this); 7802public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this); 7830public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this); 7858public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this); 7896public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this); 7931public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this); 7973public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this); 8038public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this); 8078public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this); 8131public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this); 8172public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this); 8216public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this); 8255public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this); 8295public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this); 8337public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this); 8367public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this); 8399public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this); 8435public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this); 8474public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this); 8508public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this); 8547public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this); 8582public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this); 8610public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this); 8653public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this); 8679public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this); 8714public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this); 8750public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this); 8780public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this); 8811public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this); 8846public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this); 8864internal R VisitInternal(BoundNode node, A arg) 9576public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node); 9577public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node); 9578public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node); 9579public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node); 9580public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node); 9581public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node); 9582public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node); 9583public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node); 9584public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node); 9585public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node); 9586public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node); 9587public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node); 9588public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node); 9589public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node); 9590public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node); 9591public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node); 9592public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node); 9593public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node); 9594public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node); 9595public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node); 9596public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node); 9597public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node); 9598public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node); 9599public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node); 9600public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node); 9601public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node); 9602public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node); 9603public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node); 9604public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node); 9605public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node); 9606public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node); 9607public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node); 9608public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node); 9609public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node); 9610public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node); 9611public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node); 9612public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node); 9613public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node); 9614public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node); 9615public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node); 9616public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node); 9617public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node); 9618public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node); 9619public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node); 9620public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node); 9621public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node); 9622public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node); 9623public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node); 9624public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node); 9625public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node); 9626public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node); 9627public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node); 9628public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node); 9629public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node); 9630public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node); 9631public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node); 9632public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node); 9633public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node); 9634public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node); 9635public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node); 9636public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node); 9637public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node); 9638public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node); 9639public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node); 9640public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node); 9641public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node); 9642public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node); 9643public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node); 9644public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node); 9645public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node); 9646public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node); 9647public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node); 9648public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node); 9649public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node); 9650public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node); 9651public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node); 9652public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node); 9653public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node); 9654public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node); 9655public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node); 9656public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node); 9657public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node); 9658public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node); 9659public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node); 9660public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node); 9661public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node); 9662public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node); 9663public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node); 9664public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node); 9665public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node); 9666public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node); 9667public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node); 9668public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node); 9669public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node); 9670public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node); 9671public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node); 9672public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node); 9673public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node); 9674public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node); 9675public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node); 9676public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node); 9677public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node); 9678public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node); 9679public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node); 9680public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node); 9681public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node); 9682public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node); 9683public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node); 9684public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node); 9685public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node); 9686public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 9687public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node); 9688public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node); 9689public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node); 9690public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node); 9691public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node); 9692public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node); 9693public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node); 9694public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node); 9695public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node); 9696public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node); 9697public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node); 9698public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node); 9699public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node); 9700public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node); 9701public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node); 9702public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node); 9703public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 9704public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node); 9705public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node); 9706public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node); 9707public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node); 9708public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node); 9709public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node); 9710public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node); 9711public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node); 9712public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node); 9713public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node); 9714public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node); 9715public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node); 9716public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node); 9717public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node); 9718public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node); 9719public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node); 9720public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node); 9721public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node); 9722public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node); 9723public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node); 9724public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node); 9725public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node); 9726public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node); 9727public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node); 9728public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node); 9729public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node); 9730public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node); 9731public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node); 9732public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node); 9733public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node); 9734public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node); 9735public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node); 9736public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 9737public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node); 9738public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node); 9739public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node); 9740public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node); 9741public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node); 9742public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node); 9743public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node); 9744public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node); 9745public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node); 9746public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node); 9747public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node); 9748public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node); 9749public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node); 9750public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node); 9751public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node); 9752public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node); 9753public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node); 9754public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node); 9755public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node); 9756public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node); 9757public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node); 9758public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node); 9759public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node); 9760public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node); 9761public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node); 9762public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node); 9763public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node); 9764public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node); 9765public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node); 9766public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node); 9767public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node); 9768public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node); 9769public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node); 9770public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node); 9771public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node); 9772public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node); 9773public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node); 9774public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node); 9775public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node); 9776public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node); 9777public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node); 9778public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node); 9779public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node); 9780public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node); 9781public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node); 9782public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node); 9783public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node); 9784public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node); 9785public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node); 9786public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node); 9787public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node); 9788public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node); 9789public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node); 9790public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node); 9791public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node); 9792public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node); 9793public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node); 9794public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node); 9795public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node); 9796public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node); 9797public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node); 9798public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node); 9799public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node); 9800public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node); 9801public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node); 9802public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node); 9803public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node); 9804public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node); 9805public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node); 9806public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node); 9807public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node); 9812public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 9817public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 9822public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 9827public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 9832public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null; 9833public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 9838public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null; 9839public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null; 9840public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null; 9841public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null; 9842public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null; 9843public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null; 9844public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => null; 9845public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null; 9846public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null; 9847public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null; 9848public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null; 9849public override BoundNode? VisitDup(BoundDup node) => null; 9850public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 9855public override BoundNode? VisitBadExpression(BoundBadExpression node) 9860public override BoundNode? VisitBadStatement(BoundBadStatement node) 9865public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 9870public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 9876public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null; 9877public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null; 9878public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 9883public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 9888public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 9893public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 9898public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null; 9899public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 9904public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 9910public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 9916public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 9921public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 9926public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 9931public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 9936public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 9942public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 9948public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 9954public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 9960public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 9966public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 9972public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 9978public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 9984public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 9990public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 9997public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 10004public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 10010public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 10015public override BoundNode? VisitArrayLength(BoundArrayLength node) 10020public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 10028public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 10034public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 10039public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 10045public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null; 10046public override BoundNode? VisitLocalId(BoundLocalId node) => null; 10047public override BoundNode? VisitParameterId(BoundParameterId node) => null; 10048public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null; 10049public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null; 10050public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null; 10051public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null; 10052public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null; 10053public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null; 10054public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null; 10055public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null; 10056public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null; 10057public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null; 10058public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null; 10059public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null; 10060public override BoundNode? VisitIsOperator(BoundIsOperator node) 10066public override BoundNode? VisitAsOperator(BoundAsOperator node) 10072public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 10077public override BoundNode? VisitConversion(BoundConversion node) 10082public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 10087public override BoundNode? VisitArgList(BoundArgList node) => null; 10088public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 10093public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 10098public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 10103public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 10108public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null; 10109public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null; 10110public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null; 10111public override BoundNode? VisitBlock(BoundBlock node) 10117public override BoundNode? VisitScope(BoundScope node) 10122public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 10127public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 10134public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 10139public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 10145public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 10151public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null; 10152public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 10157public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 10162public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null; 10163public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 10168public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 10173public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => null; 10174public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => null; 10175public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 10182public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 10187public override BoundNode? VisitIfStatement(BoundIfStatement node) 10194public override BoundNode? VisitDoStatement(BoundDoStatement node) 10200public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 10206public override BoundNode? VisitForStatement(BoundForStatement node) 10214public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 10224public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 10230public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 10238public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 10244public override BoundNode? VisitLockStatement(BoundLockStatement node) 10250public override BoundNode? VisitTryStatement(BoundTryStatement node) 10257public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 10265public override BoundNode? VisitLiteral(BoundLiteral node) => null; 10266public override BoundNode? VisitUtf8String(BoundUtf8String node) => null; 10267public override BoundNode? VisitThisReference(BoundThisReference node) => null; 10268public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null; 10269public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null; 10270public override BoundNode? VisitBaseReference(BoundBaseReference node) => null; 10271public override BoundNode? VisitLocal(BoundLocal node) => null; 10272public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null; 10273public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 10278public override BoundNode? VisitParameter(BoundParameter node) => null; 10279public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null; 10280public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 10286public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 10291public override BoundNode? VisitLabel(BoundLabel node) => null; 10292public override BoundNode? VisitStatementList(BoundStatementList node) 10297public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 10302public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 10309public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 10315public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 10321public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 10326public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 10332public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 10339public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 10346public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null; 10347public override BoundNode? VisitDagTemp(BoundDagTemp node) 10352public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 10357public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 10362public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 10367public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 10372public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 10377public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 10382public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 10387public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 10392public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 10397public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 10402public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 10411public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 10420public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 10426public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 10432public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 10438public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 10443public override BoundNode? VisitSequence(BoundSequence node) 10449public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 10455public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 10460public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 10466public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 10472public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 10479public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null; 10480public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 10486public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10491public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 10496public override BoundNode? VisitCall(BoundCall node) 10502public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 10508public override BoundNode? VisitAttribute(BoundAttribute node) 10514public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 10519public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 10525public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 10530public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 10535public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null; 10536public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 10541public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 10546public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 10551public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 10557public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 10562public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 10568public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 10573public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null; 10574public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 10580public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 10586public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 10592public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null; 10593public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 10599public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null; 10600public override BoundNode? VisitNewT(BoundNewT node) 10605public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 10610public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 10616public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 10621public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 10627public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 10633public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 10638public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null; 10639public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 10644public override BoundNode? VisitEventAccess(BoundEventAccess node) 10649public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 10655public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 10661public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 10667public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 10673public override BoundNode? VisitLambda(BoundLambda node) 10678public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null; 10679public override BoundNode? VisitQueryClause(BoundQueryClause node) 10684public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 10689public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 10694public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 10699public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 10704public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null; 10705public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null; 10706public override BoundNode? VisitStringInsert(BoundStringInsert node) 10713public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 10719public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 10724public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null; 10725public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 10731public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 10739public override BoundNode? VisitListPattern(BoundListPattern node) 10745public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 10750public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 10755public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 10760public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 10766public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 10771public override BoundNode? VisitTypePattern(BoundTypePattern node) 10776public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 10782public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 10787public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 10792public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null; 10793public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 10798public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 10803public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 10808public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null; 10809public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 10815public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 10822public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 10827public override BoundNode? VisitWithExpression(BoundWithExpression node) 10837public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 10844public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 10851public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 10858public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 10863public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 10868public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 10874public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 10880public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 10885public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 10890public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 10895public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 10900public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 10905public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 10910public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 10915public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 10920public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 10925public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 10930public override BoundNode? VisitDup(BoundDup node) 10935public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 10941public override BoundNode? VisitBadExpression(BoundBadExpression node) 10948public override BoundNode? VisitBadStatement(BoundBadStatement node) 10950ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes); 10953public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 10958public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 10966public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 10971public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 10978public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 10987public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 11000public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 11006public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 11012public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 11019public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 11025public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 11032public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 11039public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 11046public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 11052public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 11058public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 11065public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 11073public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 11080public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 11087public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 11101public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 11113public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 11120public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 11127public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 11136public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 11143public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 11151public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 11160public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 11167public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 11173public override BoundNode? VisitArrayLength(BoundArrayLength node) 11179public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 11189public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 11196public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 11203public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 11210public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 11216public override BoundNode? VisitLocalId(BoundLocalId node) 11223public override BoundNode? VisitParameterId(BoundParameterId node) 11230public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 11235public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 11240public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 11245public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 11250public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 11255public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 11260public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 11265public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 11270public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 11277public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 11284public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 11289public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 11295public override BoundNode? VisitIsOperator(BoundIsOperator node) 11302public override BoundNode? VisitAsOperator(BoundAsOperator node) 11311public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 11317public override BoundNode? VisitConversion(BoundConversion node) 11323public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 11330public override BoundNode? VisitArgList(BoundArgList node) 11335public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 11341public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 11351public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 11356public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 11361public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node; 11362public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node; 11363public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node; 11364public override BoundNode? VisitBlock(BoundBlock node) 11372public override BoundNode? VisitScope(BoundScope node) 11378public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 11384public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 11392public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 11397public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 11403public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 11410public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node; 11411public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 11416public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 11421public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node; 11422public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 11427public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 11432public override BoundNode? VisitBreakStatement(BoundBreakStatement node) 11437public override BoundNode? VisitContinueStatement(BoundContinueStatement node) 11442public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 11453public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 11459public override BoundNode? VisitIfStatement(BoundIfStatement node) 11466public override BoundNode? VisitDoStatement(BoundDoStatement node) 11475public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 11484public override BoundNode? VisitForStatement(BoundForStatement node) 11496public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 11511public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 11517public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 11526public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 11533public override BoundNode? VisitLockStatement(BoundLockStatement node) 11539public override BoundNode? VisitTryStatement(BoundTryStatement node) 11547public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11557public override BoundNode? VisitLiteral(BoundLiteral node) 11562public override BoundNode? VisitUtf8String(BoundUtf8String node) 11567public override BoundNode? VisitThisReference(BoundThisReference node) 11572public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 11577public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 11582public override BoundNode? VisitBaseReference(BoundBaseReference node) 11587public override BoundNode? VisitLocal(BoundLocal node) 11593public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 11599public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 11606public override BoundNode? VisitParameter(BoundParameter node) 11612public override BoundNode? VisitLabelStatement(BoundLabelStatement node) 11617public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 11624public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 11630public override BoundNode? VisitLabel(BoundLabel node) 11636public override BoundNode? VisitStatementList(BoundStatementList node) 11641public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 11647public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11656public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 11665public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 11675public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 11680public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 11686public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 11693public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 11700public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) 11705public override BoundNode? VisitDagTemp(BoundDagTemp node) 11711public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 11717public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 11722public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 11727public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 11732public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 11737public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 11743public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 11749public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 11755public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 11761public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 11767public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 11777public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 11787public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 11793public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 11800public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 11807public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 11813public override BoundNode? VisitSequence(BoundSequence node) 11821public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 11829public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 11835public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 11843public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 11850public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 11859public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 11864public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 11871public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11880public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 11887public override BoundNode? VisitCall(BoundCall node) 11896public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 11904public override BoundNode? VisitAttribute(BoundAttribute node) 11912public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 11918public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 11927public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 11929ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 11933public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 11941ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 11945public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 11950public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 11960public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11966public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 11973public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 11981public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 11987public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 11994public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 12002public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 12008public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 12015public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 12023public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 12031public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 12036public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 12044public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 12050public override BoundNode? VisitNewT(BoundNewT node) 12056public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 12063public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 12070public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 12076public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 12084public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 12092public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 12099public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 12105public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 12112public override BoundNode? VisitEventAccess(BoundEventAccess node) 12119public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 12128public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 12139public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 12146public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 12154public override BoundNode? VisitLambda(BoundLambda node) 12162public override BoundNode? VisitUnboundLambda(UnboundLambda node) 12168public override BoundNode? VisitQueryClause(BoundQueryClause node) 12178public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 12183public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 12189public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 12195public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 12201public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 12206public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 12211public override BoundNode? VisitStringInsert(BoundStringInsert node) 12219public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 12229public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 12236public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 12242public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 12251public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 12263public override BoundNode? VisitListPattern(BoundListPattern node) 12276public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 12286public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 12295public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 12301public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 12307public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 12314public override BoundNode? VisitTypePattern(BoundTypePattern node) 12321public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 12329public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 12336public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 12343public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 12348public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 12354public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 12361public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 12368public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 12374public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 12380public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 12388public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 12394public override BoundNode? VisitWithExpression(BoundWithExpression node) 12417public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 12425public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 12433public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 12441public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 12453public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 12470public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 12487public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 12499public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 12511public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 12523public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 12535public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 12547public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 12559public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 12571public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 12583public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 12595public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 12607public override BoundNode? VisitDup(BoundDup node) 12619public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 12636public override BoundNode? VisitBadExpression(BoundBadExpression node) 12654public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 12672public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 12684public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 12696public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 12716public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 12740public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 12757public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 12774public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 12792public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 12809public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 12827public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 12845public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 12863public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 12880public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 12897public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 12915public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 12934public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 12952public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 12970public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 12988public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 13008public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 13026public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 13045public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 13065public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 13083public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 13100public override BoundNode? VisitArrayLength(BoundArrayLength node) 13117public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 13128public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13146public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 13164public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 13172public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 13189public override BoundNode? VisitLocalId(BoundLocalId node) 13207public override BoundNode? VisitParameterId(BoundParameterId node) 13225public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 13237public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 13249public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 13261public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 13273public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 13285public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 13297public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 13309public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 13321public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 13339public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 13357public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 13369public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 13386public override BoundNode? VisitIsOperator(BoundIsOperator node) 13404public override BoundNode? VisitAsOperator(BoundAsOperator node) 13424public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 13441public override BoundNode? VisitConversion(BoundConversion node) 13458public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 13476public override BoundNode? VisitArgList(BoundArgList node) 13488public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 13505public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 13526public override BoundNode? VisitBlock(BoundBlock node) 13535public override BoundNode? VisitScope(BoundScope node) 13542public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 13549public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 13558public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 13566public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 13577public override BoundNode? VisitDoStatement(BoundDoStatement node) 13585public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 13593public override BoundNode? VisitForStatement(BoundForStatement node) 13604public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 13618public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 13628public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 13636public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13647public override BoundNode? VisitLiteral(BoundLiteral node) 13659public override BoundNode? VisitUtf8String(BoundUtf8String node) 13671public override BoundNode? VisitThisReference(BoundThisReference node) 13683public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 13695public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 13707public override BoundNode? VisitBaseReference(BoundBaseReference node) 13719public override BoundNode? VisitLocal(BoundLocal node) 13736public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 13753public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 13771public override BoundNode? VisitParameter(BoundParameter node) 13788public override BoundNode? VisitLabel(BoundLabel node) 13800public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 13809public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 13828public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 13848public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 13855public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 13862public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 13869public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 13876public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 13887public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 13898public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 13906public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 13923public override BoundNode? VisitSequence(BoundSequence node) 13942public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 13961public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 13978public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 13997public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 14015public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 14035public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 14047public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 14065public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 14085public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 14103public override BoundNode? VisitCall(BoundCall node) 14123public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 14142public override BoundNode? VisitAttribute(BoundAttribute node) 14161public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 14178public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 14198public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 14200ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14215public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 14223ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14238public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 14250public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 14267public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 14285public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 14304public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 14321public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 14339public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 14358public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 14375public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 14393public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 14412public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 14431public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 14443public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 14462public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 14479public override BoundNode? VisitNewT(BoundNewT node) 14496public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 14514public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 14532public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 14549public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 14568public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 14587public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 14605public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 14622public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14640public override BoundNode? VisitEventAccess(BoundEventAccess node) 14658public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 14678public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 14696public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 14715public override BoundNode? VisitLambda(BoundLambda node) 14734public override BoundNode? VisitUnboundLambda(UnboundLambda node) 14751public override BoundNode? VisitQueryClause(BoundQueryClause node) 14772public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 14789public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 14806public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 14823public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 14835public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 14847public override BoundNode? VisitStringInsert(BoundStringInsert node) 14866public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 14885public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 14893public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 14900public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 14910public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 14923public override BoundNode? VisitListPattern(BoundListPattern node) 14937public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 14948public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 14958public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 14965public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 14972public override BoundNode? VisitTypePattern(BoundTypePattern node) 14980public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 14989public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 14997public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 15005public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 15017public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 15034public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 15052public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 15070public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 15087public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 15096public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 15113public override BoundNode? VisitWithExpression(BoundWithExpression node) 15138public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (19)
172public override BoundNode VisitTryStatement(BoundTryStatement node) 182var result = visitTryStatement(node, tryStatementSyntax); 187BoundNode visitTryStatement(BoundTryStatement node, SyntaxNode tryStatementSyntax) 398public override BoundNode VisitGotoStatement(BoundGotoStatement node) 406public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 412public override BoundNode VisitReturnStatement(BoundReturnStatement node) 581public override BoundNode VisitCatchBlock(BoundCatchBlock node) 586private BoundNode VisitCatchBlock(BoundCatchBlock node, AwaitCatchFrame parentAwaitCatchFrame) 596var result = base.VisitCatchBlock(node); 741public override BoundNode VisitLocal(BoundLocal node) 753public override BoundNode VisitThrowStatement(BoundThrowStatement node) 765public override BoundNode VisitLambda(BoundLambda node) 791public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 879public override BoundNode VisitTryStatement(BoundTryStatement node) 921public override BoundNode VisitCatchBlock(BoundCatchBlock node) 926var result = base.VisitCatchBlock(node); 943public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 949public override BoundNode VisitLambda(BoundLambda node) 965public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (4)
262public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 315public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 366public override BoundNode VisitTryStatement(BoundTryStatement node) 420public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock extractedFinally)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (5)
313public sealed override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 332public sealed override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 338public sealed override BoundNode VisitBadExpression(BoundBadExpression node) 415public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 662public 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); 306public static bool ContainsAwait(BoundNode node) 313public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (4)
54var result = Visit(node); 58public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 92var call = Visit(awaitableInfo.RuntimeAsyncAwaitCall); 160public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node)
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (7)
38public override BoundNode DefaultVisit(BoundNode node) 100public override BoundNode VisitBlock(BoundBlock node) 120public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node) 155public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 168public override BoundNode? VisitConversion(BoundConversion node) 206public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (7)
71BoundNode node, 105private static BoundNode FindNodeToAnalyze(BoundNode node) 607/// the given <see cref="BoundNode"/>. 609public static Scope GetScopeParent(Scope treeRoot, BoundNode scopeNode) 616/// Finds a <see cref="Scope" /> with a matching <see cref="BoundNode"/> 619public 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>(); 337static partial void CheckLocalsDefined(BoundNode node); 370var scopeBoundNode = scope.BoundNode; 640private static void InsertAndFreePrologue<T>(ArrayBuilder<BoundStatement> result, ArrayBuilder<T> prologue) where T : BoundNode 650result.Add(new BoundExpressionStatement(node.Syntax, (BoundExpression)(BoundNode)node)); 664private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F) 730var result = F(prologue, addedLocals); 824protected override BoundNode VisitUnhoistedParameter(BoundParameter node) 835public override BoundNode VisitThisReference(BoundThisReference node) 852public override BoundNode VisitBaseReference(BoundBaseReference node) 859public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1074public override BoundNode VisitCall(BoundCall node) 1108var visited = base.VisitCall(node); 1155public override BoundNode VisitBlock(BoundBlock node) 1203public override BoundNode VisitScope(BoundScope node) 1217public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1233private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) 1291public override BoundNode VisitSequence(BoundSequence node) 1307public override BoundNode VisitStatementList(BoundStatementList node) 1332public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1365public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 1392public override BoundNode VisitConversion(BoundConversion conversion) 1422public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1427BoundNode lambdaScope; 1519out BoundNode lambdaScope, 1536BoundNode tmpScope = null; 1621private BoundNode RewriteLambdaConversion(BoundLambda node) 1631var result0 = wasInExpressionLambda ? node : ExpressionLambdaRewriter.RewriteLambda(node, CompilationState, TypeMap, RecursionDepth, Diagnostics); 1639BoundNode lambdaScope; 1791public override BoundNode VisitLambda(BoundLambda node)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
112internal static BoundNode RewriteLambda(BoundLambda node, TypeCompilationState compilationState, TypeMap typeMap, int recursionDepth, BindingDiagnosticBag diagnostics) 877if (BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder) is { IsUserDefined: true } leftConversion)
Lowering\DiagnosticsPass_ExpressionTrees.cs (70)
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) 312BoundNode node) 396public override BoundNode Visit(BoundNode node) 410public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 420public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 430public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 440public override BoundNode VisitArgListOperator(BoundArgListOperator node) 450public override BoundNode VisitConditionalAccess(BoundConditionalAccess node) 460public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 482public override BoundNode VisitCall(BoundCall node) 546public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 557public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 563public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 575private void CheckRefReturningPropertyAccess(BoundNode node, PropertySymbol property) 583public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 604public override BoundNode VisitLambda(BoundLambda node) 688var result = base.VisitLambda(node); 693public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 723public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 745public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 795public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 809public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 820public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 830public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 836public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 842public override BoundNode VisitConversion(BoundConversion node) 905var result = base.VisitConversion(node); 911public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 925public override BoundNode VisitMethodGroup(BoundMethodGroup node) 963public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 970public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 980public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 990public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 1006public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 1017public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 1027public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 1037public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 1047public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1057public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 1067public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 1077public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 1087public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1097public override BoundNode VisitWithExpression(BoundWithExpression node) 1107public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1117public override BoundNode VisitCollectionExpression(BoundCollectionExpression node) 1131public override BoundNode VisitIfStatement(BoundIfStatement node) 1158public override BoundNode VisitInterpolatedString(BoundInterpolatedString 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\ExtensionMethodBodyRewriter.cs (10)
82public override BoundNode? VisitThisReference(BoundThisReference node) 92public override BoundNode? VisitLambda(BoundLambda node) 108public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 121public override BoundNode VisitBlock(BoundBlock node) 137var result = base.VisitBlock(node); 181public override BoundNode? VisitCall(BoundCall node) 186public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 191public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 203public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 213public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
Lowering\ExtensionMethodReferenceRewriter.cs (10)
29public override BoundNode VisitCall(BoundCall node) 34public static BoundNode VisitCall(BoundTreeRewriter rewriter, BoundCall node) 195public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 200public static BoundNode VisitMethodDefIndex(BoundTreeRewriter rewriter, BoundMethodDefIndex node) 207public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 212public static BoundNode VisitDelegateCreationExpression(BoundTreeRewriter rewriter, BoundDelegateCreationExpression node) 228public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 233public static BoundNode VisitFunctionPointerLoad(BoundTreeRewriter rewriter, BoundFunctionPointerLoad node) 273public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 278public static BoundNode VisitUnaryOperator(BoundTreeRewriter rewriter, BoundUnaryOperator node)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
544syntaxForSpan = ((BoundNode?)usingStatement.ExpressionOpt ?? usingStatement.DeclarationsOpt)!.Syntax;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
413private bool TryGetLocalOrParameterInfo(BoundNode node, [NotNullWhen(true)] out Symbol? symbol, [NotNullWhen(true)] out TypeSymbol? type, [NotNullWhen(true)] out BoundExpression? indexExpression)
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (5)
327public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 332public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 356public override BoundNode VisitGotoStatement(BoundGotoStatement node) 365public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 371public 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 (40)
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; 1170public override BoundNode? Visit(BoundNode? node) 1184public static void Validate(BoundNode node) 1196public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 1202public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 1208public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 1214public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 1220public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 1226public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 1232public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 1238public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 1244public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 1250public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 1256public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 1262public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 1268public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1274public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1280private 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)
18public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 336public override BoundNode VisitCall(BoundCall node) 1728public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (14)
19public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 25public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 113static bool canOptimizeListElement(BoundNode element, MethodSymbol addMethod) 132static BoundNode unwrapListElement(BoundCollectionExpression node, BoundNode element) 351foreach (var element in elements) 542ImmutableArray<BoundNode> elements, 1020private BoundExpression CreateAndPopulateList(BoundCollectionExpression node, TypeWithAnnotations elementType, ImmutableArray<BoundNode> elements) 1203private BoundExpression RewriteCollectionExpressionElementExpression(BoundNode element) 1212ImmutableArray<BoundNode> elements, 1228ImmutableArray<BoundNode> elements, 1238var element = elements[i]; 1273private BoundExpression GetKnownLengthExpression(ImmutableArray<BoundNode> elements, int numberIncludingLastSpread, ArrayBuilder<BoundLocal> rewrittenExpressions) 1282var 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 (8)
34public override BoundNode VisitForEachStatement(BoundForEachStatement node) 137BoundNode node, 581BoundNode node, 882BoundNode node, 1031BoundNode node, 1262private void InstrumentForEachStatementCollectionVarDeclaration(BoundNode node, [NotNullIfNotNull(nameof(collectionVarDecl))] ref BoundStatement? collectionVarDecl) 1270private void InstrumentForEachStatementIterationVarDeclaration(BoundNode node, ref BoundStatement iterationVarDecl) 1286private 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)
14public 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) 238public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 437public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 442public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 447public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 452public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 457public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 462public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 467public 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 { Kind: ConversionKind.Identity or ConversionKind.ImplicitReference }) 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)
436var 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)
143public 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)
30public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 388public 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 (20)
67public abstract override BoundNode VisitScope(BoundScope node); 69public override BoundNode VisitForStatement(BoundForStatement node) 74public override BoundNode VisitDoStatement(BoundDoStatement node) 79public override BoundNode VisitWhileStatement(BoundWhileStatement node) 84public override BoundNode VisitUsingStatement(BoundUsingStatement node) 89public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 96public override BoundNode VisitCall(BoundCall node) 181private bool TryReplaceWithProxy(Symbol parameterOrLocal, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 197public sealed override BoundNode VisitParameter(BoundParameter node) 199if (TryReplaceWithProxy(node.ParameterSymbol, node.Syntax, out BoundNode? replacement)) 208protected virtual BoundNode VisitUnhoistedParameter(BoundParameter node) 213public sealed override BoundNode VisitLocal(BoundLocal node) 215if (TryReplaceWithProxy(node.LocalSymbol, node.Syntax, out BoundNode? replacement)) 226public override BoundNode? VisitLocalId(BoundLocalId node) 231public override BoundNode? VisitParameterId(BoundParameterId node) 254public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 319public override BoundNode VisitFieldInfo(BoundFieldInfo node) 326public override BoundNode VisitFieldAccess(BoundFieldAccess node) 335public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 394public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node)
Lowering\SpillSequenceSpiller.cs (53)
196public static BoundNode Rewrite( 199BoundNode node) 210public override BoundNode VisitLocal(BoundLocal node) 237BoundNode result = spiller.Visit(body); 664public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 671public override BoundNode VisitThrowStatement(BoundThrowStatement node) 678public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 687public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 694public override BoundNode VisitReturnStatement(BoundReturnStatement node) 701public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 709public override BoundNode VisitCatchBlock(BoundCatchBlock node) 740public override BoundNode DefaultVisit(BoundNode node) 751public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 760public override BoundNode VisitSpillSequence(BoundSpillSequence node) 773public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 780public override BoundNode VisitArgListOperator(BoundArgListOperator node) 787public override BoundNode VisitArrayAccess(BoundArrayAccess node) 816public override BoundNode VisitArrayCreation(BoundArrayCreation node) 837public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 844public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 852public override BoundNode VisitArrayLength(BoundArrayLength node) 859public override BoundNode VisitAsOperator(BoundAsOperator node) 868public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 980public override BoundNode VisitBadExpression(BoundBadExpression node) 986public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 991public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1027public override BoundNode VisitCall(BoundCall node) 1093public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1115public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1185public override BoundNode VisitConversion(BoundConversion node) 1200public override BoundNode VisitPassByCopy(BoundPassByCopy node) 1211public override BoundNode VisitMethodGroup(BoundMethodGroup node) 1216public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1223public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1230public override BoundNode VisitIsOperator(BoundIsOperator node) 1237public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1244public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1274public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1380public static BoundStatement Replace(BoundNode node, BoundExpression receiver, int receiverID, int recursionDepth) 1391public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 1405public override BoundNode VisitLambda(BoundLambda node) 1409var result = base.VisitLambda(node); 1414public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1418var result = base.VisitLocalFunctionStatement(node); 1423public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1431public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 1452public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 1459public override BoundNode VisitSequence(BoundSequence node) 1485public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1515public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1522public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 1529public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (17)
46private IteratorAndAsyncCaptureWalker(CSharpCompilation compilation, MethodSymbol method, BoundNode node, HashSet<Symbol> initiallyAssignedVariables, bool isRuntimeAsync) 58public static OrderedSet<Symbol> Analyze(CSharpCompilation compilation, MethodSymbol method, BoundNode node, bool isRuntimeAsync, DiagnosticBag diagnostics) 193public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 200public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 298public override BoundNode VisitParameter(BoundParameter node) 314public override BoundNode VisitFieldAccess(BoundFieldAccess node) 325public override BoundNode VisitThisReference(BoundThisReference node) 331public override BoundNode VisitBaseReference(BoundBaseReference node) 337public override BoundNode VisitTryStatement(BoundTryStatement node) 358public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 388public override BoundNode VisitBlock(BoundBlock node) 402public override BoundNode VisitCatchBlock(BoundCatchBlock node) 413public override BoundNode VisitSequence(BoundSequence node) 419public override BoundNode VisitThisReference(BoundThisReference node) 425public override BoundNode VisitBaseReference(BoundBaseReference node) 431public override BoundNode VisitLocal(BoundLocal node) 437public override BoundNode VisitParameter(BoundParameter node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (14)
277public override BoundNode VisitSequence(BoundSequence node) 730public override BoundNode Visit(BoundNode node) 735var result = base.Visit(node); 740public override BoundNode VisitBlock(BoundBlock node) 751public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 754public override BoundNode VisitScope(BoundScope node) 816public override BoundNode VisitForStatement(BoundForStatement node) 821public override BoundNode VisitUsingStatement(BoundUsingStatement node) 826public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 834public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 883public override BoundNode VisitTryStatement(BoundTryStatement node) 962public sealed override BoundNode VisitThisReference(BoundThisReference node) 994public 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); 1917BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder), 1918BoundNode.GetConversion(boundForEachStatement.ElementConversion, boundForEachStatement.ElementPlaceholder), 2033IOperation resources = Create(boundUsingStatement.DeclarationsOpt ?? (BoundNode)boundUsingStatement.ExpressionOpt!); 2095var children = CreateFromArray<BoundNode, IOperation>(boundBadStatement.ChildBoundNodes);
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)
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (1)
180var boundGetAccessor = binder.BindMethodBody(getAccessor.SyntaxNode, BindingDiagnosticBag.Discarded);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (55)
Semantics\ConstantTests.cs (8)
1451private static string ParseAndGetConstantFoldingSteps(string source, Func<BoundNode, bool> predicate) 4223public static IEnumerable<BoundNode> GetNodes(BoundNode root) 4227foreach (var node in s._list) 4231private readonly List<BoundNode> _list; 4235_list = new List<BoundNode>(); 4238public override BoundNode Visit(BoundNode node)
Semantics\ForEachTests.cs (40)
1216Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1218Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1254Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1256Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1298Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1300Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1342Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1344Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1375Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1377Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1415Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1417Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1457Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1459Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1496Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1498Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1529Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1531Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1560Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1562Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1591Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1615Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1646Assert.Equal(ConversionKind.ExplicitReference, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); //object to C.var 1648Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1677Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1679Assert.Equal(ConversionKind.ExplicitDynamic, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1710Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1712Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); //NB: differs from explicit case 1751Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1753Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1835Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1837Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1882Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1884Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3126Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 3128Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3244Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 3246Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3302Assert.Equal(BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder), statementInfo.ElementConversion); 3303Assert.Equal(BoundNode.GetConversion(enumeratorInfo.CurrentConversion, enumeratorInfo.CurrentPlaceholder), statementInfo.CurrentConversion);
Semantics\OperatorTests.cs (4)
8823var node = rewriter.Visit(block); 9615protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 9625public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
Semantics\UnsafeTests.cs (3)
5237public override BoundNode Visit(BoundNode node) 5268public override BoundNode VisitArrayCreation(BoundArrayCreation node)
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\ConversionTests.cs (1)
2080var elementConversion = BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder);