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 2249internal sealed partial class BoundBlockInstrumentation : BoundNode 3123internal abstract partial class BoundStatement : BoundNode 4077internal sealed partial class BoundForEachDeconstructStep : BoundNode 4249internal sealed partial class BoundCatchBlock : BoundNode 4893internal sealed partial class BoundSwitchExpressionArm : BoundNode 4994internal sealed partial class BoundDecisionDag : BoundNode 5022internal abstract partial class BoundDecisionDagNode : BoundNode 5173internal abstract partial class BoundDagTest : BoundNode 5187internal sealed partial class BoundDagTemp : BoundNode 5680internal sealed partial class BoundSwitchLabel : BoundNode 6496internal sealed partial class BoundCollectionExpressionSpreadElement : BoundNode 7979internal abstract partial class BoundPattern : BoundNode 8301internal abstract partial class BoundSubpattern : BoundNode 8373internal sealed partial class BoundPropertySubpatternMember : BoundNode 8720internal abstract partial class BoundMethodBodyBase : BoundNode
2852 references to BoundNode
Microsoft.CodeAnalysis.CSharp (2796)
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) 1735var builder = ArrayBuilder<BoundNode>.GetInstance(node.Elements.Length); 1736foreach (var element in node.Elements) 1738var result = element is BoundExpression expression ? 1808foreach (var element in elements) 2550private static bool IsMethodGroupWithTypeOrValueReceiver(BoundNode node)
Binder\Binder_Expressions.cs (3)
5258var builder = ArrayBuilder<BoundNode>.GetInstance(syntax.Elements.Count); 5265static BoundNode bindElement(CollectionElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this, int nestingLevel) 5276static BoundNode bindSpreadElement(SpreadElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this)
Binder\Binder_Invocation.cs (1)
1798var 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; 2919return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 2930return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 3635public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics) 3664private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3669private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3693private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics) 3728private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics) 4035private 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 (45)
18internal static void Analyze(CSharpCompilation compilation, MethodSymbol symbol, BoundNode node, BindingDiagnosticBag diagnostics) 249public override BoundNode? VisitBlock(BoundBlock node) 256public override BoundNode? Visit(BoundNode? node) 275private void TrackVisit(BoundNode? node) 304public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 309public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 318public override BoundNode? VisitLambda(BoundLambda node) 326public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 332public override BoundNode? VisitForStatement(BoundForStatement node) 339public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 361public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 373public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 379public override BoundNode? VisitDoStatement(BoundDoStatement node) 385public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 391public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 401public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 409public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 415public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 421public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 427public override BoundNode? VisitLocal(BoundLocal node) 478public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 518public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 528public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 538public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 548public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 590public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 598public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 614public override BoundNode? VisitListPattern(BoundListPattern node) 620public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 655public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 668public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 689public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 789public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 795public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 801public override BoundNode? VisitNewT(BoundNewT node) 807public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 891public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 897public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 922public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 945public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 963public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 973public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 1049var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 1106public 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)
3065ImmutableArray<BoundNode> collectionExpressionElements, 3117var element = collectionExpressionElements[i]; 3404public override BoundNode Visit(BoundNode node) 3414protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 3419public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3425public override BoundNode VisitReturnStatement(BoundReturnStatement node) 3450BoundNode node, 3462BoundNode 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 sealed 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) 1107public override BoundNode VisitCall(BoundCall node) 1290public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1306public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1315public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1325public override BoundNode VisitArrayAccess(BoundArrayAccess node) 1332var result = base.VisitArrayAccess(node); 1338public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1380public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1386public override BoundNode VisitLabel(BoundLabel node) 1392public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1398public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1402var result = base.VisitGotoStatement(node); 1408public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 1410var result = base.VisitConditionalGoto(node); 1417public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 1450public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1472public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1545private BoundNode VisitBinaryOperatorSimple(BoundBinaryOperator node) 1566public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1585public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1615public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 1651public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1667public override BoundNode VisitTryStatement(BoundTryStatement node) 1682public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1746public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 1753public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1788public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 1794public override BoundNode VisitReturnStatement(BoundReturnStatement node) 2044public override BoundNode Visit(BoundNode node) 2046BoundNode result; 2066public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2122public override BoundNode VisitLocal(BoundLocal node) 2140public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2148public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2210public override BoundNode VisitCall(BoundCall node) 2285public 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); 994BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder), 995BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder)); 1143var bound = this.GetLowerBoundNode(declaratorSyntax); 1188BoundNode highestBoundNode = GetBoundRoot(); 1213BoundNode lowestBoundNode; 1214BoundNode highestBoundNode; 1215BoundNode boundParent; 1225BoundNode lowestBoundNode; 1226BoundNode highestBoundNode; 1227BoundNode boundParent; 1236BoundNode lowestBoundNode; 1237BoundNode highestBoundNode; 1238BoundNode boundParent; 1248BoundNode lowestBoundNode; 1249BoundNode highestBoundNode; 1250BoundNode boundParent; 1302private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent) 1433private OneOrMany<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node) 1436OneOrMany<BoundNode> result; 1437return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1443internal OneOrMany<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node) 1445OneOrMany<BoundNode> result; 1446return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1451private OneOrMany<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound) 1470OneOrMany<BoundNode> result; 1471return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : OneOrMany<BoundNode>.Empty; 1474protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1482protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1625BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery); 1629private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery) 1633OneOrMany<BoundNode> nodes; 1652BoundNode boundEnclosingLambdaOrQuery = null; 1693BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 1725BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded); 1739private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery) 1964BoundNode boundRoot = bind(bindableRoot, out binder); 1986BoundNode bind(CSharpSyntaxNode root, out Binder binder) 2040protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots( 2041BoundNode boundRoot, 2054protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots); 2068internal OneOrMany<BoundNode> GetBoundNodes(CSharpSyntaxNode node) 2092OneOrMany<BoundNode> results; 2115BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 2144var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded); 2159return OneOrMany<BoundNode>.Empty; 2473private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node) 2477OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node); 2489public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 2491BoundNode 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) 287protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 288BoundNode boundRoot, 299protected 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)
2349private 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)
1584return new BoundBadStatement(body.Syntax, ImmutableArray.Create<BoundNode>(body), hasErrors: true); 1848BoundNode? initializersBody, 1897BoundNode methodBody = bodyBinder.BindWithLambdaBindingCountDiagnostics( 1907BoundNode methodBodyForSemanticModel = methodBody; 2075NullableWalker.VariableState? getInitializerState(BoundNode? body) 2223static void assertBindIdentifierTargets(InMethodBinder? inMethodBinder, ConcurrentDictionary<IdentifierNameSyntax, int>? identifierMap, BoundNode methodBody, BindingDiagnosticBag diagnostics) 2286private static bool IsEmptyRewritePossible(BoundNode node) 2291var rewritten = rewriter.Visit(node); 2314public static bool FoundInUnboundLambda(BoundNode methodBody, IdentifierNameSyntax id) 2321public override BoundNode? VisitUnboundLambda(UnboundLambda node) 2337public override BoundNode? Visit(BoundNode? node) 2350public static BoundPropertyAccess? FindUncheckedAccess(BoundNode node) 2364public override BoundNode? Visit(BoundNode? node) 2374public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 2385public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 2393public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 2401public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 2409public 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) 1479public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 1492public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 1505public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 1581public override BoundNode VisitBadExpression(BoundBadExpression node) 1591public override BoundNode VisitBadStatement(BoundBadStatement node) 1593foreach (var child in node.ChildBoundNodes) 1608public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1618public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1648public override BoundNode VisitTypeExpression(BoundTypeExpression node) 1653public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 1661public override BoundNode VisitLiteral(BoundLiteral node) 1667public override BoundNode VisitUtf8String(BoundUtf8String node) 1690public override BoundNode VisitLocalId(BoundLocalId node) 1695public override BoundNode VisitParameterId(BoundParameterId node) 1700public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1705public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 1710public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 1715public override BoundNode VisitModuleVersionId(BoundModuleVersionId node) 1720public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node) 1725public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 1730public override BoundNode VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 1735public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 1740public override BoundNode VisitConversion(BoundConversion node) 1771public sealed override BoundNode VisitIfStatement(BoundIfStatement node) 1822public override BoundNode VisitTryStatement(BoundTryStatement node) 2017public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 2022public override BoundNode VisitReturnStatement(BoundReturnStatement node) 2024var result = VisitReturnStatementNoAdjust(node); 2030protected virtual BoundNode VisitReturnStatementNoAdjust(BoundReturnStatement node) 2043public override BoundNode VisitThisReference(BoundThisReference node) 2048public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 2053public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 2058public override BoundNode VisitParameter(BoundParameter node) 2067public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2074public override BoundNode VisitCollectionExpression(BoundCollectionExpression node) 2080public override BoundNode VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 2086private void VisitCollectionExpression(ImmutableArray<BoundNode> elements) 2088foreach (var element in elements) 2101public override BoundNode VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 2107public override BoundNode VisitNewT(BoundNewT node) 2113public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 2138public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2172public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2179public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 2185public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2230public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2257public override BoundNode VisitFieldInfo(BoundFieldInfo node) 2262public override BoundNode VisitMethodInfo(BoundMethodInfo node) 2267public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2297public override BoundNode VisitEventAccess(BoundEventAccess node) 2303public override BoundNode VisitRangeVariable(BoundRangeVariable node) 2308public override BoundNode VisitQueryClause(BoundQueryClause node) 2314private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node) 2324public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 2329public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 2338public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2353public override BoundNode VisitWithExpression(BoundWithExpression node) 2360public override BoundNode VisitArrayAccess(BoundArrayAccess node) 2371public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node) 2390public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2409public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 2785public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 2801public override BoundNode VisitRangeExpression(BoundRangeExpression node) 2816public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 2822public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 2829public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2853public override BoundNode VisitArrayCreation(BoundArrayCreation node) 2864public override BoundNode VisitForStatement(BoundForStatement node) 2897public override BoundNode VisitForEachStatement(BoundForEachStatement node) 2926public override BoundNode VisitAsOperator(BoundAsOperator node) 2932public override BoundNode VisitIsOperator(BoundIsOperator node) 2947public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2960public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 3136public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 3144public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 3163public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 3168public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 3182public override BoundNode VisitSequence(BoundSequence node) 3197public override BoundNode VisitSequencePoint(BoundSequencePoint node) 3207public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node) 3213public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 3223public override BoundNode VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 3228public override BoundNode VisitStatementList(BoundStatementList node) 3233private BoundNode VisitStatementListWorker(BoundStatementList node) 3243public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 3248public override BoundNode VisitUnboundLambda(UnboundLambda node) 3254public override BoundNode VisitBreakStatement(BoundBreakStatement node) 3262public override BoundNode VisitContinueStatement(BoundContinueStatement node) 3270public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 3275public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 3282protected virtual BoundNode? VisitConditionalOperatorCore( 3346public override BoundNode VisitBaseReference(BoundBaseReference node) 3351public override BoundNode VisitDoStatement(BoundDoStatement node) 3365public override BoundNode VisitGotoStatement(BoundGotoStatement node) 3388public override BoundNode VisitLabelStatement(BoundLabelStatement node) 3394public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 3401public override BoundNode VisitLockStatement(BoundLockStatement node) 3408public override BoundNode VisitNoOpStatement(BoundNoOpStatement node) 3413public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node) 3418public override BoundNode VisitUsingStatement(BoundUsingStatement node) 3441public override BoundNode VisitFixedStatement(BoundFixedStatement node) 3448public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 3454public override BoundNode VisitThrowStatement(BoundThrowStatement node) 3462public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 3470public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 3477public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 3482public override BoundNode VisitDefaultExpression(BoundDefaultExpression node) 3487public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3492public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 3498public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 3507public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 3527public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 3533public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 3540public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node) 3545private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 3552public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 3557public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 3562public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 3570public override BoundNode VisitArrayLength(BoundArrayLength node) 3576public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 3594public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 3599public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 3604private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers) 3614public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 3633public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 3638public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 3661public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 3667public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node) 3672public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node) 3678public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 3684public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node) 3690public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 3695public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 3700public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 3705public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node) 3710public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 3715public override BoundNode VisitDiscardExpression(BoundDiscardExpression node) 3726public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 3733public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 3739public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 3772public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 3778public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 3785public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 3810public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) 3815public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) 3820public 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); 2364public override BoundNode VisitLocal(BoundLocal node) 2395public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 2406var result = base.VisitLocalDeclaration(node); 2414public override BoundNode VisitLocalId(BoundLocalId node) 2417public override BoundNode VisitParameterId(BoundParameterId node) 2420public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 2423public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2435public override BoundNode VisitLambda(BoundLambda node) 2481public override BoundNode VisitThisReference(BoundThisReference node) 2488public override BoundNode VisitParameter(BoundParameter node) 2502public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2509public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2516public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2523public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2532public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 2550public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 2684public override BoundNode VisitBaseReference(BoundBaseReference node) 2708public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2710var result = base.VisitFieldAccess(node); 2734public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2736var result = base.VisitPropertyAccess(node); 2757public override BoundNode VisitEventAccess(BoundEventAccess node) 2759var result = base.VisitEventAccess(node); 2788public 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 (207)
461BoundNode node, 1424BoundNode node, 1451BoundNode node, 1491internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody) 1509internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics) 1547private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody) 1562BoundNode node, 1574internal static BoundNode AnalyzeAndRewrite( 1577BoundNode node, 1593BoundNode node, 1650internal static BoundNode AnalyzeAndRewriteSpeculation( 1652BoundNode node, 1698private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1708var rewrittenNode = rewriter.Visit(node); 1732BoundNode node, 1813BoundNode node, 1923private void TakeIncrementalSnapshot(BoundNode? node) 1929private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 2271private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode 2285private void VisitWithoutDiagnostics(BoundNode? node) 3000public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue) 3035public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node) 3171public override BoundNode? VisitLocal(BoundLocal node) 3202public override BoundNode? VisitBlock(BoundBlock node) 3307public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3529public override BoundNode? VisitDoStatement(BoundDoStatement node) 3535public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 3541public override BoundNode? VisitWithExpression(BoundWithExpression withExpr) 3563public override BoundNode? VisitForStatement(BoundForStatement node) 3570public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 3576public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 3583public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 3589public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 3595public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 3622public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 3684protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 3776public override BoundNode? Visit(BoundNode? node) 3781private BoundNode VisitLValue(BoundNode node) 3800private BoundNode Visit(BoundNode? node, bool expressionIsRead) 3809var result = base.Visit(node); 3822public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 3828public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3836public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 3839var result = base.VisitUnconvertedCollectionExpression(node); 3844public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 3854foreach (var element in node.Elements) 3881void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Func<TypeWithAnnotations, TypeSymbol, TypeWithState>> elementConversionCompletions) 4037public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 4700public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 4761public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 4917BoundNode node, 4995public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 5029public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 5818public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 5855public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 6139public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 6145protected override BoundNode? VisitConditionalOperatorCore( 6436public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 6447public override BoundNode? VisitCall(BoundCall node) 7095private static bool HasImplicitTypeArguments(BoundNode node) 7166BoundNode node, 7188BoundNode node, 7227BoundNode node, 7417BoundNode node, 8424var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length); 8755public override BoundNode? VisitConversion(BoundConversion node) 8892public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 8898public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 9121public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 10085public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 10261public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10356public override BoundNode? VisitLambda(BoundLambda node) 10405public override BoundNode? VisitUnboundLambda(UnboundLambda node) 10415public override BoundNode? VisitThisReference(BoundThisReference node) 10428public override BoundNode? VisitParameter(BoundParameter node) 10438public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 10617public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 10622private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt) 10736var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 10777var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 10936public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 11056BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder), 11086BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder), 11114public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 11211BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder), 11225BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder), 11246public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 11263public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 11310public override BoundNode? VisitBaseReference(BoundBaseReference node) 11316public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 11325public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 11375public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 11399public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 11413public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 11421public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 11427public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 11433public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 11439public override BoundNode? VisitEventAccess(BoundEventAccess node) 11549BoundNode node, 11814Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder); 11851public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 11853var result = base.VisitFromEndIndexExpression(node); 11858public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 11864public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 11870public override BoundNode? VisitBadExpression(BoundBadExpression node) 11892public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 11894var result = base.VisitTypeExpression(node); 11905public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 11908var result = base.VisitTypeOrValueExpression(node); 11913public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 12024public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 12026var result = base.VisitPointerIndirectionOperator(node); 12032public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 12034var result = base.VisitPointerElementAccess(node); 12040public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 12047public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 12049var result = base.VisitMakeRefOperator(node); 12054public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 12056var result = base.VisitRefValueOperator(node); 12193BoundNode.GetConversion(binary.TrueFalseOperandConversion, binary.TrueFalseOperandPlaceholder), 12217public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 12219var result = base.VisitAwaitExpression(node); 12248public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 12250var result = base.VisitTypeOfOperator(node); 12255public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 12257var result = base.VisitMethodInfo(node); 12262public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 12264var result = base.VisitFieldInfo(node); 12269public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 12272var result = base.VisitDefaultLiteral(node); 12277public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 12281var result = base.VisitDefaultExpression(node); 12297public override BoundNode? VisitIsOperator(BoundIsOperator node) 12331public override BoundNode? VisitAsOperator(BoundAsOperator node) 12339switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind) 12359public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 12361var result = base.VisitSizeOfOperator(node); 12367public override BoundNode? VisitArgList(BoundArgList node) 12369var result = base.VisitArgList(node); 12375public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 12383public override BoundNode? VisitLiteral(BoundLiteral node) 12386var result = base.VisitLiteral(node); 12391public override BoundNode? VisitUtf8String(BoundUtf8String node) 12394var result = base.VisitUtf8String(node); 12399public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 12401var result = base.VisitPreviousSubmissionReference(node); 12407public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 12409var result = base.VisitHostObjectMemberReference(node); 12415public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 12417var result = base.VisitPseudoVariable(node); 12422public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 12424var result = base.VisitRangeExpression(node); 12429public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 12436public override BoundNode? VisitLabel(BoundLabel node) 12438var result = base.VisitLabel(node); 12443public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 12455public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 12475public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 12501public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 12507public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 12515public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 12523public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 12531public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 12533var result = base.VisitImplicitReceiver(node); 12538public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 12543public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 12549public override BoundNode? VisitNewT(BoundNewT node) 12555public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 12557var result = base.VisitArrayInitialization(node); 12567public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 12661public override BoundNode? VisitQueryClause(BoundQueryClause node) 12663var result = base.VisitQueryClause(node); 12668public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 12670var result = base.VisitNameOfOperator(node); 12675public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 12677var result = base.VisitNamespaceExpression(node); 12682public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 12685var result = base.VisitUnconvertedInterpolatedString(node); 12690public override BoundNode? VisitStringInsert(BoundStringInsert node) 12692var result = base.VisitStringInsert(node); 12703public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 12711public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 12717public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 12723public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 12728private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 12745public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 12753public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 12760public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 12783public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 12821public override BoundNode? VisitLockStatement(BoundLockStatement node) 12829public override BoundNode? VisitAttribute(BoundAttribute node) 12842public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 12849public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 12857public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 12865public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 12888public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 12895public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 13463private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)> 13469public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y) 13480public 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) 863public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 870public override BoundNode VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 1053public 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 (1125)
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); 2147public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this); 2182public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this); 2235public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this); 2267public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this); 2311public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this); 2354public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this); 2397public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this); 2432public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this); 2467public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this); 2505public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this); 2540public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this); 2575public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this); 2610public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this); 2645public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this); 2685public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this); 2728public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this); 2771public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this); 2800public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this); 2825public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this); 2860public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this); 2897public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this); 2929public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this); 2971public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this); 3004public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this); 3039public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this); 3070public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this); 3109public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this); 3148public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this); 3175public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this); 3212public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this); 3249public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this); 3280public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this); 3316public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this); 3345public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this); 3376public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this); 3412public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this); 3452public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this); 3482public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this); 3514public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this); 3545public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this); 3574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this); 3602public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this); 3630public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this); 3644public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this); 3672public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this); 3709public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this); 3746public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this); 3791public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this); 3827public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this); 3860public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this); 3940public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this); 3970public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this); 4012public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this); 4063public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this); 4094public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this); 4133public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this); 4167public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this); 4198public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this); 4235public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this); 4276public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this); 4307public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this); 4347public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this); 4382public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this); 4417public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this); 4452public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this); 4481public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this); 4530public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this); 4575public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this); 4608public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this); 4648public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this); 4685public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this); 4717public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this); 4748public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this); 4785public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this); 4822public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this); 4855public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this); 4918public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this); 4946public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this); 4980public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this); 5008public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this); 5053public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this); 5087public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this); 5122public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this); 5159public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this); 5205public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this); 5234public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this); 5262public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this); 5288public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this); 5317public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this); 5348public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this); 5389public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this); 5418public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this); 5447public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this); 5478public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this); 5509public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this); 5556public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this); 5605public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this); 5634public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this); 5666public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this); 5699public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this); 5741public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this); 5777public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this); 5813public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this); 5852public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this); 5905public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this); 5938public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this); 5979public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this); 6017public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this); 6050public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this); 6091public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this); 6119public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this); 6174public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this); 6213public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this); 6258public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this); 6296public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this); 6368public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this); 6384protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false) 6393public ImmutableArray<BoundNode> Elements { get; } 6398public BoundUnconvertedCollectionExpression(SyntaxNode syntax, ImmutableArray<BoundNode> elements, bool hasErrors = false) 6409public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedCollectionExpression(this); 6411public BoundUnconvertedCollectionExpression Update(ImmutableArray<BoundNode> elements) 6425public 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) 6454public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpression(this); 6456public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type) 6482public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadExpressionPlaceholder(this); 6522public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadElement(this); 6567public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this); 6597public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this); 6640public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this); 6672public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this); 6719public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this); 6768public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this); 6813public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this); 6841public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this); 6886public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this); 6918public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this); 6953public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this); 6989public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this); 7029public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this); 7059public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this); 7095public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this); 7127public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this); 7158public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this); 7204public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this); 7233public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this); 7273public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this); 7313public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this); 7351public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this); 7387public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this); 7438public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this); 7487public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this); 7528public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this); 7568public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this); 7608public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this); 7652public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this); 7693public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this); 7719public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this); 7752public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this); 7794public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this); 7822public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this); 7850public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this); 7888public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this); 7923public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this); 7965public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this); 8030public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this); 8070public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this); 8123public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this); 8164public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this); 8208public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this); 8247public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this); 8287public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this); 8329public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this); 8359public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this); 8391public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this); 8427public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this); 8466public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this); 8500public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this); 8539public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this); 8574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this); 8602public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this); 8645public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this); 8671public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this); 8706public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this); 8742public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this); 8772public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this); 8803public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this); 8838public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this); 8856internal R VisitInternal(BoundNode node, A arg) 9568public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node); 9569public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node); 9570public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node); 9571public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node); 9572public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node); 9573public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node); 9574public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node); 9575public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node); 9576public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node); 9577public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node); 9578public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node); 9579public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node); 9580public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node); 9581public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node); 9582public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node); 9583public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node); 9584public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node); 9585public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node); 9586public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node); 9587public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node); 9588public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node); 9589public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node); 9590public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node); 9591public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node); 9592public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node); 9593public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node); 9594public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node); 9595public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node); 9596public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node); 9597public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node); 9598public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node); 9599public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node); 9600public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node); 9601public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node); 9602public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node); 9603public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node); 9604public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node); 9605public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node); 9606public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node); 9607public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node); 9608public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node); 9609public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node); 9610public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node); 9611public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node); 9612public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node); 9613public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node); 9614public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node); 9615public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node); 9616public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node); 9617public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node); 9618public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node); 9619public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node); 9620public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node); 9621public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node); 9622public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node); 9623public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node); 9624public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node); 9625public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node); 9626public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node); 9627public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node); 9628public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node); 9629public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node); 9630public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node); 9631public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node); 9632public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node); 9633public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node); 9634public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node); 9635public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node); 9636public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node); 9637public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node); 9638public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node); 9639public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node); 9640public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node); 9641public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node); 9642public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node); 9643public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node); 9644public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node); 9645public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node); 9646public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node); 9647public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node); 9648public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node); 9649public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node); 9650public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node); 9651public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node); 9652public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node); 9653public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node); 9654public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node); 9655public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node); 9656public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node); 9657public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node); 9658public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node); 9659public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node); 9660public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node); 9661public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node); 9662public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node); 9663public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node); 9664public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node); 9665public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node); 9666public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node); 9667public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node); 9668public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node); 9669public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node); 9670public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node); 9671public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node); 9672public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node); 9673public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node); 9674public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node); 9675public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node); 9676public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node); 9677public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node); 9678public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 9679public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node); 9680public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node); 9681public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node); 9682public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node); 9683public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node); 9684public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node); 9685public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node); 9686public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node); 9687public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node); 9688public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node); 9689public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node); 9690public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node); 9691public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node); 9692public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node); 9693public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node); 9694public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node); 9695public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 9696public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node); 9697public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node); 9698public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node); 9699public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node); 9700public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node); 9701public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node); 9702public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node); 9703public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node); 9704public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node); 9705public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node); 9706public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node); 9707public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node); 9708public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node); 9709public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node); 9710public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node); 9711public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node); 9712public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node); 9713public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node); 9714public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node); 9715public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node); 9716public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node); 9717public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node); 9718public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node); 9719public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node); 9720public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node); 9721public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node); 9722public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node); 9723public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node); 9724public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node); 9725public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node); 9726public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node); 9727public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node); 9728public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 9729public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node); 9730public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node); 9731public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node); 9732public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node); 9733public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node); 9734public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node); 9735public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node); 9736public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node); 9737public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node); 9738public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node); 9739public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node); 9740public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node); 9741public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node); 9742public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node); 9743public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node); 9744public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node); 9745public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node); 9746public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node); 9747public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node); 9748public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node); 9749public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node); 9750public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node); 9751public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node); 9752public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node); 9753public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node); 9754public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node); 9755public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node); 9756public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node); 9757public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node); 9758public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node); 9759public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node); 9760public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node); 9761public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node); 9762public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node); 9763public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node); 9764public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node); 9765public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node); 9766public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node); 9767public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node); 9768public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node); 9769public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node); 9770public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node); 9771public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node); 9772public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node); 9773public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node); 9774public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node); 9775public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node); 9776public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node); 9777public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node); 9778public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node); 9779public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node); 9780public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node); 9781public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node); 9782public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node); 9783public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node); 9784public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node); 9785public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node); 9786public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node); 9787public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node); 9788public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node); 9789public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node); 9790public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node); 9791public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node); 9792public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node); 9793public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node); 9794public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node); 9795public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node); 9796public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node); 9797public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node); 9798public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node); 9799public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node); 9804public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 9809public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 9814public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 9819public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 9824public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null; 9825public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 9830public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null; 9831public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null; 9832public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null; 9833public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null; 9834public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null; 9835public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null; 9836public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => null; 9837public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null; 9838public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null; 9839public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null; 9840public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null; 9841public override BoundNode? VisitDup(BoundDup node) => null; 9842public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 9847public override BoundNode? VisitBadExpression(BoundBadExpression node) 9852public override BoundNode? VisitBadStatement(BoundBadStatement node) 9857public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 9862public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 9868public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null; 9869public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null; 9870public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 9875public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 9880public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 9885public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 9890public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null; 9891public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 9896public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 9902public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 9908public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 9913public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 9918public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 9923public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 9928public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 9934public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 9940public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 9946public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 9952public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 9958public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 9964public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 9970public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 9976public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 9982public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 9989public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 9996public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 10002public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 10007public override BoundNode? VisitArrayLength(BoundArrayLength node) 10012public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 10018public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 10024public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 10029public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 10035public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null; 10036public override BoundNode? VisitLocalId(BoundLocalId node) => null; 10037public override BoundNode? VisitParameterId(BoundParameterId node) => null; 10038public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null; 10039public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null; 10040public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null; 10041public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null; 10042public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null; 10043public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null; 10044public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null; 10045public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null; 10046public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null; 10047public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null; 10048public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null; 10049public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null; 10050public override BoundNode? VisitIsOperator(BoundIsOperator node) 10056public override BoundNode? VisitAsOperator(BoundAsOperator node) 10062public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 10067public override BoundNode? VisitConversion(BoundConversion node) 10072public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 10077public override BoundNode? VisitArgList(BoundArgList node) => null; 10078public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 10083public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 10088public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 10093public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 10098public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null; 10099public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null; 10100public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null; 10101public override BoundNode? VisitBlock(BoundBlock node) 10107public override BoundNode? VisitScope(BoundScope node) 10112public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 10117public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 10124public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 10129public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 10135public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 10141public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null; 10142public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 10147public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 10152public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null; 10153public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 10158public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 10163public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => null; 10164public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => null; 10165public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 10172public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 10177public override BoundNode? VisitIfStatement(BoundIfStatement node) 10184public override BoundNode? VisitDoStatement(BoundDoStatement node) 10190public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 10196public override BoundNode? VisitForStatement(BoundForStatement node) 10204public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 10214public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 10220public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 10228public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 10234public override BoundNode? VisitLockStatement(BoundLockStatement node) 10240public override BoundNode? VisitTryStatement(BoundTryStatement node) 10247public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 10255public override BoundNode? VisitLiteral(BoundLiteral node) => null; 10256public override BoundNode? VisitUtf8String(BoundUtf8String node) => null; 10257public override BoundNode? VisitThisReference(BoundThisReference node) => null; 10258public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null; 10259public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null; 10260public override BoundNode? VisitBaseReference(BoundBaseReference node) => null; 10261public override BoundNode? VisitLocal(BoundLocal node) => null; 10262public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null; 10263public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 10268public override BoundNode? VisitParameter(BoundParameter node) => null; 10269public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null; 10270public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 10276public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 10281public override BoundNode? VisitLabel(BoundLabel node) => null; 10282public override BoundNode? VisitStatementList(BoundStatementList node) 10287public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 10292public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 10299public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 10305public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 10311public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 10316public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 10322public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 10329public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 10336public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null; 10337public override BoundNode? VisitDagTemp(BoundDagTemp node) 10342public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 10347public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 10352public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 10357public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 10362public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 10367public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 10372public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 10377public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 10382public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 10387public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 10392public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 10401public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 10410public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 10416public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 10422public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 10428public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 10433public override BoundNode? VisitSequence(BoundSequence node) 10439public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 10445public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 10450public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 10456public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 10462public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 10469public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null; 10470public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 10476public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10481public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 10486public override BoundNode? VisitCall(BoundCall node) 10492public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 10498public override BoundNode? VisitAttribute(BoundAttribute node) 10504public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 10509public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 10515public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 10520public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 10525public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null; 10526public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 10531public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 10536public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 10541public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 10547public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 10552public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 10558public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 10563public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null; 10564public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 10570public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 10576public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 10582public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null; 10583public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 10589public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null; 10590public override BoundNode? VisitNewT(BoundNewT node) 10595public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 10600public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 10606public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 10611public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 10617public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 10623public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 10628public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null; 10629public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 10634public override BoundNode? VisitEventAccess(BoundEventAccess node) 10639public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 10645public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 10651public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 10657public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 10663public override BoundNode? VisitLambda(BoundLambda node) 10668public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null; 10669public override BoundNode? VisitQueryClause(BoundQueryClause node) 10674public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 10679public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 10684public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 10689public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 10694public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null; 10695public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null; 10696public override BoundNode? VisitStringInsert(BoundStringInsert node) 10703public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 10709public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 10714public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null; 10715public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 10721public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 10729public override BoundNode? VisitListPattern(BoundListPattern node) 10735public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 10740public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 10745public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 10750public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 10756public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 10761public override BoundNode? VisitTypePattern(BoundTypePattern node) 10766public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 10772public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 10777public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 10782public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null; 10783public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 10788public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 10793public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 10798public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null; 10799public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 10805public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 10812public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 10817public override BoundNode? VisitWithExpression(BoundWithExpression node) 10827public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 10834public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 10841public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 10848public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 10853public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 10858public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 10864public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 10870public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 10875public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 10880public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 10885public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 10890public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 10895public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 10900public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 10905public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 10910public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 10915public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 10920public override BoundNode? VisitDup(BoundDup node) 10925public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 10931public override BoundNode? VisitBadExpression(BoundBadExpression node) 10938public override BoundNode? VisitBadStatement(BoundBadStatement node) 10940ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes); 10943public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 10948public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 10956public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 10961public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 10968public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 10977public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 10990public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 10996public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 11002public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 11009public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 11015public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 11022public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 11029public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 11036public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 11042public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 11048public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 11055public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 11063public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 11070public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 11077public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 11091public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 11103public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 11110public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 11117public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 11126public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 11133public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 11141public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 11150public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 11157public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 11163public override BoundNode? VisitArrayLength(BoundArrayLength node) 11169public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 11177public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 11184public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 11191public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 11197public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 11203public override BoundNode? VisitLocalId(BoundLocalId node) 11210public override BoundNode? VisitParameterId(BoundParameterId node) 11217public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 11222public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 11227public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 11232public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 11237public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 11242public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 11247public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 11252public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 11257public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 11264public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 11271public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 11276public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 11282public override BoundNode? VisitIsOperator(BoundIsOperator node) 11289public override BoundNode? VisitAsOperator(BoundAsOperator node) 11298public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 11304public override BoundNode? VisitConversion(BoundConversion node) 11310public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 11317public override BoundNode? VisitArgList(BoundArgList node) 11322public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 11328public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 11338public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 11343public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 11348public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node; 11349public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node; 11350public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node; 11351public override BoundNode? VisitBlock(BoundBlock node) 11359public override BoundNode? VisitScope(BoundScope node) 11365public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 11371public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 11379public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 11384public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 11390public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 11397public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node; 11398public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 11403public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 11408public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node; 11409public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 11414public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 11419public override BoundNode? VisitBreakStatement(BoundBreakStatement node) 11424public override BoundNode? VisitContinueStatement(BoundContinueStatement node) 11429public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 11440public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 11446public override BoundNode? VisitIfStatement(BoundIfStatement node) 11453public override BoundNode? VisitDoStatement(BoundDoStatement node) 11462public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 11471public override BoundNode? VisitForStatement(BoundForStatement node) 11483public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 11498public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 11504public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 11513public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 11520public override BoundNode? VisitLockStatement(BoundLockStatement node) 11526public override BoundNode? VisitTryStatement(BoundTryStatement node) 11534public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11544public override BoundNode? VisitLiteral(BoundLiteral node) 11549public override BoundNode? VisitUtf8String(BoundUtf8String node) 11554public override BoundNode? VisitThisReference(BoundThisReference node) 11559public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 11564public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 11569public override BoundNode? VisitBaseReference(BoundBaseReference node) 11574public override BoundNode? VisitLocal(BoundLocal node) 11580public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 11586public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 11593public override BoundNode? VisitParameter(BoundParameter node) 11599public override BoundNode? VisitLabelStatement(BoundLabelStatement node) 11604public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 11611public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 11617public override BoundNode? VisitLabel(BoundLabel node) 11623public override BoundNode? VisitStatementList(BoundStatementList node) 11628public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 11634public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11643public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 11652public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 11662public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 11667public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 11673public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 11680public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 11687public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) 11692public override BoundNode? VisitDagTemp(BoundDagTemp node) 11698public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 11704public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 11709public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 11714public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 11719public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 11724public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 11730public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 11736public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 11742public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 11748public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 11754public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 11764public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 11774public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 11780public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 11787public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 11794public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 11800public override BoundNode? VisitSequence(BoundSequence node) 11808public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 11816public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 11822public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 11830public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 11837public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 11846public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 11851public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 11858public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11867public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 11874public override BoundNode? VisitCall(BoundCall node) 11883public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 11891public override BoundNode? VisitAttribute(BoundAttribute node) 11899public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 11905public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 11914public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 11916ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 11920public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 11928ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 11932public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 11937public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 11947public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11953public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 11960public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 11968public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 11974public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 11981public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 11989public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 11995public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 12002public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 12010public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 12018public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 12023public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 12031public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 12037public override BoundNode? VisitNewT(BoundNewT node) 12043public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 12050public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 12057public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 12063public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 12071public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 12079public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 12086public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 12092public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 12099public override BoundNode? VisitEventAccess(BoundEventAccess node) 12106public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 12115public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 12126public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 12133public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 12141public override BoundNode? VisitLambda(BoundLambda node) 12149public override BoundNode? VisitUnboundLambda(UnboundLambda node) 12155public override BoundNode? VisitQueryClause(BoundQueryClause node) 12165public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 12170public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 12176public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 12182public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 12188public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 12193public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 12198public override BoundNode? VisitStringInsert(BoundStringInsert node) 12206public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 12216public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 12223public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 12229public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 12238public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 12250public override BoundNode? VisitListPattern(BoundListPattern node) 12263public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 12273public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 12282public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 12288public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 12294public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 12301public override BoundNode? VisitTypePattern(BoundTypePattern node) 12308public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 12316public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 12323public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 12330public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 12335public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 12341public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 12348public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 12355public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 12361public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 12367public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 12375public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 12381public override BoundNode? VisitWithExpression(BoundWithExpression node) 12404public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 12412public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 12420public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 12428public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 12440public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 12457public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 12474public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 12486public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 12498public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 12510public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 12522public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 12534public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 12546public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 12558public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 12570public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 12582public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 12594public override BoundNode? VisitDup(BoundDup node) 12606public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 12623public override BoundNode? VisitBadExpression(BoundBadExpression node) 12641public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 12659public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 12671public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 12683public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 12703public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 12727public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 12744public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 12761public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 12779public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 12796public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 12814public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 12832public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 12850public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 12867public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 12884public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 12902public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 12921public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 12939public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 12957public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 12975public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 12995public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 13013public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 13032public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 13052public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 13070public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 13087public override BoundNode? VisitArrayLength(BoundArrayLength node) 13104public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 13113public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13131public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 13149public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 13166public override BoundNode? VisitLocalId(BoundLocalId node) 13184public override BoundNode? VisitParameterId(BoundParameterId node) 13202public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 13214public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 13226public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 13238public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 13250public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 13262public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 13274public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 13286public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 13298public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 13316public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 13334public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 13346public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 13363public override BoundNode? VisitIsOperator(BoundIsOperator node) 13381public override BoundNode? VisitAsOperator(BoundAsOperator node) 13401public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 13418public override BoundNode? VisitConversion(BoundConversion node) 13435public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 13453public override BoundNode? VisitArgList(BoundArgList node) 13465public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 13482public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 13503public override BoundNode? VisitBlock(BoundBlock node) 13512public override BoundNode? VisitScope(BoundScope node) 13519public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 13526public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 13535public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 13543public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 13554public override BoundNode? VisitDoStatement(BoundDoStatement node) 13562public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 13570public override BoundNode? VisitForStatement(BoundForStatement node) 13581public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 13595public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 13605public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 13613public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13624public override BoundNode? VisitLiteral(BoundLiteral node) 13636public override BoundNode? VisitUtf8String(BoundUtf8String node) 13648public override BoundNode? VisitThisReference(BoundThisReference node) 13660public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 13672public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 13684public override BoundNode? VisitBaseReference(BoundBaseReference node) 13696public override BoundNode? VisitLocal(BoundLocal node) 13713public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 13730public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 13748public override BoundNode? VisitParameter(BoundParameter node) 13765public override BoundNode? VisitLabel(BoundLabel node) 13777public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 13786public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 13805public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 13825public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 13832public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 13839public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 13846public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 13853public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 13864public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 13875public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 13883public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 13900public override BoundNode? VisitSequence(BoundSequence node) 13919public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 13938public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 13955public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 13974public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 13992public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 14012public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 14024public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 14042public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 14062public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 14080public override BoundNode? VisitCall(BoundCall node) 14100public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 14119public override BoundNode? VisitAttribute(BoundAttribute node) 14138public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 14155public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 14175public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 14177ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14192public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 14200ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14215public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 14227public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 14244public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 14262public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 14281public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 14298public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 14316public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 14335public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 14352public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 14370public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 14389public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 14408public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 14420public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 14439public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 14456public override BoundNode? VisitNewT(BoundNewT node) 14473public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 14491public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 14509public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 14526public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 14545public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 14564public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 14582public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 14599public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14617public override BoundNode? VisitEventAccess(BoundEventAccess node) 14635public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 14655public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 14673public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 14692public override BoundNode? VisitLambda(BoundLambda node) 14711public override BoundNode? VisitUnboundLambda(UnboundLambda node) 14728public override BoundNode? VisitQueryClause(BoundQueryClause node) 14749public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 14766public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 14783public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 14800public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 14812public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 14824public override BoundNode? VisitStringInsert(BoundStringInsert node) 14843public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 14862public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 14870public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 14877public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 14887public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 14900public override BoundNode? VisitListPattern(BoundListPattern node) 14914public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 14925public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 14935public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 14942public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 14949public override BoundNode? VisitTypePattern(BoundTypePattern node) 14957public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 14966public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 14974public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 14982public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 14994public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 15011public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 15029public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 15047public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 15064public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 15073public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 15090public override BoundNode? VisitWithExpression(BoundWithExpression node) 15115public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (21)
135public override BoundNode VisitTryStatement(BoundTryStatement node) 145var result = visitTryStatement(node, tryStatementSyntax); 150BoundNode visitTryStatement(BoundTryStatement node, SyntaxNode tryStatementSyntax) 360public override BoundNode VisitGotoStatement(BoundGotoStatement node) 368public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 374public override BoundNode VisitReturnStatement(BoundReturnStatement node) 521public override BoundNode VisitCatchBlock(BoundCatchBlock node) 526private BoundNode VisitCatchBlock(BoundCatchBlock node, AwaitCatchFrame parentAwaitCatchFrame) 536var result = base.VisitCatchBlock(node); 681public override BoundNode VisitLocal(BoundLocal node) 693public override BoundNode VisitThrowStatement(BoundThrowStatement node) 705public override BoundNode VisitLambda(BoundLambda node) 713var result = base.VisitLambda(node); 721public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 729var result = base.VisitLocalFunctionStatement(node); 805public override BoundNode VisitTryStatement(BoundTryStatement node) 847public override BoundNode VisitCatchBlock(BoundCatchBlock node) 852var result = base.VisitCatchBlock(node); 869public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 875public override BoundNode VisitLambda(BoundLambda node) 891public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (4)
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) 414public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 661public 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\BoundTreeToDifferentEnclosingContextRewriter.cs (7)
38public override BoundNode DefaultVisit(BoundNode node) 100public override BoundNode VisitBlock(BoundBlock node) 120public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node) 140public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 153public override BoundNode? VisitConversion(BoundConversion node) 191public 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 (9)
85public override BoundNode? VisitThisReference(BoundThisReference node) 95public override BoundNode? VisitLambda(BoundLambda node) 107public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 120public override BoundNode VisitBlock(BoundBlock node) 136var result = base.VisitBlock(node); 180public override BoundNode? VisitCall(BoundCall node) 185public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 190public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 202public override BoundNode VisitUnaryOperator(BoundUnaryOperator node)
Lowering\ExtensionMethodReferenceRewriter.cs (9)
29public override BoundNode VisitCall(BoundCall node) 34public static BoundNode VisitCall(BoundTreeRewriter rewriter, BoundCall node) 192public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 200public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 205public static BoundNode VisitDelegateCreationExpression(BoundTreeRewriter rewriter, BoundDelegateCreationExpression node) 221public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 226public static BoundNode VisitFunctionPointerLoad(BoundTreeRewriter rewriter, BoundFunctionPointerLoad node) 266public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 271public static BoundNode VisitUnaryOperator(BoundTreeRewriter rewriter, BoundUnaryOperator node)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
544syntaxForSpan = ((BoundNode?)usingStatement.ExpressionOpt ?? usingStatement.DeclarationsOpt)!.Syntax;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
409private bool TryGetLocalOrParameterInfo(BoundNode node, [NotNullWhen(true)] out Symbol? symbol, [NotNullWhen(true)] out TypeSymbol? type, [NotNullWhen(true)] out BoundExpression? indexExpression)
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (5)
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; 1165public override BoundNode? Visit(BoundNode? node) 1179public static void Validate(BoundNode node) 1191public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 1197public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 1203public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 1209public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 1215public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 1221public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 1227public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 1233public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 1239public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 1245public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 1251public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 1257public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 1263public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1269public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1275private 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) 335public override BoundNode VisitCall(BoundCall node) 1684public 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) 199public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 398public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 403public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 408public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 413public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 418public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 423public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 428public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
Lowering\LocalRewriter\LocalRewriter_IsOperator.cs (1)
16public override BoundNode VisitIsOperator(BoundIsOperator node)
Lowering\LocalRewriter\LocalRewriter_IsPatternOperator.cs (1)
15public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node)
Lowering\LocalRewriter\LocalRewriter_LabeledStatement.cs (1)
14public override BoundNode VisitLabeledStatement(BoundLabeledStatement node)
Lowering\LocalRewriter\LocalRewriter_Literal.cs (1)
17public override BoundNode VisitLiteral(BoundLiteral node)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.cs (2)
14public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 86public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node)
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (1)
22public override BoundNode VisitLockStatement(BoundLockStatement node)
Lowering\LocalRewriter\LocalRewriter_MultipleLocalDeclarations.cs (4)
14public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 19public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 24private BoundNode? VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node) 30var init = VisitLocalDeclaration(decl);
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (1)
14public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (5)
13public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 33Debug.Assert(BoundNode.GetConversion(leftConversion, leftPlaceholder).IsValid); 92BoundNode.GetConversion(leftConversion, leftPlaceholder) is { 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); 663public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 670public override BoundNode VisitThrowStatement(BoundThrowStatement node) 677public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 686public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 693public override BoundNode VisitReturnStatement(BoundReturnStatement node) 700public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 707public override BoundNode VisitCatchBlock(BoundCatchBlock node) 729public override BoundNode DefaultVisit(BoundNode node) 740public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 749public override BoundNode VisitSpillSequence(BoundSpillSequence node) 762public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 769public override BoundNode VisitArgListOperator(BoundArgListOperator node) 776public override BoundNode VisitArrayAccess(BoundArrayAccess node) 805public override BoundNode VisitArrayCreation(BoundArrayCreation node) 826public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 833public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 841public override BoundNode VisitArrayLength(BoundArrayLength node) 848public override BoundNode VisitAsOperator(BoundAsOperator node) 857public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 969public override BoundNode VisitBadExpression(BoundBadExpression node) 975public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 980public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1016public override BoundNode VisitCall(BoundCall node) 1082public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1104public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1174public override BoundNode VisitConversion(BoundConversion node) 1189public override BoundNode VisitPassByCopy(BoundPassByCopy node) 1200public override BoundNode VisitMethodGroup(BoundMethodGroup node) 1205public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1212public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1219public override BoundNode VisitIsOperator(BoundIsOperator node) 1226public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1233public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1263public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1369public static BoundStatement Replace(BoundNode node, BoundExpression receiver, int receiverID, int recursionDepth) 1380public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 1394public override BoundNode VisitLambda(BoundLambda node) 1398var result = base.VisitLambda(node); 1403public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1407var result = base.VisitLocalFunctionStatement(node); 1412public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1420public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 1441public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 1448public override BoundNode VisitSequence(BoundSequence node) 1474public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1504public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1511public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 1518public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (17)
42private IteratorAndAsyncCaptureWalker(CSharpCompilation compilation, MethodSymbol method, BoundNode node, HashSet<Symbol> initiallyAssignedVariables) 53public static OrderedSet<Symbol> Analyze(CSharpCompilation compilation, MethodSymbol method, BoundNode node, DiagnosticBag diagnostics) 186public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 193public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 279public override BoundNode VisitParameter(BoundParameter node) 295public override BoundNode VisitFieldAccess(BoundFieldAccess node) 306public override BoundNode VisitThisReference(BoundThisReference node) 312public override BoundNode VisitBaseReference(BoundBaseReference node) 318public override BoundNode VisitTryStatement(BoundTryStatement node) 339public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 369public override BoundNode VisitBlock(BoundBlock node) 383public override BoundNode VisitCatchBlock(BoundCatchBlock node) 394public override BoundNode VisitSequence(BoundSequence node) 400public override BoundNode VisitThisReference(BoundThisReference node) 406public override BoundNode VisitBaseReference(BoundBaseReference node) 412public override BoundNode VisitLocal(BoundLocal node) 418public 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);