19 types derived from BoundNode
Microsoft.CodeAnalysis.CSharp (19)
Generated\BoundNodes.xml.Generated.cs (19)
262internal abstract partial class BoundInitializer : BoundNode 411internal abstract partial class BoundExpression : BoundNode 2172internal sealed partial class BoundAwaitableInfo : BoundNode 2301internal sealed partial class BoundBlockInstrumentation : BoundNode 3181internal abstract partial class BoundStatement : BoundNode 4123internal sealed partial class BoundForEachDeconstructStep : BoundNode 4295internal sealed partial class BoundCatchBlock : BoundNode 4939internal sealed partial class BoundSwitchExpressionArm : BoundNode 5042internal sealed partial class BoundDecisionDag : BoundNode 5072internal abstract partial class BoundDecisionDagNode : BoundNode 5223internal abstract partial class BoundDagTest : BoundNode 5237internal sealed partial class BoundDagTemp : BoundNode 5756internal sealed partial class BoundSwitchLabel : BoundNode 6511internal sealed partial class BoundUnconvertedWithElement : BoundNode 6620internal sealed partial class BoundCollectionExpressionSpreadElement : BoundNode 8109internal abstract partial class BoundPattern : BoundNode 8483internal abstract partial class BoundSubpattern : BoundNode 8559internal sealed partial class BoundPropertySubpatternMember : BoundNode 8910internal abstract partial class BoundMethodBodyBase : BoundNode
2893 references to BoundNode
Microsoft.CodeAnalysis.CSharp (2893)
Binder\Binder.ValueChecks.cs (2)
4818foreach (var element in expr.Elements) 4832private bool TryGetCollectionExpressionElementValEscape(BoundNode element, out SafeContext safeContext)
Binder\Binder_Attributes.cs (2)
888foreach (var element in elements) 895private TypedConstant VisitCollectionExpressionElement(BoundNode node, BindingDiagnosticBag diagnostics, ref bool attrHasErrors, bool curArgumentHasErrors)
Binder\Binder_Conversions.cs (15)
75Debug.Assert(BoundNode.GetConversion(result, placeholder1) == conversion); 81Debug.Assert(BoundNode.GetConversion(result2, placeholder2) == conversion); 916CollectionExpressionTypeKind collectionTypeKind, ImmutableArray<BoundNode> elements, BoundObjectOrCollectionValuePlaceholder? placeholder = null, BoundExpression? collectionCreation = null, MethodSymbol? collectionBuilderMethod = null, BoundCollectionBuilderElementsPlaceholder? collectionBuilderElementsPlaceholder = null) 1064var builder = ArrayBuilder<BoundNode>.GetInstance(elements.Length); 1065foreach (var element in elements) 1152private readonly ImmutableArray<BoundNode> BindElements(TypeSymbol elementType) 1155var builder = ArrayBuilder<BoundNode>.GetInstance(elements.Length); 1164var element = elements[i]; 1219ImmutableArray<BoundNode> elements) 1246private readonly BoundCollectionExpression? TryConvertCollectionExpressionArrayInterfaceType(ImmutableArray<BoundNode> elements) 1340private readonly BoundCollectionExpression? TryConvertCollectionExpressionBuilderType(ImmutableArray<BoundNode> elements) 2326var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(node.Elements.Length); 2328foreach (var element in node.Elements) 2404foreach (var element in elements) 3240internal static bool IsMethodGroupWithTypeOrValueReceiver(BoundNode node)
Binder\Binder_Expressions.cs (3)
5363var builder = ArrayBuilder<BoundNode>.GetInstance(syntax.Elements.Count); 5383static BoundNode bindElement(CollectionElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this, int nestingLevel) 5394static BoundNode bindSpreadElement(SpreadElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this)
Binder\Binder_Invocation.cs (1)
1888node, withElement: null, ImmutableArray<BoundNode>.CastUp(collectionArgs))
Binder\Binder_Lambda.cs (1)
434where TResult : BoundNode
Binder\Binder_Statements.cs (11)
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; 3711public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics) 3740private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3745private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3769private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics) 3804private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics) 4135private BoundNode BindMethodBody(CSharpSyntaxNode declaration, BlockSyntax blockBody, ArrowExpressionClauseSyntax expressionBody, BindingDiagnosticBag diagnostics)
Binder\DecisionDagBuilder_CheckOrReachability.cs (15)
796public override BoundNode? Visit(BoundNode? node) 827public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 919public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 949public override BoundNode? VisitTypePattern(BoundTypePattern node) 955public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 961public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 967public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 1050public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 1058public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 1213public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 1218public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 1223public override BoundNode? VisitITuplePattern(BoundITuplePattern ituplePattern) 1279public override BoundNode? VisitListPattern(BoundListPattern listPattern) 1401public override BoundNode VisitSlicePattern(BoundSlicePattern node)
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 (51)
19internal static void Analyze(CSharpCompilation compilation, MethodSymbol symbol, BoundNode node, BindingDiagnosticBag diagnostics) 61private readonly BoundNode _rootNode; 77BoundNode rootNode, 298public override BoundNode? VisitBlock(BoundBlock node) 316public override BoundNode? Visit(BoundNode? node) 335private void TrackVisit(BoundNode? node) 364public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 369public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 379public override BoundNode? VisitLambda(BoundLambda node) 387public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 394public override BoundNode? VisitForStatement(BoundForStatement node) 401public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 423public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 435public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 441public override BoundNode? VisitDoStatement(BoundDoStatement node) 447public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 453public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 463public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 471public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 477public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 483public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 489public override BoundNode? VisitLocal(BoundLocal node) 540public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 580public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 590public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 600public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 614public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 638public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 649public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 657public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 673public override BoundNode? VisitListPattern(BoundListPattern node) 679public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 714public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 727public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 748public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 775public sealed override BoundNode? VisitCall(BoundCall node) 954public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 960public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 966public override BoundNode? VisitNewT(BoundNewT node) 972public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 1056public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 1066public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 1096public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1113public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 1136public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 1146public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 1229var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 1286public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 1348public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 1395foreach (var element in node.Elements)
Binder\Semantics\Conversions\Conversions.cs (2)
207foreach (var element in elements) 221Conversion convertElement(BoundNode element, TypeSymbol elementType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (2)
687foreach (var element in argument.Elements) 912foreach (var element in argument.Elements)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (10)
3084ImmutableArray<BoundNode> collectionExpressionElements, 3136var element = collectionExpressionElements[i]; 3423public override BoundNode Visit(BoundNode node) 3433protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 3438public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3444public override BoundNode VisitReturnStatement(BoundReturnStatement node) 3469BoundNode node, 3481BoundNode node,
Binder\SwitchBinder.cs (2)
569childBoundNodes: gotoCaseExpressionOpt != null ? ImmutableArray.Create<BoundNode>(gotoCaseExpressionOpt) : ImmutableArray<BoundNode>.Empty,
Binder\UnionMatchingRewriter.cs (15)
43var result = new UnionMatchingRewriter(compilation).Visit(pattern); 48protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 72public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 104public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 119public override BoundNode? VisitListPattern(BoundListPattern node) 142public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 156public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 170public override BoundNode? VisitTypePattern(BoundTypePattern node) 183public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 196public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 203public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 214public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 221public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 228public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node)
BoundTree\BoundCollectionExpression.cs (1)
70foreach (var element in Elements)
BoundTree\BoundExpressionExtensions.cs (1)
178public 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(); 549public static void CheckLocalsDefined(BoundNode root) 586public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 594public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 602public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 610public override BoundNode? VisitBlock(BoundBlock node) 642public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 649public override BoundNode? VisitSequence(BoundSequence node) 657public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 665public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 673public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 681public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 689public override BoundNode? VisitDoStatement(BoundDoStatement node) 697public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 705public override BoundNode? VisitForStatement(BoundForStatement node) 718public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 726public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 734public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 742public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 750public override BoundNode? VisitLocal(BoundLocal node) 757public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 764public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
BoundTree\BoundNode_Source.cs (2)
25void appendSourceCore(BoundNode node, int indent, Dictionary<SynthesizedLocal, int> tempIdentifiers) 481void 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; 240private BoundNode? VisitExpressionOrPatternWithStackGuard(BoundNode node) 255protected abstract BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node);
BoundTree\BoundTreeWalker.cs (11)
17public void VisitList<T>(ImmutableArray<T> list) where T : BoundNode 71public override BoundNode? Visit(BoundNode? node) 81protected BoundNode VisitExpressionOrPatternWithStackGuard(BoundNode node) 86protected sealed override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 105public sealed override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 145public sealed override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 179public override BoundNode? VisitCall(BoundCall node) 233public sealed override BoundNode? VisitIfStatement(BoundIfStatement node)
BoundTree\Expression.cs (60)
29ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: null, Arguments, InitializerExpressionOpt); 34ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(Arguments); 39ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ImplicitReceiverOpt, Arguments); 44protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Left, this.Right); 49protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ChildBoundNodes); 51ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(this.ChildBoundNodes); 56ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments); 61ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments); 66protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Receiver)); 71protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments); 76protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ConstructorArguments.AddRange(StaticCast<BoundExpression>.From(this.NamedArguments))); 81protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Value); 86protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments); 91protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Argument); 96protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression, this.Index); 101protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand); 106protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver); 111protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand); 116protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand); 121protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Expression)); 126protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression); 139protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count)); 144protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count)); 149protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.AddRange(BoundObjectCreationExpression.GetChildInitializers(this.InitializerExpressionOpt))); 154protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression); 159protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.ReceiverOpt); 164protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.SideEffects.Add(this.Value)); 169protected override ImmutableArray<BoundNode?> Children => 170(this.Kind == BoundKind.StatementList || this.Kind == BoundKind.Scope) ? StaticCast<BoundNode?>.From(this.Statements) : ImmutableArray<BoundNode?>.Empty; 175protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression); 180protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver, Argument); 185ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: this.InvokedExpression, Arguments); 186protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(((IBoundInvalidNode)this).InvalidNodeChildren);
BoundTree\IBoundInvalidNode.cs (1)
16ImmutableArray<BoundNode> InvalidNodeChildren { get; }
BoundTree\NullabilityRewriter.cs (11)
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) 138public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 174public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 204private T GetUpdatedSymbol<T>(BoundNode expr, T sym) where T : Symbol? 287public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 307private 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)
215BoundNode node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions, bool withDependencies) 263BoundNode node, 368public override BoundNode? Visit(BoundNode node) 378protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 383public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 389public 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)
1981public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1986public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1998public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 2008public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 2030public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
CodeGen\Optimizer.cs (66)
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) 1119public override BoundNode VisitCall(BoundCall node) 1302public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1318public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1327public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1337public override BoundNode VisitArrayAccess(BoundArrayAccess node) 1344var result = base.VisitArrayAccess(node); 1350public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1392public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1398public override BoundNode VisitLabel(BoundLabel node) 1404public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1410public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1414var result = base.VisitGotoStatement(node); 1420public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 1422var result = base.VisitConditionalGoto(node); 1429public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 1462public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1484public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1558private BoundNode VisitBinaryOperatorSimple(BoundBinaryOperator node) 1580public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1599public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1629public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 1665public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1681public override BoundNode VisitTryStatement(BoundTryStatement node) 1696public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1760public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 1767public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1802public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 1808public override BoundNode VisitReturnStatement(BoundReturnStatement node) 2052public override BoundNode Visit(BoundNode node) 2063public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 2069public override BoundNode VisitCall(BoundCall node) 2074public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 2105public override BoundNode Visit(BoundNode node) 2107BoundNode result; 2127public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2184public override BoundNode VisitLocal(BoundLocal node) 2202public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2210public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2272public override BoundNode VisitCall(BoundCall node) 2347public 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)
738BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 768BoundNode boundNode = GetSpeculativelyBoundAttribute(position, attribute, out binder); //calls CheckAndAdjustPosition 1068BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out _, out crefSymbols); //calls CheckAndAdjustPosition 1215BoundNode boundNode = GetSpeculativelyBoundExpression(position, nameSyntax, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 1895BoundNode lowestBoundNode, 1896BoundNode highestBoundNode, 1897BoundNode boundNodeForSyntacticParent, 2030BoundNode lowestBoundNode, 2031BoundNode highestBoundNode, 2032BoundNode boundNodeForSyntacticParent) 2138conversion = BoundNode.GetConversion(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder); 2285BoundNode lowestBoundNode, 2286BoundNode boundNodeForSyntacticParent, 2307BoundNode lowestBoundNode, 2399internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 3354BoundNode boundNodeForSyntacticParent, 3988BoundNode boundNodeForSyntacticParent, 4039BoundNode lowestBoundNode, 4259BoundNode boundNodeForSyntacticParent, 4412BoundNode boundNodeForSyntacticParent,
Compilation\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 (63)
33private readonly Dictionary<SyntaxNode, OneOrMany<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, OneOrMany<BoundNode>>(); 521internal virtual BoundNode GetBoundRoot() 529internal BoundNode GetUpperBoundNode(CSharpSyntaxNode node, bool promoteToBindable = false) 557internal BoundNode GetLowerBoundNode(CSharpSyntaxNode node) 574private static BoundNode GetLowerBoundNode(OneOrMany<BoundNode> boundNodes) 931var bound = GetLowerBoundNode(node); 943var bound = GetLowerBoundNode(node); 955var bound = GetLowerBoundNode(node); 1039BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder), 1040BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder)); 1045var lowerNode = GetLowerBoundNode(node); 1188var bound = this.GetLowerBoundNode(declaratorSyntax); 1233BoundNode highestBoundNode = GetBoundRoot(); 1258BoundNode lowestBoundNode; 1259BoundNode highestBoundNode; 1260BoundNode boundParent; 1270BoundNode lowestBoundNode; 1271BoundNode highestBoundNode; 1272BoundNode boundParent; 1281BoundNode lowestBoundNode; 1282BoundNode highestBoundNode; 1283BoundNode boundParent; 1293BoundNode lowestBoundNode; 1294BoundNode highestBoundNode; 1295BoundNode boundParent; 1347private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent) 1478private OneOrMany<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node) 1481OneOrMany<BoundNode> result; 1482return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1488internal OneOrMany<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node) 1490OneOrMany<BoundNode> result; 1491return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1496private OneOrMany<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound) 1515OneOrMany<BoundNode> result; 1516return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : OneOrMany<BoundNode>.Empty; 1519protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1527protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1670BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery); 1674private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery) 1678OneOrMany<BoundNode> nodes; 1697BoundNode boundEnclosingLambdaOrQuery = null; 1738BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 1770BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded); 1784private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery) 2009BoundNode boundRoot = bind(bindableRoot, out binder); 2031BoundNode bind(CSharpSyntaxNode root, out Binder binder) 2085protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots( 2086BoundNode boundRoot, 2099protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots); 2113internal OneOrMany<BoundNode> GetBoundNodes(CSharpSyntaxNode node) 2137OneOrMany<BoundNode> results; 2160BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 2189var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded); 2204return OneOrMany<BoundNode>.Empty; 2523private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node) 2527OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node); 2539public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 2541BoundNode boundNode = TryGetBoundNodeFromMap(node);
Compilation\MemberSemanticModel.NodeMapBuilder.cs (15)
21private NodeMapBuilder(OrderPreservingMultiDictionary<SyntaxNode, BoundNode> map, SyntaxTree tree, SyntaxNode thisSyntaxNodeOnly) 28private readonly OrderPreservingMultiDictionary<SyntaxNode, BoundNode> _map; 39public static void AddToMap(BoundNode root, Dictionary<SyntaxNode, OneOrMany<BoundNode>> map, SyntaxTree tree, SyntaxNode node = null) 49var additionMap = OrderPreservingMultiDictionary<SyntaxNode, BoundNode>.GetInstance(); 130public override BoundNode Visit(BoundNode node) 142BoundNode current = node; 262private bool ShouldAddNode(BoundNode currentBoundNode) 279public override BoundNode VisitQueryClause(BoundQueryClause node) 286public override BoundNode VisitRangeVariable(BoundRangeVariable node) 291public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node) 296public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 309public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 314public override BoundNode VisitIfStatement(BoundIfStatement node)
Compilation\MemberSemanticModel.SpeculativeMemberSemanticModel.cs (3)
43protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 44BoundNode boundRoot, 55protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\MethodBodySemanticModel.cs (6)
22internal readonly BoundNode? Body; 29BoundNode? bodyOpt = null, 74internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 286protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 287BoundNode boundRoot, 298protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
525internal 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)
2347private 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)
1629return new BoundBadStatement(body.Syntax, ImmutableArray.Create<BoundNode>(body), hasErrors: true); 1893BoundNode? initializersBody, 1942BoundNode methodBody = bodyBinder.BindWithLambdaBindingCountDiagnostics( 1952BoundNode methodBodyForSemanticModel = methodBody; 2120NullableWalker.VariableState? getInitializerState(BoundNode? body) 2275static void assertBindIdentifierTargets(InMethodBinder? inMethodBinder, ConcurrentDictionary<IdentifierNameSyntax, int>? identifierMap, BoundNode methodBody, BindingDiagnosticBag diagnostics) 2338private static bool IsEmptyRewritePossible(BoundNode node) 2343var rewritten = rewriter.Visit(node); 2366public static bool FoundInUnboundLambda(BoundNode methodBody, IdentifierNameSyntax id) 2373public override BoundNode? VisitUnboundLambda(UnboundLambda node) 2389public override BoundNode? Visit(BoundNode? node) 2402public static BoundPropertyAccess? FindUncheckedAccess(BoundNode node) 2416public override BoundNode? Visit(BoundNode? node) 2426public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 2437public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 2445public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 2453public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 2461public override BoundNode? VisitBadExpression(BoundBadExpression node)
FlowAnalysis\AbstractFlowPass.cs (203)
65protected readonly BoundNode methodMainNode; 171protected readonly BoundNode firstInRegion, lastInRegion; 184BoundNode node, 185BoundNode firstInRegion = null, 186BoundNode lastInRegion = null, 259private void EnterRegionIfNeeded(BoundNode node) 276private void LeaveRegionIfNeeded(BoundNode node) 340public override BoundNode Visit(BoundNode node) 345protected BoundNode VisitAlways(BoundNode node) 347BoundNode result = null; 361private BoundNode VisitWithStackGuard(BoundNode node) 372protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 394public readonly BoundNode Branch; 403public PendingBranch(BoundNode branch, TLocalState state, LabelSymbol label, bool isConditionalState = false, TLocalState stateWhenTrue = default, TLocalState stateWhenFalse = default) 762protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target) 895public override BoundNode DefaultVisit(BoundNode node) 902public override BoundNode VisitAttribute(BoundAttribute node) 908public override BoundNode VisitThrowExpression(BoundThrowExpression node) 915public override BoundNode VisitPassByCopy(BoundPassByCopy node) 921public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1108public override BoundNode VisitConstantPattern(BoundConstantPattern node) 1114public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 1120public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 1125public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 1130private BoundNode VisitTupleExpression(BoundTupleExpression node) 1136public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 1143public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 1150public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 1157public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 1163public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 1171protected BoundNode? VisitInterpolatedStringBase(BoundInterpolatedStringBase node, InterpolatedStringHandlerData? data) 1202public override BoundNode VisitInterpolatedString(BoundInterpolatedString node) 1207public override BoundNode VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 1213public override BoundNode VisitStringInsert(BoundStringInsert node) 1229public override BoundNode VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1234public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1239public override BoundNode VisitArgList(BoundArgList node) 1246public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1253public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 1259public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1268public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 1274public override BoundNode VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 1280public override BoundNode VisitLambda(BoundLambda node) => null; 1282public override BoundNode VisitLocal(BoundLocal node) 1288public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 1305public override BoundNode VisitBlock(BoundBlock node) 1319public override BoundNode VisitScope(BoundScope node) 1325public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 1331public override BoundNode VisitCall(BoundCall node) 1481public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 1494public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 1507public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 1583public override BoundNode VisitBadExpression(BoundBadExpression node) 1593public override BoundNode VisitBadStatement(BoundBadStatement node) 1595foreach (var child in node.ChildBoundNodes) 1610public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1620public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1650public override BoundNode VisitTypeExpression(BoundTypeExpression node) 1655public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 1661public override BoundNode VisitLiteral(BoundLiteral node) 1667public override BoundNode VisitUtf8String(BoundUtf8String node) 1690public override BoundNode VisitLocalId(BoundLocalId node) 1695public override BoundNode VisitParameterId(BoundParameterId node) 1700public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1705public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 1710public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 1715public override BoundNode VisitModuleVersionId(BoundModuleVersionId node) 1720public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node) 1725public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 1730public override BoundNode VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 1735public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 1740public override BoundNode VisitConversion(BoundConversion node) 1771public sealed override BoundNode VisitIfStatement(BoundIfStatement node) 1822public override BoundNode VisitTryStatement(BoundTryStatement node) 1967public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock) 2018public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 2023public override BoundNode VisitReturnStatement(BoundReturnStatement node) 2025var result = VisitReturnStatementNoAdjust(node); 2031protected virtual BoundNode VisitReturnStatementNoAdjust(BoundReturnStatement node) 2044public override BoundNode VisitThisReference(BoundThisReference node) 2049public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 2054public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 2059public override BoundNode VisitParameter(BoundParameter node) 2068public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2075public override BoundNode VisitCollectionExpression(BoundCollectionExpression node) 2082public override BoundNode VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 2088private void VisitCollectionExpression(ImmutableArray<BoundNode> elements) 2090foreach (var element in elements) 2103public override BoundNode VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 2109public override BoundNode VisitNewT(BoundNewT node) 2115public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 2140public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2174public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2181public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 2187public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2232public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2259public override BoundNode VisitFieldInfo(BoundFieldInfo node) 2264public override BoundNode VisitMethodInfo(BoundMethodInfo node) 2269public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2299public override BoundNode VisitEventAccess(BoundEventAccess node) 2305public override BoundNode VisitRangeVariable(BoundRangeVariable node) 2310public override BoundNode VisitQueryClause(BoundQueryClause node) 2316private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node) 2326public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 2331public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 2340public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2355public override BoundNode VisitWithExpression(BoundWithExpression node) 2362public override BoundNode VisitArrayAccess(BoundArrayAccess node) 2373public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node) 2392public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2411public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 2787public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 2803public override BoundNode VisitRangeExpression(BoundRangeExpression node) 2818public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 2824public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 2831public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2855public override BoundNode VisitArrayCreation(BoundArrayCreation node) 2866public override BoundNode VisitForStatement(BoundForStatement node) 2899public override BoundNode VisitForEachStatement(BoundForEachStatement node) 2928public override BoundNode VisitAsOperator(BoundAsOperator node) 2934public override BoundNode VisitIsOperator(BoundIsOperator node) 2949public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2962public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 3138public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 3146public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 3165public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 3170public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 3184public override BoundNode VisitSequence(BoundSequence node) 3199public override BoundNode VisitSequencePoint(BoundSequencePoint node) 3209public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node) 3215public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 3225public override BoundNode VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 3230public override BoundNode VisitStatementList(BoundStatementList node) 3235private BoundNode VisitStatementListWorker(BoundStatementList node) 3245public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 3250public override BoundNode VisitUnboundLambda(UnboundLambda node) 3256public override BoundNode VisitBreakStatement(BoundBreakStatement node) 3264public override BoundNode VisitContinueStatement(BoundContinueStatement node) 3272public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 3277public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 3284protected virtual BoundNode? VisitConditionalOperatorCore( 3348public override BoundNode VisitBaseReference(BoundBaseReference node) 3353public override BoundNode VisitDoStatement(BoundDoStatement node) 3367public override BoundNode VisitGotoStatement(BoundGotoStatement node) 3390public override BoundNode VisitLabelStatement(BoundLabelStatement node) 3396public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 3403public override BoundNode VisitLockStatement(BoundLockStatement node) 3410public override BoundNode VisitNoOpStatement(BoundNoOpStatement node) 3415public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node) 3420public override BoundNode VisitUsingStatement(BoundUsingStatement node) 3443public override BoundNode VisitFixedStatement(BoundFixedStatement node) 3450public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 3456public override BoundNode VisitThrowStatement(BoundThrowStatement node) 3464public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 3472public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 3479public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 3484public override BoundNode VisitDefaultExpression(BoundDefaultExpression node) 3489public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3494public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 3500public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 3509public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 3529public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 3535public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 3542public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node) 3547private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 3554public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 3559public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 3564public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 3572public override BoundNode VisitArrayLength(BoundArrayLength node) 3578public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 3596public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 3601public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 3606private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers) 3616public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 3635public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 3640public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 3663public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 3669public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node) 3674public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node) 3680public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 3686public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node) 3692public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 3697public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 3702public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 3707public override BoundNode VisitValuePlaceholder(BoundValuePlaceholder node) 3712public override BoundNode VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) 3717public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node) 3722public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 3727public override BoundNode VisitDiscardExpression(BoundDiscardExpression node) 3738public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 3745public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 3751public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 3784public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 3790public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 3797public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 3822public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) 3827public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) 3832public override BoundNode VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node)
FlowAnalysis\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 (19)
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; 291public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock) 333public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 341public override BoundNode VisitGotoStatement(BoundGotoStatement node) 366if (_labelsDefined.TryGetValue(node.Label, out BoundNode target) && target == usingDecl.block) 378public override BoundNode? VisitBreakStatement(BoundBreakStatement node) 384public override BoundNode? VisitContinueStatement(BoundContinueStatement node) 404public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 417public override BoundNode VisitBlock(BoundBlock node) 430var 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) 504BoundNode node, 735private void NoteRead(BoundNode fieldOrEventAccess) 738BoundNode n = fieldOrEventAccess; 1469protected void Assign(BoundNode node, BoundExpression value, bool isRef = false, bool read = true) 1486protected virtual void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 2088public override BoundNode? VisitBlock(BoundBlock node) 2173public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 2176var result = base.VisitSwitchStatement(node); 2188public override BoundNode VisitForStatement(BoundForStatement node) 2192var result = base.VisitForStatement(node); 2198public override BoundNode VisitDoStatement(BoundDoStatement node) 2201var result = base.VisitDoStatement(node); 2206public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2209var result = base.VisitWhileStatement(node); 2217public override BoundNode VisitUsingStatement(BoundUsingStatement node) 2221var result = base.VisitUsingStatement(node); 2238public override BoundNode VisitFixedStatement(BoundFixedStatement node) 2244public override BoundNode VisitSequence(BoundSequence node) 2247var result = base.VisitSequence(node); 2308public override BoundNode VisitLocal(BoundLocal node) 2339public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 2350var result = base.VisitLocalDeclaration(node); 2358public override BoundNode VisitLocalId(BoundLocalId node) 2361public override BoundNode VisitParameterId(BoundParameterId node) 2364public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 2367public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2379public override BoundNode VisitLambda(BoundLambda node) 2425public override BoundNode VisitThisReference(BoundThisReference node) 2432public override BoundNode VisitParameter(BoundParameter node) 2446public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2453public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2460public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2467public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2476public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 2494public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 2630public override BoundNode VisitBaseReference(BoundBaseReference node) 2636public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock) 2656public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2658var result = base.VisitFieldAccess(node); 2682public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2684var result = base.VisitPropertyAccess(node); 2705public override BoundNode VisitEventAccess(BoundEventAccess node) 2707var result = base.VisitEventAccess(node); 2736public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
FlowAnalysis\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 (212)
503BoundNode node, 1466BoundNode node, 1493BoundNode node, 1533internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody) 1551internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics) 1589private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody) 1604BoundNode node, 1616internal static BoundNode AnalyzeAndRewrite( 1619BoundNode node, 1635BoundNode node, 1692internal static BoundNode AnalyzeAndRewriteSpeculation( 1694BoundNode node, 1740private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1750var rewrittenNode = rewriter.Visit(node); 1774BoundNode node, 1856BoundNode node, 1966private void TakeIncrementalSnapshot(BoundNode? node) 1972private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 2334private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode 2348private void VisitWithoutDiagnostics(BoundNode? node) 3071public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue) 3106public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node) 3242public override BoundNode? VisitLocal(BoundLocal node) 3272public override BoundNode? VisitBlock(BoundBlock node) 3377public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3599public override BoundNode? VisitDoStatement(BoundDoStatement node) 3605public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 3611public override BoundNode? VisitWithExpression(BoundWithExpression withExpr) 3631public override BoundNode? VisitForStatement(BoundForStatement node) 3638public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 3644public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 3651public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 3684public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 3690public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 3717public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 3779protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 3871public override BoundNode? Visit(BoundNode? node) 3876private BoundNode VisitLValue(BoundNode node) 3895private BoundNode Visit(BoundNode? node, bool expressionIsRead) 3904var result = base.Visit(node); 3917public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 3923public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3931public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 3934var result = base.VisitUnconvertedCollectionExpression(node); 3939public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 3958foreach (var element in node.Elements) 4096void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Action<TypeWithAnnotations, TypeSymbol>> elementConversionCompletions) 4266public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 5026public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 5087public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 5243BoundNode node, 5321public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 5355public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 6144public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 6181public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 6467public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 6473protected override BoundNode? VisitConditionalOperatorCore( 6764public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 6775public override BoundNode? VisitCall(BoundCall node) 6976BoundNode node, 7492private static bool HasImplicitTypeArguments(BoundNode node) 7584BoundNode node, 7625BoundNode node, 7818BoundNode node, 8910var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length); 9253public override BoundNode? VisitConversion(BoundConversion node) 9390public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 9396public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 9677public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 10880public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 11056public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11151public override BoundNode? VisitLambda(BoundLambda node) 11200public override BoundNode? VisitUnboundLambda(UnboundLambda node) 11210public override BoundNode? VisitThisReference(BoundThisReference node) 11223public override BoundNode? VisitParameter(BoundParameter node) 11233public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 11410public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 11415private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt) 11528var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 11570var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 11729public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 11864BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder), 11894BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder), 11922public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 12022BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder), 12036BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder), 12057public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 12074public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 12121public override BoundNode? VisitBaseReference(BoundBaseReference node) 12127public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 12137BoundNode node, PropertySymbol property, BoundExpression receiver) 12158BoundNode node, 12185public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 12224public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 12258public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 12272public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 12280public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 12286public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 12292public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 12298public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) 12304public override BoundNode? VisitEventAccess(BoundEventAccess node) 12432BoundNode node, 12692Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder); 12729public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 12731var result = base.VisitFromEndIndexExpression(node); 12736public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 12742public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 12748public override BoundNode? VisitBadExpression(BoundBadExpression node) 12777public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 12779var result = base.VisitTypeExpression(node); 12790public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 12793var result = base.VisitTypeOrValueExpression(node); 12798public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 12909public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 12911var result = base.VisitPointerIndirectionOperator(node); 12917public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 12919var result = base.VisitPointerElementAccess(node); 12925public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 12932public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 12934var result = base.VisitMakeRefOperator(node); 12939public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 12941var result = base.VisitRefValueOperator(node); 13078BoundNode.GetConversion(binary.TrueFalseOperandConversion, binary.TrueFalseOperandPlaceholder), 13102public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13104var result = base.VisitAwaitExpression(node); 13131public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 13133var result = base.VisitTypeOfOperator(node); 13138public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 13140var result = base.VisitMethodInfo(node); 13145public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 13147var result = base.VisitFieldInfo(node); 13152public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 13155var result = base.VisitDefaultLiteral(node); 13160public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 13164var result = base.VisitDefaultExpression(node); 13180public override BoundNode? VisitIsOperator(BoundIsOperator node) 13214public override BoundNode? VisitAsOperator(BoundAsOperator node) 13222switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind) 13242public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 13244var result = base.VisitSizeOfOperator(node); 13250public override BoundNode? VisitArgList(BoundArgList node) 13252var result = base.VisitArgList(node); 13258public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 13266public override BoundNode? VisitLiteral(BoundLiteral node) 13269var result = base.VisitLiteral(node); 13274public override BoundNode? VisitUtf8String(BoundUtf8String node) 13277var result = base.VisitUtf8String(node); 13282public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 13284var result = base.VisitPreviousSubmissionReference(node); 13290public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 13292var result = base.VisitHostObjectMemberReference(node); 13298public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 13300var result = base.VisitPseudoVariable(node); 13305public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 13307var result = base.VisitRangeExpression(node); 13312public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 13319public override BoundNode? VisitLabel(BoundLabel node) 13321var result = base.VisitLabel(node); 13326public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 13338public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 13358public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 13384public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 13390public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 13398public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 13406public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 13414public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 13416var result = base.VisitImplicitReceiver(node); 13421public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 13426public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 13432public override BoundNode? VisitNewT(BoundNewT node) 13438public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 13440var result = base.VisitArrayInitialization(node); 13450public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 13544public override BoundNode? VisitQueryClause(BoundQueryClause node) 13546var result = base.VisitQueryClause(node); 13551public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 13553var result = base.VisitNameOfOperator(node); 13558public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 13560var result = base.VisitNamespaceExpression(node); 13565public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 13568var result = base.VisitUnconvertedInterpolatedString(node); 13573public override BoundNode? VisitStringInsert(BoundStringInsert node) 13575var result = base.VisitStringInsert(node); 13586public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 13594public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 13600public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 13606public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 13611private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 13628public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 13636public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 13643public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 13666public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 13682public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13706public override BoundNode? VisitLockStatement(BoundLockStatement node) 13714public override BoundNode? VisitAttribute(BoundAttribute node) 13727public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 13734public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node) 13740public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 13748public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 13756public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 13777public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 13831public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 14400private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)> 14406public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y) 14417public int GetHashCode((BoundNode? expr, Symbol symbol) obj)
FlowAnalysis\NullableWalker.DebugVerifier.cs (33)
38public static void Verify(ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> analyzedNullabilityMap, SnapshotManager? snapshotManagerOpt, BoundNode node) 81protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 90public override BoundNode? Visit(BoundNode? node) 106public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 118public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 130foreach (var element in node.Elements) 153public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 165public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 171public override BoundNode? VisitBadExpression(BoundBadExpression node) 190public override BoundNode? VisitQueryClause(BoundQueryClause node) 196public override BoundNode? VisitUnboundLambda(UnboundLambda node) 202public override BoundNode? VisitIfStatement(BoundIfStatement node) 229public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 256public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 262public override BoundNode? VisitBreakStatement(BoundBreakStatement node) 268public override BoundNode? VisitContinueStatement(BoundContinueStatement node) 274public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 280public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 287public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 302public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 315public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 321public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 346public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 363public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 369public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 377public override BoundNode? VisitListPattern(BoundListPattern node) 389public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 417public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 431public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 438public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 446public 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 (19)
34private void VisitForRewriting(BoundNode node) 44public override BoundNode VisitPositionalSubpattern(BoundPositionalSubpattern node) 50public override BoundNode VisitPropertySubpattern(BoundPropertySubpattern node) 56public override BoundNode VisitRecursivePattern(BoundRecursivePattern node) 65public override BoundNode VisitConstantPattern(BoundConstantPattern node) 71public override BoundNode VisitDeclarationPattern(BoundDeclarationPattern node) 78public override BoundNode VisitDiscardPattern(BoundDiscardPattern node) 83public override BoundNode VisitSlicePattern(BoundSlicePattern node) 89public override BoundNode VisitListPattern(BoundListPattern node) 96public override BoundNode VisitTypePattern(BoundTypePattern node) 102public override BoundNode VisitRelationalPattern(BoundRelationalPattern node) 108public override BoundNode VisitNegatedPattern(BoundNegatedPattern node) 114public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 143public override BoundNode VisitITuplePattern(BoundITuplePattern node) 1031public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 1038public override BoundNode VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 1247public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1263public override BoundNode VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 1269public override BoundNode VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder 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 (12)
22internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 39internal VariablesDeclaredWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 173public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 183public override BoundNode? VisitLambda(BoundLambda node) 196public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 227public override BoundNode? VisitCatchBlock(BoundCatchBlock catchBlock) 244public override BoundNode? VisitQueryClause(BoundQueryClause node) 262public override BoundNode? VisitLocal(BoundLocal node)
Generated\BoundNodes.xml.Generated.cs (1148)
309public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldEqualsValue(this); 339public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyEqualsValue(this); 369public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterEqualsValue(this); 397public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGlobalStatementInitializer(this); 470public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValuePlaceholder(this); 498public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCapturedReceiverPlaceholder(this); 539public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructValuePlaceholder(this); 574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleOperandPlaceholder(this); 603public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableValuePlaceholder(this); 638public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDisposableValuePlaceholder(this); 676public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectOrCollectionValuePlaceholder(this); 711public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerValuePlaceholder(this); 743public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this); 778public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this); 813public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this); 848public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this); 883public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this); 911public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionBuilderElementsPlaceholder(this); 942public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this); 970public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this); 1007public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this); 1023public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false) 1032public ImmutableArray<BoundNode> ChildBoundNodes { get; } 1035public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this); 1037public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes) 1063public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this); 1098public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this); 1147public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this); 1188public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this); 1230public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this); 1278public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this); 1310public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this); 1339public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this); 1382public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this); 1414public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this); 1451public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this); 1488public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this); 1520public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this); 1550public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this); 1582public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this); 1614public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this); 1647public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this); 1704public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this); 1742public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this); 1795public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this); 1842public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this); 1876public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this); 1911public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this); 1952public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this); 1983public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this); 2022public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this); 2066public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this); 2099public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this); 2128public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefArrayAccess(this); 2158public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this); 2199public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this); 2234public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this); 2287public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this); 2319public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this); 2363public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this); 2406public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this); 2449public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this); 2484public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this); 2519public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this); 2557public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this); 2592public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this); 2627public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this); 2662public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this); 2697public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this); 2737public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this); 2780public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this); 2823public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this); 2852public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this); 2877public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this); 2912public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this); 2949public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this); 2981public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this); 3029public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this); 3062public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this); 3097public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this); 3128public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this); 3167public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this); 3206public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this); 3233public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this); 3270public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this); 3307public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this); 3338public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this); 3374public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this); 3403public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this); 3434public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this); 3470public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this); 3510public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this); 3540public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this); 3572public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this); 3603public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this); 3636public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this); 3664public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this); 3692public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this); 3706public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this); 3734public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this); 3764public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this); 3794public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this); 3839public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this); 3875public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this); 3908public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this); 3988public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this); 4018public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this); 4060public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this); 4109public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this); 4140public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this); 4179public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this); 4213public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this); 4244public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this); 4281public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this); 4322public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this); 4353public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this); 4393public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this); 4428public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this); 4463public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this); 4498public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this); 4527public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this); 4576public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this); 4621public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this); 4654public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this); 4694public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this); 4731public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this); 4763public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this); 4794public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this); 4831public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this); 4868public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this); 4901public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this); 4966public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this); 4994public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this); 5028public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this); 5058public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this); 5103public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this); 5137public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this); 5172public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this); 5209public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this); 5255public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this); 5284public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this); 5312public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this); 5338public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this); 5367public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this); 5398public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this); 5439public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this); 5468public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this); 5497public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this); 5528public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this); 5559public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this); 5606public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this); 5655public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this); 5684public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this); 5710public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPassThroughEvaluation(this); 5742public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this); 5777public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this); 5819public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this); 5855public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this); 5891public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this); 5930public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this); 5983public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this); 6016public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this); 6057public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this); 6095public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this); 6128public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this); 6169public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this); 6197public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this); 6256public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this); 6295public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this); 6340public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this); 6378public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this); 6450public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this); 6466protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false) 6479public ImmutableArray<BoundNode> Elements { get; } 6484public BoundUnconvertedCollectionExpression(SyntaxNode syntax, BoundUnconvertedWithElement? withElement, ImmutableArray<BoundNode> elements, bool hasErrors = false) 6497public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedCollectionExpression(this); 6499public BoundUnconvertedCollectionExpression Update(BoundUnconvertedWithElement? withElement, ImmutableArray<BoundNode> elements) 6529public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedWithElement(this); 6545public BoundCollectionExpression(SyntaxNode syntax, CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundCollectionBuilderElementsPlaceholder? collectionBuilderElementsPlaceholder, bool wasTargetTyped, bool hasWithElement, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type, bool hasErrors = false) 6578public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpression(this); 6580public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundCollectionBuilderElementsPlaceholder? collectionBuilderElementsPlaceholder, bool wasTargetTyped, bool hasWithElement, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type) 6606public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadExpressionPlaceholder(this); 6646public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadElement(this); 6691public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this); 6721public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this); 6764public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this); 6796public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this); 6843public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this); 6892public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this); 6937public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this); 6965public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this); 7010public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this); 7042public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this); 7077public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this); 7113public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this); 7153public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this); 7183public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this); 7219public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this); 7251public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this); 7282public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this); 7328public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this); 7357public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this); 7397public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this); 7437public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this); 7475public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this); 7511public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this); 7562public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this); 7611public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this); 7652public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this); 7692public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this); 7732public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this); 7776public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this); 7817public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this); 7843public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this); 7880public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this); 7922public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this); 7950public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this); 7978public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this); 8016public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this); 8051public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this); 8095public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this); 8166public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this); 8208public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPatternWithUnionMatching(this); 8248public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this); 8303public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this); 8344public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this); 8388public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this); 8427public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this); 8469public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this); 8515public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this); 8545public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this); 8577public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this); 8615public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this); 8654public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this); 8688public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this); 8729public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this); 8764public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this); 8792public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this); 8835public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this); 8861public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this); 8896public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this); 8932public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this); 8962public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this); 8993public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this); 9018public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValueForNullableAnalysis(this); 9053public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this); 9071internal R VisitInternal(BoundNode node, A arg) 9798public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node); 9799public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node); 9800public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node); 9801public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node); 9802public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node); 9803public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node); 9804public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node); 9805public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node); 9806public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node); 9807public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node); 9808public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node); 9809public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node); 9810public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node); 9811public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node); 9812public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node); 9813public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node); 9814public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node); 9815public virtual BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) => this.DefaultVisit(node); 9816public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node); 9817public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node); 9818public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node); 9819public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node); 9820public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node); 9821public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node); 9822public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node); 9823public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node); 9824public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node); 9825public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node); 9826public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node); 9827public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node); 9828public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node); 9829public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node); 9830public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node); 9831public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node); 9832public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node); 9833public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node); 9834public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node); 9835public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node); 9836public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node); 9837public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node); 9838public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node); 9839public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node); 9840public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node); 9841public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node); 9842public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node); 9843public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node); 9844public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node); 9845public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node); 9846public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node); 9847public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node); 9848public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node); 9849public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node); 9850public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node); 9851public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node); 9852public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node); 9853public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node); 9854public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node); 9855public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node); 9856public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node); 9857public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node); 9858public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node); 9859public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node); 9860public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node); 9861public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node); 9862public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node); 9863public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node); 9864public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node); 9865public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node); 9866public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node); 9867public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node); 9868public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node); 9869public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node); 9870public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node); 9871public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node); 9872public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node); 9873public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node); 9874public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node); 9875public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node); 9876public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node); 9877public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node); 9878public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node); 9879public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node); 9880public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node); 9881public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node); 9882public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node); 9883public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node); 9884public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node); 9885public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node); 9886public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node); 9887public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node); 9888public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node); 9889public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node); 9890public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node); 9891public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node); 9892public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node); 9893public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node); 9894public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node); 9895public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node); 9896public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node); 9897public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node); 9898public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node); 9899public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node); 9900public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node); 9901public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node); 9902public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node); 9903public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node); 9904public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node); 9905public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node); 9906public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node); 9907public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node); 9908public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node); 9909public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 9910public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node); 9911public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node); 9912public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node); 9913public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node); 9914public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node); 9915public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node); 9916public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node); 9917public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node); 9918public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node); 9919public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node); 9920public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node); 9921public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node); 9922public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node); 9923public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node); 9924public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node); 9925public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node); 9926public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 9927public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node); 9928public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node); 9929public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node); 9930public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node); 9931public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node); 9932public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node); 9933public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node); 9934public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node); 9935public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node); 9936public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node); 9937public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node); 9938public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node); 9939public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node); 9940public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node); 9941public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node); 9942public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node); 9943public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node); 9944public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node); 9945public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node); 9946public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node); 9947public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node); 9948public virtual BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node) => this.DefaultVisit(node); 9949public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node); 9950public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node); 9951public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node); 9952public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node); 9953public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node); 9954public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node); 9955public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node); 9956public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node); 9957public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node); 9958public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node); 9959public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node); 9960public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 9961public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node); 9962public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node); 9963public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node); 9964public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node); 9965public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node); 9966public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node); 9967public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node); 9968public virtual BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node) => this.DefaultVisit(node); 9969public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node); 9970public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node); 9971public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node); 9972public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node); 9973public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node); 9974public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node); 9975public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node); 9976public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node); 9977public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node); 9978public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node); 9979public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node); 9980public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node); 9981public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node); 9982public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node); 9983public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node); 9984public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node); 9985public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node); 9986public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node); 9987public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node); 9988public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node); 9989public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node); 9990public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node); 9991public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node); 9992public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node); 9993public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node); 9994public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node); 9995public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node); 9996public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node); 9997public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node); 9998public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node); 9999public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node); 10000public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node); 10001public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node); 10002public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node); 10003public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node); 10004public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node); 10005public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node); 10006public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node); 10007public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node); 10008public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node); 10009public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node); 10010public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node); 10011public virtual BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) => this.DefaultVisit(node); 10012public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node); 10013public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node); 10014public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node); 10015public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node); 10016public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node); 10017public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node); 10018public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node); 10019public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node); 10020public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node); 10021public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node); 10022public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node); 10023public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node); 10024public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node); 10025public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node); 10026public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node); 10027public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node); 10028public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node); 10029public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node); 10030public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node); 10031public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node); 10032public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node); 10033public virtual BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node) => this.DefaultVisit(node); 10034public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node); 10039public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 10044public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 10049public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 10054public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 10059public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null; 10060public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 10065public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null; 10066public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null; 10067public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null; 10068public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null; 10069public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null; 10070public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null; 10071public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 10076public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null; 10077public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null; 10078public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null; 10079public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null; 10080public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) => null; 10081public override BoundNode? VisitDup(BoundDup node) => null; 10082public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 10087public override BoundNode? VisitBadExpression(BoundBadExpression node) 10092public override BoundNode? VisitBadStatement(BoundBadStatement node) 10097public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 10102public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 10108public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null; 10109public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null; 10110public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 10115public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 10120public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 10125public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 10130public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null; 10131public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 10136public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 10142public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 10148public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 10153public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 10158public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 10163public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 10168public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 10174public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 10180public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 10186public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 10192public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 10198public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 10204public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 10210public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 10216public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 10222public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 10229public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 10236public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 10242public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 10247public override BoundNode? VisitArrayLength(BoundArrayLength node) 10252public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 10260public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 10266public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 10271public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 10277public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null; 10278public override BoundNode? VisitLocalId(BoundLocalId node) => null; 10279public override BoundNode? VisitParameterId(BoundParameterId node) => null; 10280public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null; 10281public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null; 10282public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null; 10283public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null; 10284public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null; 10285public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null; 10286public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null; 10287public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null; 10288public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null; 10289public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null; 10290public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null; 10291public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null; 10292public override BoundNode? VisitIsOperator(BoundIsOperator node) 10298public override BoundNode? VisitAsOperator(BoundAsOperator node) 10304public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 10309public override BoundNode? VisitConversion(BoundConversion node) 10314public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 10319public override BoundNode? VisitArgList(BoundArgList node) => null; 10320public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 10325public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 10330public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 10335public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 10340public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null; 10341public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null; 10342public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null; 10343public override BoundNode? VisitBlock(BoundBlock node) 10349public override BoundNode? VisitScope(BoundScope node) 10354public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 10359public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 10366public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 10371public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 10377public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 10383public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null; 10384public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 10389public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 10394public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null; 10395public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 10400public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 10405public override BoundNode? VisitBreakStatement(BoundBreakStatement node) 10410public override BoundNode? VisitContinueStatement(BoundContinueStatement node) 10415public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 10422public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 10427public override BoundNode? VisitIfStatement(BoundIfStatement node) 10434public override BoundNode? VisitDoStatement(BoundDoStatement node) 10440public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 10446public override BoundNode? VisitForStatement(BoundForStatement node) 10454public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 10463public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 10469public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 10477public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 10483public override BoundNode? VisitLockStatement(BoundLockStatement node) 10489public override BoundNode? VisitTryStatement(BoundTryStatement node) 10496public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 10504public override BoundNode? VisitLiteral(BoundLiteral node) => null; 10505public override BoundNode? VisitUtf8String(BoundUtf8String node) => null; 10506public override BoundNode? VisitThisReference(BoundThisReference node) => null; 10507public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null; 10508public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null; 10509public override BoundNode? VisitBaseReference(BoundBaseReference node) => null; 10510public override BoundNode? VisitLocal(BoundLocal node) => null; 10511public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null; 10512public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 10517public override BoundNode? VisitParameter(BoundParameter node) => null; 10518public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null; 10519public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 10525public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 10530public override BoundNode? VisitLabel(BoundLabel node) => null; 10531public override BoundNode? VisitStatementList(BoundStatementList node) 10536public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 10541public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 10548public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 10554public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 10560public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 10565public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 10571public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 10578public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 10585public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null; 10586public override BoundNode? VisitDagTemp(BoundDagTemp node) 10591public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 10596public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 10601public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 10606public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 10611public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 10616public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 10621public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 10626public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 10631public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 10636public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 10641public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 10650public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 10659public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 10665public override BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node) 10670public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 10676public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 10682public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 10687public override BoundNode? VisitSequence(BoundSequence node) 10693public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 10699public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 10704public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 10710public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 10716public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 10723public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null; 10724public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 10730public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10735public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 10740public override BoundNode? VisitCall(BoundCall node) 10746public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 10752public override BoundNode? VisitAttribute(BoundAttribute node) 10758public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 10763public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 10769public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 10775public override BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node) 10780public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 10786public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null; 10787public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 10792public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 10797public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 10802public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 10808public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 10813public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 10819public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 10824public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null; 10825public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 10831public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 10837public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 10843public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null; 10844public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 10850public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null; 10851public override BoundNode? VisitNewT(BoundNewT node) 10856public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 10861public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 10867public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 10872public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 10878public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 10884public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 10889public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null; 10890public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 10895public override BoundNode? VisitEventAccess(BoundEventAccess node) 10900public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 10906public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 10912public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 10918public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 10924public override BoundNode? VisitLambda(BoundLambda node) 10929public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null; 10930public override BoundNode? VisitQueryClause(BoundQueryClause node) 10935public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 10940public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 10945public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 10950public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 10955public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null; 10956public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null; 10957public override BoundNode? VisitStringInsert(BoundStringInsert node) 10964public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 10970public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 10975public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) 10982public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null; 10983public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 10989public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 10997public override BoundNode? VisitListPattern(BoundListPattern node) 11003public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 11008public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 11013public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 11018public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 11024public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 11029public override BoundNode? VisitTypePattern(BoundTypePattern node) 11034public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 11040public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 11045public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 11050public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null; 11051public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 11056public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 11061public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 11066public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null; 11067public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 11073public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 11080public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 11085public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node) 11090public override BoundNode? VisitWithExpression(BoundWithExpression node) 11100public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 11107public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 11114public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 11121public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 11126public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 11131public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 11137public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 11143public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 11148public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 11153public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 11158public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 11163public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 11168public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 11174public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 11179public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 11184public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 11189public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 11194public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) 11199public override BoundNode? VisitDup(BoundDup node) 11204public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 11210public override BoundNode? VisitBadExpression(BoundBadExpression node) 11217public override BoundNode? VisitBadStatement(BoundBadStatement node) 11219ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes); 11222public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 11227public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 11235public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 11241public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 11248public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 11257public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 11270public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 11276public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 11282public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 11289public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 11295public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 11302public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 11309public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 11316public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 11322public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 11328public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 11335public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 11343public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 11350public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 11357public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 11371public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 11383public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 11390public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 11397public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 11406public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 11413public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 11421public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 11430public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 11437public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 11443public override BoundNode? VisitArrayLength(BoundArrayLength node) 11449public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 11459public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 11466public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 11473public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 11480public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 11486public override BoundNode? VisitLocalId(BoundLocalId node) 11493public override BoundNode? VisitParameterId(BoundParameterId node) 11500public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 11505public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 11510public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 11515public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 11520public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 11525public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 11530public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 11535public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 11540public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 11547public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 11554public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 11559public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 11565public override BoundNode? VisitIsOperator(BoundIsOperator node) 11572public override BoundNode? VisitAsOperator(BoundAsOperator node) 11581public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 11587public override BoundNode? VisitConversion(BoundConversion node) 11593public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 11600public override BoundNode? VisitArgList(BoundArgList node) 11605public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 11611public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 11621public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 11626public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 11631public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node; 11632public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node; 11633public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node; 11634public override BoundNode? VisitBlock(BoundBlock node) 11642public override BoundNode? VisitScope(BoundScope node) 11648public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 11654public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 11662public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 11667public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 11673public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 11680public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node; 11681public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 11686public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 11691public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node; 11692public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 11697public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 11702public override BoundNode? VisitBreakStatement(BoundBreakStatement node) 11708public override BoundNode? VisitContinueStatement(BoundContinueStatement node) 11714public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 11725public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 11731public override BoundNode? VisitIfStatement(BoundIfStatement node) 11738public override BoundNode? VisitDoStatement(BoundDoStatement node) 11747public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 11756public override BoundNode? VisitForStatement(BoundForStatement node) 11768public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 11782public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 11788public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 11797public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 11804public override BoundNode? VisitLockStatement(BoundLockStatement node) 11810public override BoundNode? VisitTryStatement(BoundTryStatement node) 11818public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11828public override BoundNode? VisitLiteral(BoundLiteral node) 11833public override BoundNode? VisitUtf8String(BoundUtf8String node) 11838public override BoundNode? VisitThisReference(BoundThisReference node) 11843public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 11848public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 11853public override BoundNode? VisitBaseReference(BoundBaseReference node) 11858public override BoundNode? VisitLocal(BoundLocal node) 11864public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 11870public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 11877public override BoundNode? VisitParameter(BoundParameter node) 11883public override BoundNode? VisitLabelStatement(BoundLabelStatement node) 11888public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 11895public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 11901public override BoundNode? VisitLabel(BoundLabel node) 11907public override BoundNode? VisitStatementList(BoundStatementList node) 11912public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 11918public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11927public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 11936public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 11946public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 11951public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 11957public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 11964public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 11971public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) 11976public override BoundNode? VisitDagTemp(BoundDagTemp node) 11982public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 11988public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 11993public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 11998public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 12003public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 12008public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 12014public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 12020public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 12026public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 12032public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 12038public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 12048public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 12058public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 12064public override BoundNode? VisitDagPassThroughEvaluation(BoundDagPassThroughEvaluation node) 12069public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 12076public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 12083public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 12089public override BoundNode? VisitSequence(BoundSequence node) 12097public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 12105public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 12111public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 12119public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 12126public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 12135public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 12140public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 12147public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 12156public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 12163public override BoundNode? VisitCall(BoundCall node) 12172public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 12180public override BoundNode? VisitAttribute(BoundAttribute node) 12188public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 12194public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 12203public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 12206ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 12210public override BoundNode? VisitUnconvertedWithElement(BoundUnconvertedWithElement node) 12215public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 12222ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 12226public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 12231public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 12241public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 12247public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 12254public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 12262public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 12268public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 12275public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 12283public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 12289public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 12296public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 12304public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 12312public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 12317public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 12325public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 12331public override BoundNode? VisitNewT(BoundNewT node) 12337public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 12344public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 12351public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 12357public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 12365public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 12373public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 12380public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 12386public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 12393public override BoundNode? VisitEventAccess(BoundEventAccess node) 12400public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 12409public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 12420public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 12427public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 12435public override BoundNode? VisitLambda(BoundLambda node) 12443public override BoundNode? VisitUnboundLambda(UnboundLambda node) 12449public override BoundNode? VisitQueryClause(BoundQueryClause node) 12459public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 12464public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 12470public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 12476public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 12482public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 12487public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 12492public override BoundNode? VisitStringInsert(BoundStringInsert node) 12500public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 12510public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 12517public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) 12527public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 12533public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 12542public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 12554public override BoundNode? VisitListPattern(BoundListPattern node) 12567public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 12577public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 12586public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 12592public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 12598public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 12605public override BoundNode? VisitTypePattern(BoundTypePattern node) 12612public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 12620public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 12627public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 12634public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 12639public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 12645public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 12652public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 12659public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 12665public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 12671public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 12679public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 12685public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node) 12691public override BoundNode? VisitWithExpression(BoundWithExpression node) 12714public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 12722public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 12730public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 12738public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 12750public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 12767public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 12784public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 12796public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 12808public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 12820public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 12832public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 12844public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 12861public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 12873public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 12885public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 12897public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 12909public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) 12921public override BoundNode? VisitDup(BoundDup node) 12933public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 12950public override BoundNode? VisitBadExpression(BoundBadExpression node) 12968public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 12986public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 13003public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 13015public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 13035public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 13059public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 13076public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 13093public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 13111public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 13128public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 13146public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 13164public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 13182public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 13199public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 13216public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 13234public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 13253public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 13271public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 13289public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 13307public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 13327public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 13345public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 13364public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 13384public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 13402public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 13419public override BoundNode? VisitArrayLength(BoundArrayLength node) 13436public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 13447public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13465public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 13483public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 13491public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 13508public override BoundNode? VisitLocalId(BoundLocalId node) 13526public override BoundNode? VisitParameterId(BoundParameterId node) 13544public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 13556public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 13568public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 13580public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 13592public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 13604public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 13616public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 13628public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 13640public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 13658public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 13676public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 13688public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 13705public override BoundNode? VisitIsOperator(BoundIsOperator node) 13723public override BoundNode? VisitAsOperator(BoundAsOperator node) 13743public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 13760public override BoundNode? VisitConversion(BoundConversion node) 13777public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 13795public override BoundNode? VisitArgList(BoundArgList node) 13807public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 13824public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 13845public override BoundNode? VisitBlock(BoundBlock node) 13854public override BoundNode? VisitScope(BoundScope node) 13861public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 13868public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 13877public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 13885public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 13896public override BoundNode? VisitDoStatement(BoundDoStatement node) 13904public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 13912public override BoundNode? VisitForStatement(BoundForStatement node) 13923public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 13936public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 13946public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 13954public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13965public override BoundNode? VisitLiteral(BoundLiteral node) 13977public override BoundNode? VisitUtf8String(BoundUtf8String node) 13989public override BoundNode? VisitThisReference(BoundThisReference node) 14001public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 14013public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 14025public override BoundNode? VisitBaseReference(BoundBaseReference node) 14037public override BoundNode? VisitLocal(BoundLocal node) 14054public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 14071public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 14089public override BoundNode? VisitParameter(BoundParameter node) 14106public override BoundNode? VisitLabel(BoundLabel node) 14118public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 14127public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 14146public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 14166public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 14173public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 14180public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 14187public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 14194public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 14205public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 14216public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 14224public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 14241public override BoundNode? VisitSequence(BoundSequence node) 14260public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 14279public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 14296public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 14315public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 14333public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 14353public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 14365public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 14383public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 14403public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 14421public override BoundNode? VisitCall(BoundCall node) 14441public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 14460public override BoundNode? VisitAttribute(BoundAttribute node) 14479public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 14496public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 14516public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 14519ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14534public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 14541ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14556public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 14568public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 14585public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 14603public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 14622public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 14639public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 14657public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 14676public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 14693public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 14711public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 14730public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 14749public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 14761public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 14780public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 14797public override BoundNode? VisitNewT(BoundNewT node) 14814public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 14832public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 14850public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 14867public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 14886public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 14905public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 14923public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 14940public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14958public override BoundNode? VisitEventAccess(BoundEventAccess node) 14976public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 14996public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 15014public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 15033public override BoundNode? VisitLambda(BoundLambda node) 15052public override BoundNode? VisitUnboundLambda(UnboundLambda node) 15069public override BoundNode? VisitQueryClause(BoundQueryClause node) 15090public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 15107public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 15124public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 15141public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 15153public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 15165public override BoundNode? VisitStringInsert(BoundStringInsert node) 15184public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 15203public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 15211public override BoundNode? VisitPatternWithUnionMatching(BoundPatternWithUnionMatching node) 15222public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 15229public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 15239public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 15252public override BoundNode? VisitListPattern(BoundListPattern node) 15266public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 15277public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 15287public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 15294public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 15301public override BoundNode? VisitTypePattern(BoundTypePattern node) 15309public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 15317public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 15325public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 15337public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 15354public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 15372public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 15390public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 15407public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 15416public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 15433public override BoundNode? VisitValueForNullableAnalysis(BoundValueForNullableAnalysis node) 15450public override BoundNode? VisitWithExpression(BoundWithExpression node) 15475public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (19)
172public override BoundNode VisitTryStatement(BoundTryStatement node) 182var result = visitTryStatement(node, tryStatementSyntax); 187BoundNode visitTryStatement(BoundTryStatement node, SyntaxNode tryStatementSyntax) 398public override BoundNode VisitGotoStatement(BoundGotoStatement node) 406public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 412public override BoundNode VisitReturnStatement(BoundReturnStatement node) 581public override BoundNode VisitCatchBlock(BoundCatchBlock node) 586private BoundNode VisitCatchBlock(BoundCatchBlock node, AwaitCatchFrame parentAwaitCatchFrame) 596var result = base.VisitCatchBlock(node); 754public override BoundNode VisitLocal(BoundLocal node) 766public override BoundNode VisitThrowStatement(BoundThrowStatement node) 778public override BoundNode VisitLambda(BoundLambda node) 804public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 892public override BoundNode VisitTryStatement(BoundTryStatement node) 934public override BoundNode VisitCatchBlock(BoundCatchBlock node) 939var result = base.VisitCatchBlock(node); 956public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 962public override BoundNode VisitLambda(BoundLambda node) 978public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (4)
262public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 315public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 367public override BoundNode VisitTryStatement(BoundTryStatement node) 419public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock extractedFinally)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (5)
313public sealed override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 332public sealed override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 338public sealed override BoundNode VisitBadExpression(BoundBadExpression node) 415public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 681public sealed override BoundNode VisitReturnStatement(BoundReturnStatement node)
Lowering\AsyncRewriter\AsyncRewriter.cs (4)
95return new BoundBadStatement(bodyWithAwaitLifted.Syntax, ImmutableArray.Create<BoundNode>(bodyWithAwaitLifted), hasErrors: true); 223return new BoundBadStatement(F.Syntax, ImmutableArray<BoundNode>.Empty, hasErrors: true); 306public static bool ContainsAwait(BoundNode node) 313public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (17)
45return new BoundBadStatement(node.Syntax, ImmutableArray.Create<BoundNode>(node), hasErrors: true); 114public override BoundNode? Visit(BoundNode? node) 119var result = base.Visit(node); 127var result = Visit(node); 131public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 159var call = Visit(awaitableInfo.RuntimeAsyncAwaitCall); 313public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 318public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 368private bool TryReplaceWithProxy(Symbol localOrParameter, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 380public override BoundNode VisitLocal(BoundLocal node) 382if (TryReplaceWithProxy(node.LocalSymbol, node.Syntax, out BoundNode? replacement)) 391public override BoundNode? VisitParameter(BoundParameter node) 393if (TryReplaceWithProxy(node.ParameterSymbol, node.Syntax, out BoundNode? replacement)) 405public override BoundNode? VisitThisReference(BoundThisReference node) 410if (TryReplaceWithProxy(thisParameter, node.Syntax, out BoundNode? replacement)) 419public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node)
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (7)
38public override BoundNode DefaultVisit(BoundNode node) 100public override BoundNode VisitBlock(BoundBlock node) 120public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node) 155public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 169public override BoundNode? VisitConversion(BoundConversion node) 241public 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>(); 347static partial void CheckLocalsDefined(BoundNode node); 380var scopeBoundNode = scope.BoundNode; 650private static void InsertAndFreePrologue<T>(ArrayBuilder<BoundStatement> result, ArrayBuilder<T> prologue) where T : BoundNode 660result.Add(new BoundExpressionStatement(node.Syntax, (BoundExpression)(BoundNode)node)); 674private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F) 740var result = F(prologue, addedLocals); 834protected override BoundNode VisitUnhoistedParameter(BoundParameter node) 845public override BoundNode VisitThisReference(BoundThisReference node) 862public override BoundNode VisitBaseReference(BoundBaseReference node) 869public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1084public override BoundNode VisitCall(BoundCall node) 1118var visited = base.VisitCall(node); 1165public override BoundNode VisitBlock(BoundBlock node) 1213public override BoundNode VisitScope(BoundScope node) 1227public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1243private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) 1301public override BoundNode VisitSequence(BoundSequence node) 1317public override BoundNode VisitStatementList(BoundStatementList node) 1342public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1375public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 1402public override BoundNode VisitConversion(BoundConversion conversion) 1433public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1438BoundNode lambdaScope; 1530out BoundNode lambdaScope, 1547BoundNode tmpScope = null; 1632private BoundNode RewriteLambdaConversion(BoundLambda node) 1642var result0 = wasInExpressionLambda ? node : ExpressionLambdaRewriter.RewriteLambda(node, CompilationState, TypeMap, RecursionDepth, Diagnostics); 1650BoundNode lambdaScope; 1802public override BoundNode VisitLambda(BoundLambda node)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
113internal static BoundNode RewriteLambda(BoundLambda node, TypeCompilationState compilationState, TypeMap typeMap, int recursionDepth, BindingDiagnosticBag diagnostics) 897if (BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder) is { IsUserDefined: true })
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) 285public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 299public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 314BoundNode node) 398public override BoundNode Visit(BoundNode node) 412public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 422public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 432public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 442public override BoundNode VisitArgListOperator(BoundArgListOperator node) 452public override BoundNode VisitConditionalAccess(BoundConditionalAccess node) 462public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 484public override BoundNode VisitCall(BoundCall node) 548public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 559public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 565public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 583private void CheckRefReturningPropertyAccess(BoundNode node, PropertySymbol property) 591public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 612public override BoundNode VisitLambda(BoundLambda node) 696var result = base.VisitLambda(node); 701public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 731public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 753public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 803public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 817public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 828public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 838public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 844public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 850public override BoundNode VisitConversion(BoundConversion node) 920var result = base.VisitConversion(node); 926public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 940public override BoundNode VisitMethodGroup(BoundMethodGroup node) 978public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 985public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 995public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 1005public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 1021public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 1032public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 1042public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 1052public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 1062public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1072public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 1082public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 1092public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 1102public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1112public override BoundNode VisitWithExpression(BoundWithExpression node) 1122public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1132public override BoundNode VisitCollectionExpression(BoundCollectionExpression node) 1146public override BoundNode VisitIfStatement(BoundIfStatement node) 1173public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
Lowering\DiagnosticsPass_Warnings.cs (4)
349private static bool ConvertedHasEqual(BinaryOperatorKind oldOperatorKind, BoundNode node, out TypeSymbol type) 391private void CheckVacuousComparisons(BoundBinaryOperator tree, ConstantValue constantValue, BoundNode operand) 929public override BoundNode VisitFieldAccess(BoundFieldAccess node) 935public override BoundNode VisitPropertyGroup(BoundPropertyGroup node)
Lowering\ExtensionMethodBodyRewriter.cs (10)
82public override BoundNode? VisitThisReference(BoundThisReference node) 92public override BoundNode? VisitLambda(BoundLambda node) 108public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 121public override BoundNode VisitBlock(BoundBlock node) 137var result = base.VisitBlock(node); 169public override BoundNode? VisitCall(BoundCall node) 174public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 179public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 191public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 201public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
Lowering\ExtensionMethodReferenceRewriter.cs (10)
29public override BoundNode VisitCall(BoundCall node) 34public static BoundNode VisitCall(BoundTreeRewriter rewriter, BoundCall node) 195public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 200public static BoundNode VisitMethodDefIndex(BoundTreeRewriter rewriter, BoundMethodDefIndex node) 207public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 212public static BoundNode VisitDelegateCreationExpression(BoundTreeRewriter rewriter, BoundDelegateCreationExpression node) 228public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 233public static BoundNode VisitFunctionPointerLoad(BoundTreeRewriter rewriter, BoundFunctionPointerLoad node) 275public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 280public static BoundNode VisitUnaryOperator(BoundTreeRewriter rewriter, BoundUnaryOperator node)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
544syntaxForSpan = ((BoundNode?)usingStatement.ExpressionOpt ?? usingStatement.DeclarationsOpt)!.Syntax;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
415private 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 (23)
178return new BoundBadStatement(statement.Syntax, ImmutableArray.Create<BoundNode>(statement), hasErrors: true); 208public override BoundNode? Visit(BoundNode? node) 317public override BoundNode? VisitParameter(BoundParameter node) 331public override BoundNode VisitLambda(BoundLambda node) 385public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 460public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 465public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 470public override BoundNode VisitValuePlaceholder(BoundValuePlaceholder node) 475public override BoundNode? VisitCollectionBuilderElementsPlaceholder(BoundCollectionBuilderElementsPlaceholder node) 480public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 485public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 495public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 498public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 501public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 566public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 572public override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 578public override BoundNode VisitBadExpression(BoundBadExpression node) 656public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 689public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 755public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 827public override BoundNode VisitArrayAccess(BoundArrayAccess node) 844BoundNode resultExpr;
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (16)
141public override BoundNode Visit(BoundNode node) 178public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 192public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 198public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 204public override BoundNode VisitConversion(BoundConversion node) 237public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 250public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 256public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 262public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 268public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 279public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 290public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 300public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 311public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 326public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
Lowering\LocalRewriter\LocalRewriter.PlaceholderReplacer.cs (6)
23var result = new PlaceholderReplacer(placeholders).Visit(expr); 28private BoundNode ReplacePlaceholder(BoundEarlyValuePlaceholderBase placeholder) 35public override BoundNode VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 40public override BoundNode VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 45public override BoundNode VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 50public override BoundNode VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
Lowering\LocalRewriter\LocalRewriter_AnonymousObjectCreation.cs (1)
15public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
Lowering\LocalRewriter\LocalRewriter_AsOperator.cs (4)
16public override BoundNode VisitAsOperator(BoundAsOperator node) 25public override BoundNode VisitTypeExpression(BoundTypeExpression node) 27var result = base.VisitTypeExpression(node); 49var conversion = BoundNode.GetConversion(operandConversion, operandPlaceholder);
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
15public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
13public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (2)
16public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 21public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
Lowering\LocalRewriter\LocalRewriter_Block.cs (2)
14public override BoundNode VisitBlock(BoundBlock node) 127public override BoundNode VisitNoOpStatement(BoundNoOpStatement node)
Lowering\LocalRewriter\LocalRewriter_BreakStatement.cs (1)
13public override BoundNode VisitBreakStatement(BoundBreakStatement node)
Lowering\LocalRewriter\LocalRewriter_Call.cs (3)
18public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 336public override BoundNode VisitCall(BoundCall node) 1739public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (14)
18public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 24public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 123static bool canOptimizeListElement(BoundNode element, MethodSymbol addMethod) 142static BoundNode unwrapListElement(BoundCollectionExpression node, BoundNode element) 439foreach (var element in elements) 639ImmutableArray<BoundNode> elements, 1158ImmutableArray<BoundNode> elements, 1371private BoundExpression RewriteCollectionExpressionElementExpression(BoundNode element) 1380ImmutableArray<BoundNode> elements, 1396ImmutableArray<BoundNode> elements, 1406var element = elements[i]; 1441private BoundExpression GetKnownLengthExpression(ImmutableArray<BoundNode> elements, int numberIncludingLastSpread, ArrayBuilder<BoundLocal> rewrittenExpressions) 1450var 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); 374if (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) 141BoundNode node, 593BoundNode node, 894BoundNode node, 1043BoundNode node, 1274private void InstrumentForEachStatementCollectionVarDeclaration(BoundNode node, [NotNullIfNotNull(nameof(collectionVarDecl))] ref BoundStatement? collectionVarDecl) 1282private void InstrumentForEachStatementIterationVarDeclaration(BoundNode node, ref BoundStatement iterationVarDecl) 1298private 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)
40public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 68public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 240public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 463public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 468public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 473public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 478public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 483public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 488public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 493public 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) 312public override BoundNode VisitNewT(BoundNewT node) 369public 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) 33public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node)
Lowering\LocalRewriter\PipelinePhaseValidator.cs (8)
40public static void AssertAfterInitialBinding(BoundNode node) 48public static void AssertAfterLocalRewriting(BoundNode node) 56public static void AssertAfterSpilling(BoundNode node) 64public static void AssertAfterClosureConversion(BoundNode node) 72public static void AssertAfterStateMachineRewriting(BoundNode node) 83public static void Assert(BoundNode node, PipelinePhase completedPhase) 95public override BoundNode? Visit(BoundNode? 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) 184private bool TryReplaceWithProxy(Symbol parameterOrLocal, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 200public sealed override BoundNode VisitParameter(BoundParameter node) 202if (TryReplaceWithProxy(node.ParameterSymbol, node.Syntax, out BoundNode? replacement)) 211protected virtual BoundNode VisitUnhoistedParameter(BoundParameter node) 216public sealed override BoundNode VisitLocal(BoundLocal node) 218if (TryReplaceWithProxy(node.LocalSymbol, node.Syntax, out BoundNode? replacement)) 229public override BoundNode? VisitLocalId(BoundLocalId node) 234public override BoundNode? VisitParameterId(BoundParameterId node) 257public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 322public override BoundNode VisitFieldInfo(BoundFieldInfo node) 329public override BoundNode VisitFieldAccess(BoundFieldAccess node) 338public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 355public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node)
Lowering\SpillSequenceSpiller.cs (53)
196public static BoundNode Rewrite( 199BoundNode node) 210public override BoundNode VisitLocal(BoundLocal node) 237BoundNode result = spiller.Visit(body); 664public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 671public override BoundNode VisitThrowStatement(BoundThrowStatement node) 678public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 687public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 694public override BoundNode VisitReturnStatement(BoundReturnStatement node) 701public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 709public override BoundNode VisitCatchBlock(BoundCatchBlock node) 741public override BoundNode DefaultVisit(BoundNode node) 752public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 761public override BoundNode VisitSpillSequence(BoundSpillSequence node) 774public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 781public override BoundNode VisitArgListOperator(BoundArgListOperator node) 788public override BoundNode VisitArrayAccess(BoundArrayAccess node) 817public override BoundNode VisitArrayCreation(BoundArrayCreation node) 838public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 845public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 853public override BoundNode VisitArrayLength(BoundArrayLength node) 860public override BoundNode VisitAsOperator(BoundAsOperator node) 869public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 981public override BoundNode VisitBadExpression(BoundBadExpression node) 987public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 992public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1030public override BoundNode VisitCall(BoundCall node) 1096public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1118public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1188public override BoundNode VisitConversion(BoundConversion node) 1203public override BoundNode VisitPassByCopy(BoundPassByCopy node) 1214public override BoundNode VisitMethodGroup(BoundMethodGroup node) 1219public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1226public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1233public override BoundNode VisitIsOperator(BoundIsOperator node) 1240public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1247public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1277public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1383public static BoundStatement Replace(BoundNode node, BoundExpression receiver, int receiverID, int recursionDepth) 1394public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 1408public override BoundNode VisitLambda(BoundLambda node) 1412var result = base.VisitLambda(node); 1417public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1421var result = base.VisitLocalFunctionStatement(node); 1426public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1434public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 1455public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 1462public override BoundNode VisitSequence(BoundSequence node) 1488public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1518public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1525public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 1532public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (17)
46private IteratorAndAsyncCaptureWalker(CSharpCompilation compilation, MethodSymbol method, BoundNode node, HashSet<Symbol> initiallyAssignedVariables, bool isRuntimeAsync) 58public static OrderedSet<Symbol> Analyze(CSharpCompilation compilation, MethodSymbol method, BoundNode node, bool isRuntimeAsync, DiagnosticBag diagnostics) 193public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 200public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 298public override BoundNode VisitParameter(BoundParameter node) 314public override BoundNode VisitFieldAccess(BoundFieldAccess node) 325public override BoundNode VisitThisReference(BoundThisReference node) 331public override BoundNode VisitBaseReference(BoundBaseReference node) 337public override BoundNode VisitTryStatement(BoundTryStatement node) 358public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 388public override BoundNode VisitBlock(BoundBlock node) 402public override BoundNode VisitCatchBlock(BoundCatchBlock node) 413public override BoundNode VisitSequence(BoundSequence node) 419public override BoundNode VisitThisReference(BoundThisReference node) 425public override BoundNode VisitBaseReference(BoundBaseReference node) 431public override BoundNode VisitLocal(BoundLocal node) 437public override BoundNode VisitParameter(BoundParameter node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (14)
281public override BoundNode VisitSequence(BoundSequence node) 514public override BoundNode Visit(BoundNode node) 519var result = base.Visit(node); 524public override BoundNode VisitBlock(BoundBlock node) 535public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 538public override BoundNode VisitScope(BoundScope node) 600public override BoundNode VisitForStatement(BoundForStatement node) 605public override BoundNode VisitUsingStatement(BoundUsingStatement node) 610public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 618public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 729public override BoundNode VisitTryStatement(BoundTryStatement node) 808public sealed override BoundNode VisitThisReference(BoundThisReference node) 840public override BoundNode VisitBaseReference(BoundBaseReference node)
Lowering\StateMachineRewriter\StateMachineRewriter.cs (1)
125return 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 (25)
27public IOperation? Create(BoundNode? boundNode) 344public ImmutableArray<TOperation> CreateFromArray<TBoundNode, TOperation>(ImmutableArray<TBoundNode> boundNodes) where TBoundNode : BoundNode where TOperation : class, IOperation 389foreach (BoundNode? childNode in children) 403internal ImmutableArray<IVariableDeclaratorOperation> CreateVariableDeclarator(BoundNode declaration, SyntaxNode declarationSyntax) 457ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCall).InvalidNodeChildren); 487ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundFunctionPointerInvocation).InvalidNodeChildren); 527internal ImmutableArray<IOperation> CreateIgnoredDimensions(BoundNode declaration) 602internal IOperation? CreateBoundPropertyReferenceInstance(BoundNode boundNode) 640var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundIndexerAccess).InvalidNodeChildren); 720var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectCreationExpression).InvalidNodeChildren); 774internal IOperation CreateBoundDynamicInvocationExpressionReceiver(BoundNode receiver) 904var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectInitializerMember).InvalidNodeChildren); 950var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCollectionElementInitializer).InvalidNodeChildren); 1183Conversion conversion = BoundNode.GetConversion(boundAsOperator.OperandConversion, boundAsOperator.OperandPlaceholder); 1306? @this.CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)objectCreation).InvalidNodeChildren) 1315? @this.CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCall).InvalidNodeChildren) 1333private IOperation CreateBoundCollectionExpressionElement(BoundCollectionExpression expr, BoundNode element) 1349var elementConversion = BoundNode.GetConversion(iteratorItem, element.ElementPlaceholder); 1435Conversion inConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.LeftConversion, boundCompoundAssignmentOperator.LeftPlaceholder); 1436Conversion outConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.FinalConversion, boundCompoundAssignmentOperator.FinalPlaceholder); 1659Conversion valueConversion = BoundNode.GetConversion(boundNullCoalescingOperator.LeftConversion, boundNullCoalescingOperator.LeftPlaceholder); 1983BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder), 1984BoundNode.GetConversion(boundForEachStatement.ElementConversion, boundForEachStatement.ElementPlaceholder), 2099IOperation resources = Create(boundUsingStatement.DeclarationsOpt ?? (BoundNode)boundUsingStatement.ExpressionOpt!); 2161var children = CreateFromArray<BoundNode, IOperation>(boundBadStatement.ChildBoundNodes);
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)
193var boundGetAccessor = binder.BindMethodBody(getAccessor.SyntaxNode, BindingDiagnosticBag.Discarded);