18 types derived from BoundNode
Microsoft.CodeAnalysis.CSharp (18)
Generated\BoundNodes.xml.Generated.cs (18)
257internal abstract partial class BoundInitializer : BoundNode 406internal abstract partial class BoundExpression : BoundNode 2145internal sealed partial class BoundAwaitableInfo : BoundNode 2274internal sealed partial class BoundBlockInstrumentation : BoundNode 3152internal abstract partial class BoundStatement : BoundNode 4108internal sealed partial class BoundForEachDeconstructStep : BoundNode 4280internal sealed partial class BoundCatchBlock : BoundNode 4924internal sealed partial class BoundSwitchExpressionArm : BoundNode 5025internal sealed partial class BoundDecisionDag : BoundNode 5053internal abstract partial class BoundDecisionDagNode : BoundNode 5204internal abstract partial class BoundDagTest : BoundNode 5218internal sealed partial class BoundDagTemp : BoundNode 5711internal sealed partial class BoundSwitchLabel : BoundNode 6531internal sealed partial class BoundCollectionExpressionSpreadElement : BoundNode 8018internal abstract partial class BoundPattern : BoundNode 8340internal abstract partial class BoundSubpattern : BoundNode 8412internal sealed partial class BoundPropertySubpatternMember : BoundNode 8759internal abstract partial class BoundMethodBodyBase : BoundNode
2896 references to BoundNode
Microsoft.CodeAnalysis.CSharp (2840)
Binder\Binder_Attributes.cs (2)
882foreach (var element in elements) 889private TypedConstant VisitCollectionExpressionElement(BoundNode node, BindingDiagnosticBag diagnostics, ref bool attrHasErrors, bool curArgumentHasErrors)
Binder\Binder_Conversions.cs (14)
73Debug.Assert(BoundNode.GetConversion(result, placeholder1) == conversion); 79Debug.Assert(BoundNode.GetConversion(result2, placeholder2) == conversion); 885var builder = ArrayBuilder<BoundNode>.GetInstance(elements.Length); 916foreach (var element in elements) 918BoundNode convertedElement = element is BoundCollectionExpressionSpreadElement spreadElement ? 919(BoundNode)BindCollectionExpressionSpreadElementAddMethod( 957var element = elements[i]; 959var convertedElement = element is BoundCollectionExpressionSpreadElement spreadElement ? 992BoundNode bindSpreadElement(BoundCollectionExpressionSpreadElement element, TypeSymbol elementType, Conversion elementConversion, BindingDiagnosticBag diagnostics) 1723var builder = ArrayBuilder<BoundNode>.GetInstance(node.Elements.Length); 1724foreach (var element in node.Elements) 1726var result = element is BoundExpression expression ? 1796foreach (var element in elements) 2538internal static bool IsMethodGroupWithTypeOrValueReceiver(BoundNode node)
Binder\Binder_Expressions.cs (3)
5324var builder = ArrayBuilder<BoundNode>.GetInstance(syntax.Elements.Count); 5331static BoundNode bindElement(CollectionElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this, int nestingLevel) 5342static BoundNode bindSpreadElement(SpreadElementSyntax syntax, BindingDiagnosticBag diagnostics, Binder @this)
Binder\Binder_Invocation.cs (1)
1858var unconvertedCollection = new BoundUnconvertedCollectionExpression(node, ImmutableArray<BoundNode>.CastUp(collectionArgs)) { WasCompilerGenerated = true, IsParamsArrayOrCollection = true };
Binder\Binder_Lambda.cs (1)
434where TResult : BoundNode
Binder\Binder_Statements.cs (13)
146result = new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 520return new BoundBadStatement(node, ImmutableArray.Create<BoundNode>(expression), true); 535ImmutableArray<BoundNode> childNodes; 539childNodes = ImmutableArray.Create<BoundNode>(value); 543childNodes = ImmutableArray<BoundNode>.Empty; 2951return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 2962return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 3667public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics) 3696private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3701private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3725private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics) 3760private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics) 4067private BoundNode BindMethodBody(CSharpSyntaxNode declaration, BlockSyntax blockBody, ArrowExpressionClauseSyntax expressionBody, BindingDiagnosticBag diagnostics)
Binder\DecisionDagBuilder_CheckOrReachability.cs (15)
788public override BoundNode? Visit(BoundNode? node) 818public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 910public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 940public override BoundNode? VisitTypePattern(BoundTypePattern node) 946public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 952public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 958public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 1041public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 1049public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 1204public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 1209public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 1214public override BoundNode? VisitITuplePattern(BoundITuplePattern ituplePattern) 1270public override BoundNode? VisitListPattern(BoundListPattern listPattern) 1392public 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 (48)
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) 378public override BoundNode? VisitLambda(BoundLambda node) 386public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 393public override BoundNode? VisitForStatement(BoundForStatement node) 400public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 422public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 434public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 440public override BoundNode? VisitDoStatement(BoundDoStatement node) 446public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 452public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 462public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 470public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 476public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 482public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 488public override BoundNode? VisitLocal(BoundLocal node) 539public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 579public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 589public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 599public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 609public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 633public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 641public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 657public override BoundNode? VisitListPattern(BoundListPattern node) 663public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 698public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 711public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 732public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 758public sealed override BoundNode? VisitCall(BoundCall node) 937public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 943public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 949public override BoundNode? VisitNewT(BoundNewT node) 955public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 1032public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 1038public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 1059public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1076public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 1099public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 1109public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 1192var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 1249public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
Binder\Semantics\Conversions\Conversions.cs (2)
206foreach (var element in elements) 220Conversion convertElement(BoundNode element, TypeSymbol elementType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (2)
687foreach (var element in argument.Elements) 912foreach (var element in argument.Elements)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (10)
3075ImmutableArray<BoundNode> collectionExpressionElements, 3127var element = collectionExpressionElements[i]; 3414public override BoundNode Visit(BoundNode node) 3424protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 3429public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3435public override BoundNode VisitReturnStatement(BoundReturnStatement node) 3460BoundNode node, 3472BoundNode node,
Binder\SwitchBinder.cs (2)
547childBoundNodes: gotoCaseExpressionOpt != null ? ImmutableArray.Create<BoundNode>(gotoCaseExpressionOpt) : ImmutableArray<BoundNode>.Empty,
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(); 493public static void CheckLocalsDefined(BoundNode root) 530public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 538public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 546public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 554public override BoundNode? VisitBlock(BoundBlock node) 586public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 593public override BoundNode? VisitSequence(BoundSequence node) 601public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 609public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 617public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 625public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 633public override BoundNode? VisitDoStatement(BoundDoStatement node) 641public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 649public override BoundNode? VisitForStatement(BoundForStatement node) 662public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 670public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 678public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 686public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 694public override BoundNode? VisitLocal(BoundLocal node) 701public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 708public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
BoundTree\BoundNode_Source.cs (2)
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; 239private BoundNode? VisitExpressionOrPatternWithStackGuard(BoundNode node) 254protected abstract BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node);
BoundTree\BoundTreeWalker.cs (11)
17public void VisitList<T>(ImmutableArray<T> list) where T : BoundNode 71public override BoundNode? Visit(BoundNode? node) 81protected BoundNode VisitExpressionOrPatternWithStackGuard(BoundNode node) 86protected sealed override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 105public sealed override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 145public sealed override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 179public override BoundNode? VisitCall(BoundCall node) 233public sealed override BoundNode? VisitIfStatement(BoundIfStatement node)
BoundTree\Expression.cs (60)
29ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: null, Arguments, InitializerExpressionOpt); 34ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(Arguments); 39ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ImplicitReceiverOpt, Arguments); 44protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Left, this.Right); 49protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ChildBoundNodes); 51ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(this.ChildBoundNodes); 56ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments); 61ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments); 66protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Receiver)); 71protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments); 76protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ConstructorArguments.AddRange(StaticCast<BoundExpression>.From(this.NamedArguments))); 81protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Value); 86protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments); 91protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Argument); 96protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression, this.Index); 101protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand); 106protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver); 111protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand); 116protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand); 121protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Expression)); 126protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression); 139protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count)); 144protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count)); 149protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.AddRange(BoundObjectCreationExpression.GetChildInitializers(this.InitializerExpressionOpt))); 154protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression); 159protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.ReceiverOpt); 164protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.SideEffects.Add(this.Value)); 169protected override ImmutableArray<BoundNode?> Children => 170(this.Kind == BoundKind.StatementList || this.Kind == BoundKind.Scope) ? StaticCast<BoundNode?>.From(this.Statements) : ImmutableArray<BoundNode?>.Empty; 175protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression); 180protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver, Argument); 185ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: this.InvokedExpression, Arguments); 186protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(((IBoundInvalidNode)this).InvalidNodeChildren);
BoundTree\IBoundInvalidNode.cs (1)
16ImmutableArray<BoundNode> InvalidNodeChildren { get; }
BoundTree\NullabilityRewriter.cs (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) 137public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 172public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 202private T GetUpdatedSymbol<T>(BoundNode expr, T sym) where T : Symbol? 285public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 305private 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 (61)
430public static BoundNode Analyze( 431BoundNode node, 437var rewritten = analyzer.Visit(node); 443public override BoundNode Visit(BoundNode node) 445BoundNode result; 534protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 565public BoundNode VisitStatement(BoundNode node) 571public BoundNode VisitSideEffect(BoundNode node) 576var result = base.Visit(node); 592public override BoundNode VisitConversion(BoundConversion node) 601public override BoundNode VisitPassByCopy(BoundPassByCopy node) 612public override BoundNode VisitBlock(BoundBlock node) 649public override BoundNode VisitSequence(BoundSequence node) 815public bool IsLocalUsedIn(BoundNode node) 823public override BoundNode Visit(BoundNode node) 833public override BoundNode VisitLocal(BoundLocal node) 844public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 850public override BoundNode VisitLocal(BoundLocal node) 895public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 1117public override BoundNode VisitCall(BoundCall node) 1300public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1316public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1325public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1335public override BoundNode VisitArrayAccess(BoundArrayAccess node) 1342var result = base.VisitArrayAccess(node); 1348public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1390public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1396public override BoundNode VisitLabel(BoundLabel node) 1402public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1408public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1412var result = base.VisitGotoStatement(node); 1418public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 1420var result = base.VisitConditionalGoto(node); 1427public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 1460public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1482public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1556private BoundNode VisitBinaryOperatorSimple(BoundBinaryOperator node) 1578public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1597public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1627public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 1663public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1679public override BoundNode VisitTryStatement(BoundTryStatement node) 1694public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1758public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 1765public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1800public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 1806public override BoundNode VisitReturnStatement(BoundReturnStatement node) 2056public override BoundNode Visit(BoundNode node) 2058BoundNode result; 2078public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2135public override BoundNode VisitLocal(BoundLocal node) 2153public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2161public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2223public override BoundNode VisitCall(BoundCall node) 2298public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Compilation\AttributeSemanticModel.cs (4)
85internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 102protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 103BoundNode boundRoot, 113protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\CSharpSemanticModel.cs (20)
725BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 755BoundNode boundNode = GetSpeculativelyBoundAttribute(position, attribute, out binder); //calls CheckAndAdjustPosition 1055BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out _, out crefSymbols); //calls CheckAndAdjustPosition 1202BoundNode boundNode = GetSpeculativelyBoundExpression(position, nameSyntax, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 1882BoundNode lowestBoundNode, 1883BoundNode highestBoundNode, 1884BoundNode boundNodeForSyntacticParent, 2017BoundNode lowestBoundNode, 2018BoundNode highestBoundNode, 2019BoundNode boundNodeForSyntacticParent) 2128conversion = BoundNode.GetConversion(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder); 2275BoundNode lowestBoundNode, 2276BoundNode boundNodeForSyntacticParent, 2297BoundNode lowestBoundNode, 2389internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 3344BoundNode boundNodeForSyntacticParent, 3971BoundNode boundNodeForSyntacticParent, 4022BoundNode lowestBoundNode, 4242BoundNode boundNodeForSyntacticParent, 4395BoundNode 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 (62)
33private readonly Dictionary<SyntaxNode, OneOrMany<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, OneOrMany<BoundNode>>(); 514internal virtual BoundNode GetBoundRoot() 522internal BoundNode GetUpperBoundNode(CSharpSyntaxNode node, bool promoteToBindable = false) 550internal BoundNode GetLowerBoundNode(CSharpSyntaxNode node) 567private static BoundNode GetLowerBoundNode(OneOrMany<BoundNode> boundNodes) 924var bound = GetLowerBoundNode(node); 936var bound = GetLowerBoundNode(node); 948var bound = GetLowerBoundNode(node); 1032BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder), 1033BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder)); 1181var bound = this.GetLowerBoundNode(declaratorSyntax); 1226BoundNode highestBoundNode = GetBoundRoot(); 1251BoundNode lowestBoundNode; 1252BoundNode highestBoundNode; 1253BoundNode boundParent; 1263BoundNode lowestBoundNode; 1264BoundNode highestBoundNode; 1265BoundNode boundParent; 1274BoundNode lowestBoundNode; 1275BoundNode highestBoundNode; 1276BoundNode boundParent; 1286BoundNode lowestBoundNode; 1287BoundNode highestBoundNode; 1288BoundNode boundParent; 1340private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent) 1471private OneOrMany<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node) 1474OneOrMany<BoundNode> result; 1475return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1481internal OneOrMany<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node) 1483OneOrMany<BoundNode> result; 1484return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : OneOrMany<BoundNode>.Empty; 1489private OneOrMany<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound) 1508OneOrMany<BoundNode> result; 1509return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : OneOrMany<BoundNode>.Empty; 1512protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1520protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1663BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery); 1667private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery) 1671OneOrMany<BoundNode> nodes; 1690BoundNode boundEnclosingLambdaOrQuery = null; 1731BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 1763BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded); 1777private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery) 2002BoundNode boundRoot = bind(bindableRoot, out binder); 2024BoundNode bind(CSharpSyntaxNode root, out Binder binder) 2078protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots( 2079BoundNode boundRoot, 2092protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots); 2106internal OneOrMany<BoundNode> GetBoundNodes(CSharpSyntaxNode node) 2130OneOrMany<BoundNode> results; 2153BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 2182var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded); 2197return OneOrMany<BoundNode>.Empty; 2511private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node) 2515OneOrMany<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node); 2527public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 2529BoundNode boundNode = TryGetBoundNodeFromMap(node);
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)
2346private static BoundNode GetBoundRoot(MemberSemanticModel memberModel, out Symbol member)
Compilation\SyntaxTreeSemanticModel_RegionAnalysisContext.cs (8)
34var node = new BoundBadStatement(expression, ImmutableArray<BoundNode>.Empty, hasErrors: true); 39BoundNode boundNode = GetBoundRoot(memberModel, out member); 40var first = memberModel.GetUpperBoundNode(expression, promoteToBindable: true); 41var last = first; 51var node = new BoundBadStatement(firstStatement, ImmutableArray<BoundNode>.Empty, hasErrors: true); 56BoundNode boundNode = GetBoundRoot(memberModel, out member); 57var first = memberModel.GetUpperBoundNode(firstStatement, promoteToBindable: true); 58var last = memberModel.GetUpperBoundNode(lastStatement, promoteToBindable: true);
Compiler\MethodCompiler.cs (20)
1617return new BoundBadStatement(body.Syntax, ImmutableArray.Create<BoundNode>(body), hasErrors: true); 1881BoundNode? initializersBody, 1930BoundNode methodBody = bodyBinder.BindWithLambdaBindingCountDiagnostics( 1940BoundNode methodBodyForSemanticModel = methodBody; 2108NullableWalker.VariableState? getInitializerState(BoundNode? body) 2256static void assertBindIdentifierTargets(InMethodBinder? inMethodBinder, ConcurrentDictionary<IdentifierNameSyntax, int>? identifierMap, BoundNode methodBody, BindingDiagnosticBag diagnostics) 2319private static bool IsEmptyRewritePossible(BoundNode node) 2324var rewritten = rewriter.Visit(node); 2347public static bool FoundInUnboundLambda(BoundNode methodBody, IdentifierNameSyntax id) 2354public override BoundNode? VisitUnboundLambda(UnboundLambda node) 2370public override BoundNode? Visit(BoundNode? node) 2383public static BoundPropertyAccess? FindUncheckedAccess(BoundNode node) 2397public override BoundNode? Visit(BoundNode? node) 2407public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 2418public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 2426public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 2434public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 2442public override BoundNode? VisitBadExpression(BoundBadExpression node)
FlowAnalysis\AbstractFlowPass.cs (201)
65protected readonly BoundNode methodMainNode; 171protected readonly BoundNode firstInRegion, lastInRegion; 184BoundNode node, 185BoundNode firstInRegion = null, 186BoundNode lastInRegion = null, 259private void EnterRegionIfNeeded(BoundNode node) 276private void LeaveRegionIfNeeded(BoundNode node) 340public override BoundNode Visit(BoundNode node) 345protected BoundNode VisitAlways(BoundNode node) 347BoundNode result = null; 361private BoundNode VisitWithStackGuard(BoundNode node) 372protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 393public readonly BoundNode Branch; 402public PendingBranch(BoundNode branch, TLocalState state, LabelSymbol label, bool isConditionalState = false, TLocalState stateWhenTrue = default, TLocalState stateWhenFalse = default) 761protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target) 894public override BoundNode DefaultVisit(BoundNode node) 901public override BoundNode VisitAttribute(BoundAttribute node) 907public override BoundNode VisitThrowExpression(BoundThrowExpression node) 914public override BoundNode VisitPassByCopy(BoundPassByCopy node) 920public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1107public override BoundNode VisitConstantPattern(BoundConstantPattern node) 1113public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 1119public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 1124public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 1129private BoundNode VisitTupleExpression(BoundTupleExpression node) 1135public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 1142public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 1149public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 1156public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 1162public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 1170protected BoundNode? VisitInterpolatedStringBase(BoundInterpolatedStringBase node, InterpolatedStringHandlerData? data) 1201public override BoundNode VisitInterpolatedString(BoundInterpolatedString node) 1206public override BoundNode VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 1212public override BoundNode VisitStringInsert(BoundStringInsert node) 1228public override BoundNode VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1233public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1238public override BoundNode VisitArgList(BoundArgList node) 1245public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1252public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 1258public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1267public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 1273public override BoundNode VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 1279public override BoundNode VisitLambda(BoundLambda node) => null; 1281public override BoundNode VisitLocal(BoundLocal node) 1287public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 1304public override BoundNode VisitBlock(BoundBlock node) 1318public override BoundNode VisitScope(BoundScope node) 1324public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 1330public override BoundNode VisitCall(BoundCall node) 1480public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 1493public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 1506public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 1582public override BoundNode VisitBadExpression(BoundBadExpression node) 1592public override BoundNode VisitBadStatement(BoundBadStatement node) 1594foreach (var child in node.ChildBoundNodes) 1609public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1619public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1649public override BoundNode VisitTypeExpression(BoundTypeExpression node) 1654public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 1660public override BoundNode VisitLiteral(BoundLiteral node) 1666public override BoundNode VisitUtf8String(BoundUtf8String node) 1689public override BoundNode VisitLocalId(BoundLocalId node) 1694public override BoundNode VisitParameterId(BoundParameterId node) 1699public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1704public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 1709public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 1714public override BoundNode VisitModuleVersionId(BoundModuleVersionId node) 1719public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node) 1724public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 1729public override BoundNode VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 1734public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 1739public override BoundNode VisitConversion(BoundConversion node) 1770public sealed override BoundNode VisitIfStatement(BoundIfStatement node) 1821public override BoundNode VisitTryStatement(BoundTryStatement node) 1966public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock) 2017public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 2022public override BoundNode VisitReturnStatement(BoundReturnStatement node) 2024var result = VisitReturnStatementNoAdjust(node); 2030protected virtual BoundNode VisitReturnStatementNoAdjust(BoundReturnStatement node) 2043public override BoundNode VisitThisReference(BoundThisReference node) 2048public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 2053public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 2058public override BoundNode VisitParameter(BoundParameter node) 2067public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2074public override BoundNode VisitCollectionExpression(BoundCollectionExpression node) 2080public override BoundNode VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 2086private void VisitCollectionExpression(ImmutableArray<BoundNode> elements) 2088foreach (var element in elements) 2101public override BoundNode VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 2107public override BoundNode VisitNewT(BoundNewT node) 2113public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 2138public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2172public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2179public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 2185public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2230public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2257public override BoundNode VisitFieldInfo(BoundFieldInfo node) 2262public override BoundNode VisitMethodInfo(BoundMethodInfo node) 2267public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2297public override BoundNode VisitEventAccess(BoundEventAccess node) 2303public override BoundNode VisitRangeVariable(BoundRangeVariable node) 2308public override BoundNode VisitQueryClause(BoundQueryClause node) 2314private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node) 2324public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 2329public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 2338public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2353public override BoundNode VisitWithExpression(BoundWithExpression node) 2360public override BoundNode VisitArrayAccess(BoundArrayAccess node) 2371public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node) 2390public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2409public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 2785public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 2801public override BoundNode VisitRangeExpression(BoundRangeExpression node) 2816public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 2822public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 2829public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2853public override BoundNode VisitArrayCreation(BoundArrayCreation node) 2864public override BoundNode VisitForStatement(BoundForStatement node) 2897public override BoundNode VisitForEachStatement(BoundForEachStatement node) 2926public override BoundNode VisitAsOperator(BoundAsOperator node) 2932public override BoundNode VisitIsOperator(BoundIsOperator node) 2947public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2960public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 3136public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 3144public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 3163public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 3168public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 3182public override BoundNode VisitSequence(BoundSequence node) 3197public override BoundNode VisitSequencePoint(BoundSequencePoint node) 3207public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node) 3213public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 3223public override BoundNode VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 3228public override BoundNode VisitStatementList(BoundStatementList node) 3233private BoundNode VisitStatementListWorker(BoundStatementList node) 3243public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 3248public override BoundNode VisitUnboundLambda(UnboundLambda node) 3254public override BoundNode VisitBreakStatement(BoundBreakStatement node) 3262public override BoundNode VisitContinueStatement(BoundContinueStatement node) 3270public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 3275public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 3282protected virtual BoundNode? VisitConditionalOperatorCore( 3346public override BoundNode VisitBaseReference(BoundBaseReference node) 3351public override BoundNode VisitDoStatement(BoundDoStatement node) 3365public override BoundNode VisitGotoStatement(BoundGotoStatement node) 3388public override BoundNode VisitLabelStatement(BoundLabelStatement node) 3394public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 3401public override BoundNode VisitLockStatement(BoundLockStatement node) 3408public override BoundNode VisitNoOpStatement(BoundNoOpStatement node) 3413public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node) 3418public override BoundNode VisitUsingStatement(BoundUsingStatement node) 3441public override BoundNode VisitFixedStatement(BoundFixedStatement node) 3448public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 3454public override BoundNode VisitThrowStatement(BoundThrowStatement node) 3462public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 3470public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 3477public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 3482public override BoundNode VisitDefaultExpression(BoundDefaultExpression node) 3487public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3492public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 3498public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 3507public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 3527public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 3533public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 3540public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node) 3545private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 3552public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 3557public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 3562public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 3570public override BoundNode VisitArrayLength(BoundArrayLength node) 3576public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 3594public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 3599public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 3604private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers) 3614public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 3633public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 3638public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 3661public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 3667public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node) 3672public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node) 3678public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 3684public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node) 3690public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 3695public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 3700public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 3705public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node) 3710public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 3715public override BoundNode VisitDiscardExpression(BoundDiscardExpression node) 3726public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 3733public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 3739public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 3772public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 3778public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 3785public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 3810public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) 3815public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) 3820public override BoundNode VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node)
FlowAnalysis\AbstractFlowPass_LocalFunctions.cs (2)
64public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement localFunc) 123BoundNode branch = pending.Branch;
FlowAnalysis\AbstractFlowPass_Switch.cs (5)
18public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 131public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 145public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 150public override BoundNode VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 155private BoundNode VisitSwitchExpression(BoundSwitchExpression node)
FlowAnalysis\AbstractRegionControlFlowPass.cs (6)
17BoundNode node, 18BoundNode firstInRegion, 19BoundNode lastInRegion) 24public override BoundNode Visit(BoundNode node) 31public override BoundNode VisitLambda(BoundLambda node)
FlowAnalysis\AbstractRegionDataFlowPass.cs (6)
19BoundNode node, 20BoundNode firstInRegion, 21BoundNode lastInRegion, 44public override BoundNode VisitLambda(BoundLambda node) 50public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 56public override BoundNode VisitNameOfOperator(BoundNameOfOperator node)
FlowAnalysis\AlwaysAssignedWalker.cs (9)
28private AlwaysAssignedWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 33internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 93public override BoundNode VisitLabel(BoundLabel node) 99public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 105private void ResolveLabel(BoundNode node, LabelSymbol label)
FlowAnalysis\ControlFlowPass.cs (17)
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; 286public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock) 328public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 336public override BoundNode VisitGotoStatement(BoundGotoStatement node) 361if (_labelsDefined.TryGetValue(node.Label, out BoundNode target) && target == usingDecl.block) 385public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 398public override BoundNode VisitBlock(BoundBlock node) 411var result = base.VisitBlock(node);
FlowAnalysis\DataFlowsInWalker.cs (8)
27private DataFlowsInWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 81BoundNode gotoStmt, 93public override BoundNode VisitRangeVariable(BoundRangeVariable node)
FlowAnalysis\DataFlowsOutWalker.cs (10)
27private DataFlowsOutWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn) 33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn) 114private Symbol GetNodeSymbol(BoundNode node) 201protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 237private ParameterSymbol Param(BoundNode node) 247public override BoundNode VisitQueryClause(BoundQueryClause node)
FlowAnalysis\DefiniteAssignment.cs (50)
170BoundNode node, 195BoundNode node, 217BoundNode node, 218BoundNode firstInRegion, 219BoundNode lastInRegion, 236BoundNode node) 504BoundNode node, 735private void NoteRead(BoundNode fieldOrEventAccess) 738BoundNode n = fieldOrEventAccess; 1468protected void Assign(BoundNode node, BoundExpression value, bool isRef = false, bool read = true) 1485protected virtual void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 2087public override BoundNode? VisitBlock(BoundBlock node) 2172public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 2175var result = base.VisitSwitchStatement(node); 2187public override BoundNode VisitForStatement(BoundForStatement node) 2191var result = base.VisitForStatement(node); 2197public override BoundNode VisitDoStatement(BoundDoStatement node) 2200var result = base.VisitDoStatement(node); 2205public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2208var result = base.VisitWhileStatement(node); 2216public override BoundNode VisitUsingStatement(BoundUsingStatement node) 2220var result = base.VisitUsingStatement(node); 2237public override BoundNode VisitFixedStatement(BoundFixedStatement node) 2243public override BoundNode VisitSequence(BoundSequence node) 2246var result = base.VisitSequence(node); 2307public override BoundNode VisitLocal(BoundLocal node) 2338public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 2349var result = base.VisitLocalDeclaration(node); 2357public override BoundNode VisitLocalId(BoundLocalId node) 2360public override BoundNode VisitParameterId(BoundParameterId node) 2363public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 2366public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2378public override BoundNode VisitLambda(BoundLambda node) 2424public override BoundNode VisitThisReference(BoundThisReference node) 2431public override BoundNode VisitParameter(BoundParameter node) 2445public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2452public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2459public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2466public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2475public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 2493public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 2629public override BoundNode VisitBaseReference(BoundBaseReference node) 2635public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock) 2655public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2657var result = base.VisitFieldAccess(node); 2681public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2683var result = base.VisitPropertyAccess(node); 2704public override BoundNode VisitEventAccess(BoundEventAccess node) 2706var result = base.VisitEventAccess(node); 2735public 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 (210)
486BoundNode node, 1447BoundNode node, 1474BoundNode node, 1514internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody) 1532internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics) 1570private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody) 1585BoundNode node, 1597internal static BoundNode AnalyzeAndRewrite( 1600BoundNode node, 1616BoundNode node, 1673internal static BoundNode AnalyzeAndRewriteSpeculation( 1675BoundNode node, 1721private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1731var rewrittenNode = rewriter.Visit(node); 1755BoundNode node, 1837BoundNode node, 1947private void TakeIncrementalSnapshot(BoundNode? node) 1953private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 2295private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode 2309private void VisitWithoutDiagnostics(BoundNode? node) 3024public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue) 3059public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node) 3195public override BoundNode? VisitLocal(BoundLocal node) 3225public override BoundNode? VisitBlock(BoundBlock node) 3330public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3552public override BoundNode? VisitDoStatement(BoundDoStatement node) 3558public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 3564public override BoundNode? VisitWithExpression(BoundWithExpression withExpr) 3584public override BoundNode? VisitForStatement(BoundForStatement node) 3591public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 3597public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 3604public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 3610public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 3616public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 3643public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 3705protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 3797public override BoundNode? Visit(BoundNode? node) 3802private BoundNode VisitLValue(BoundNode node) 3821private BoundNode Visit(BoundNode? node, bool expressionIsRead) 3830var result = base.Visit(node); 3843public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 3849public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3857public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 3860var result = base.VisitUnconvertedCollectionExpression(node); 3865public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 3875foreach (var element in node.Elements) 3902void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Func<TypeWithAnnotations, TypeSymbol, TypeWithState>> elementConversionCompletions) 4058public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 4758public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 4819public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 4975BoundNode node, 5053public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 5087public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 5876public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 5913public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 6197public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 6203protected override BoundNode? VisitConditionalOperatorCore( 6494public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 6505public override BoundNode? VisitCall(BoundCall node) 6701BoundNode node, 7195private static bool HasImplicitTypeArguments(BoundNode node) 7261BoundNode node, 7283BoundNode node, 7322BoundNode node, 7512BoundNode node, 8565var elementsBuilder = ArrayBuilder<BoundNode>.GetInstance(collectionExpressionVisitResults.Length); 8897public override BoundNode? VisitConversion(BoundConversion node) 9034public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 9040public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 9263public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 10235public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 10411public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10506public override BoundNode? VisitLambda(BoundLambda node) 10555public override BoundNode? VisitUnboundLambda(UnboundLambda node) 10565public override BoundNode? VisitThisReference(BoundThisReference node) 10578public override BoundNode? VisitParameter(BoundParameter node) 10588public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 10767public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 10772private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt) 10884var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 10925var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 11084public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 11203BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder), 11233BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder), 11261public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 11357BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder), 11371BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder), 11392public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 11409public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 11456public override BoundNode? VisitBaseReference(BoundBaseReference node) 11462public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 11471private (PropertySymbol updatedProperty, bool returnNotNull) ReInferAndVisitExtensionPropertyAccess(BoundNode node, PropertySymbol property, BoundExpression receiver) 11490public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 11527public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 11551public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 11565public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 11573public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 11579public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 11585public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 11591public override BoundNode? VisitEventAccess(BoundEventAccess node) 11700BoundNode node, 11969Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder); 12006public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 12008var result = base.VisitFromEndIndexExpression(node); 12013public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 12019public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 12025public override BoundNode? VisitBadExpression(BoundBadExpression node) 12054public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 12056var result = base.VisitTypeExpression(node); 12067public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 12070var result = base.VisitTypeOrValueExpression(node); 12075public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 12186public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 12188var result = base.VisitPointerIndirectionOperator(node); 12194public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 12196var result = base.VisitPointerElementAccess(node); 12202public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 12209public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 12211var result = base.VisitMakeRefOperator(node); 12216public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 12218var result = base.VisitRefValueOperator(node); 12355BoundNode.GetConversion(binary.TrueFalseOperandConversion, binary.TrueFalseOperandPlaceholder), 12379public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 12381var result = base.VisitAwaitExpression(node); 12410public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 12412var result = base.VisitTypeOfOperator(node); 12417public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 12419var result = base.VisitMethodInfo(node); 12424public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 12426var result = base.VisitFieldInfo(node); 12431public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 12434var result = base.VisitDefaultLiteral(node); 12439public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 12443var result = base.VisitDefaultExpression(node); 12459public override BoundNode? VisitIsOperator(BoundIsOperator node) 12493public override BoundNode? VisitAsOperator(BoundAsOperator node) 12501switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind) 12521public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 12523var result = base.VisitSizeOfOperator(node); 12529public override BoundNode? VisitArgList(BoundArgList node) 12531var result = base.VisitArgList(node); 12537public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 12545public override BoundNode? VisitLiteral(BoundLiteral node) 12548var result = base.VisitLiteral(node); 12553public override BoundNode? VisitUtf8String(BoundUtf8String node) 12556var result = base.VisitUtf8String(node); 12561public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 12563var result = base.VisitPreviousSubmissionReference(node); 12569public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 12571var result = base.VisitHostObjectMemberReference(node); 12577public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 12579var result = base.VisitPseudoVariable(node); 12584public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 12586var result = base.VisitRangeExpression(node); 12591public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 12598public override BoundNode? VisitLabel(BoundLabel node) 12600var result = base.VisitLabel(node); 12605public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 12617public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 12637public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 12663public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 12669public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 12677public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 12685public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 12693public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 12695var result = base.VisitImplicitReceiver(node); 12700public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 12705public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 12711public override BoundNode? VisitNewT(BoundNewT node) 12717public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 12719var result = base.VisitArrayInitialization(node); 12729public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 12823public override BoundNode? VisitQueryClause(BoundQueryClause node) 12825var result = base.VisitQueryClause(node); 12830public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 12832var result = base.VisitNameOfOperator(node); 12837public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 12839var result = base.VisitNamespaceExpression(node); 12844public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 12847var result = base.VisitUnconvertedInterpolatedString(node); 12852public override BoundNode? VisitStringInsert(BoundStringInsert node) 12854var result = base.VisitStringInsert(node); 12865public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 12873public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 12879public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 12885public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 12890private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 12907public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 12915public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 12922public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 12945public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 12961public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 12985public override BoundNode? VisitLockStatement(BoundLockStatement node) 12993public override BoundNode? VisitAttribute(BoundAttribute node) 13006public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 13013public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 13021public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 13029public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 13052public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 13059public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 13627private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)> 13633public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y) 13644public int GetHashCode((BoundNode? expr, Symbol symbol) obj)
FlowAnalysis\NullableWalker.DebugVerifier.cs (30)
37public static void Verify(ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> analyzedNullabilityMap, SnapshotManager? snapshotManagerOpt, BoundNode node) 80protected override BoundNode? VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 89public override BoundNode? Visit(BoundNode? node) 105public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 117public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 127foreach (var element in node.Elements) 150public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 156public override BoundNode? VisitBadExpression(BoundBadExpression node) 175public override BoundNode? VisitQueryClause(BoundQueryClause node) 181public override BoundNode? VisitUnboundLambda(UnboundLambda node) 187public override BoundNode? VisitIfStatement(BoundIfStatement node) 214public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 241public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 247public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 253public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 260public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 275public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 288public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 294public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 319public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 336public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 342public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 350public override BoundNode? VisitListPattern(BoundListPattern node) 358public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 365public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 379public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 386public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 394public override BoundNode? VisitConversion(BoundConversion node)
FlowAnalysis\NullableWalker.SnapshotManager.cs (11)
31private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol> _updatedSymbolsMap; 35private SnapshotManager(ImmutableArray<SharedWalkerState> walkerSharedStates, ImmutableArray<(int position, Snapshot snapshot)> incrementalSnapshots, ImmutableDictionary<(BoundNode?, Symbol), Symbol> updatedSymbolsMap) 82internal bool TryGetUpdatedSymbol(BoundNode node, Symbol symbol, [NotNullWhen(true)] out Symbol? updatedSymbol) 104internal void VerifyNode(BoundNode node) 148private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol>.Builder _updatedSymbolMap = ImmutableDictionary.CreateBuilder<(BoundNode?, Symbol), Symbol>(ExpressionAndSymbolEqualityComparer.Instance, Symbols.SymbolEqualityComparer.ConsiderEverything); 208internal void TakeIncrementalSnapshot(BoundNode? node, LocalState currentState) 220internal void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 228internal void RemoveSymbolIfPresent(BoundNode node, Symbol symbol) 233private static (BoundNode?, Symbol) GetKey(BoundNode node, Symbol symbol)
FlowAnalysis\NullableWalker_Patterns.cs (17)
32private void VisitForRewriting(BoundNode node) 42public override BoundNode VisitPositionalSubpattern(BoundPositionalSubpattern node) 48public override BoundNode VisitPropertySubpattern(BoundPropertySubpattern node) 54public override BoundNode VisitRecursivePattern(BoundRecursivePattern node) 63public override BoundNode VisitConstantPattern(BoundConstantPattern node) 69public override BoundNode VisitDeclarationPattern(BoundDeclarationPattern node) 76public override BoundNode VisitDiscardPattern(BoundDiscardPattern node) 81public override BoundNode VisitSlicePattern(BoundSlicePattern node) 87public override BoundNode VisitListPattern(BoundListPattern node) 94public override BoundNode VisitTypePattern(BoundTypePattern node) 100public override BoundNode VisitRelationalPattern(BoundRelationalPattern node) 106public override BoundNode VisitNegatedPattern(BoundNegatedPattern node) 112public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 141public override BoundNode VisitITuplePattern(BoundITuplePattern node) 865public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 872public override BoundNode VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 1055public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node)
FlowAnalysis\ReadWriteWalker.cs (11)
22CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes, 70private ReadWriteWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 236protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 283public override BoundNode VisitUnboundLambda(UnboundLambda node) 288public override BoundNode VisitRangeVariable(BoundRangeVariable node) 300private static ParameterSymbol GetRangeVariableUnderlyingParameter(BoundNode underlying) 319public override BoundNode VisitQueryClause(BoundQueryClause node)
FlowAnalysis\RegionAnalysisContext.cs (5)
25public readonly BoundNode BoundNode; 27public readonly BoundNode FirstInRegion, LastInRegion; 34public RegionAnalysisContext(CSharpCompilation compilation, Symbol member, BoundNode boundNode, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\RegionReachableWalker.cs (6)
17internal static void Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 39private RegionReachableWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\UnassignedAddressTakenVariablesWalker.cs (3)
18private UnassignedAddressTakenVariablesWalker(CSharpCompilation compilation, Symbol member, BoundNode node) 23internal static HashSet<PrefixUnaryExpressionSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node) 60public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
FlowAnalysis\UnassignedVariablesWalker.cs (2)
21private UnassignedVariablesWalker(CSharpCompilation compilation, Symbol member, BoundNode node) 26internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node,
FlowAnalysis\VariablesDeclaredWalker.cs (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 (1125)
304public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldEqualsValue(this); 334public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyEqualsValue(this); 364public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterEqualsValue(this); 392public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGlobalStatementInitializer(this); 465public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValuePlaceholder(this); 493public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCapturedReceiverPlaceholder(this); 534public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructValuePlaceholder(this); 569public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleOperandPlaceholder(this); 598public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableValuePlaceholder(this); 633public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDisposableValuePlaceholder(this); 671public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectOrCollectionValuePlaceholder(this); 706public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerValuePlaceholder(this); 744public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this); 779public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this); 814public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this); 849public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this); 884public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this); 915public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this); 943public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this); 980public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this); 996public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false) 1005public ImmutableArray<BoundNode> ChildBoundNodes { get; } 1008public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this); 1010public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes) 1036public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this); 1071public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this); 1120public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this); 1161public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this); 1203public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this); 1251public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this); 1283public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this); 1312public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this); 1355public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this); 1387public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this); 1424public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this); 1461public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this); 1493public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this); 1523public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this); 1555public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this); 1587public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this); 1620public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this); 1677public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this); 1715public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this); 1768public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this); 1815public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this); 1849public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this); 1884public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this); 1925public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this); 1956public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this); 1995public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this); 2039public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this); 2072public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this); 2101public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefArrayAccess(this); 2131public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this); 2172public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this); 2207public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this); 2260public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this); 2292public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this); 2336public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this); 2379public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this); 2422public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this); 2457public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this); 2492public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this); 2530public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this); 2565public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowIfModuleCancellationRequested(this); 2600public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleCancellationTokenExpression(this); 2635public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this); 2670public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this); 2710public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this); 2753public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this); 2796public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this); 2825public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this); 2850public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this); 2885public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this); 2922public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this); 2954public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this); 3000public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this); 3033public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this); 3068public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this); 3099public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this); 3138public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this); 3177public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this); 3204public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this); 3241public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this); 3278public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this); 3309public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this); 3345public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this); 3374public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this); 3405public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this); 3441public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this); 3481public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this); 3511public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this); 3543public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this); 3574public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this); 3607public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this); 3635public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this); 3663public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this); 3677public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this); 3705public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this); 3742public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this); 3779public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this); 3824public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this); 3860public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this); 3893public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this); 3973public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this); 4003public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this); 4045public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this); 4094public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this); 4125public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this); 4164public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this); 4198public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this); 4229public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this); 4266public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this); 4307public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this); 4338public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this); 4378public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this); 4413public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this); 4448public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this); 4483public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this); 4512public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this); 4561public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this); 4606public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this); 4639public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this); 4679public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this); 4716public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this); 4748public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this); 4779public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this); 4816public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this); 4853public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this); 4886public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this); 4949public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this); 4977public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this); 5011public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this); 5039public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this); 5084public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this); 5118public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this); 5153public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this); 5190public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this); 5236public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this); 5265public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this); 5293public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this); 5319public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this); 5348public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this); 5379public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this); 5420public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this); 5449public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this); 5478public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this); 5509public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this); 5540public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this); 5587public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this); 5636public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this); 5665public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this); 5697public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this); 5730public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this); 5772public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this); 5808public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this); 5844public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this); 5883public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this); 5936public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this); 5969public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this); 6010public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this); 6048public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this); 6081public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this); 6122public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this); 6150public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this); 6209public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this); 6248public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this); 6293public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this); 6331public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this); 6403public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this); 6419protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false) 6428public ImmutableArray<BoundNode> Elements { get; } 6433public BoundUnconvertedCollectionExpression(SyntaxNode syntax, ImmutableArray<BoundNode> elements, bool hasErrors = false) 6444public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedCollectionExpression(this); 6446public BoundUnconvertedCollectionExpression Update(ImmutableArray<BoundNode> elements) 6460public BoundCollectionExpression(SyntaxNode syntax, CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type, bool hasErrors = false) 6489public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpression(this); 6491public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type) 6517public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadExpressionPlaceholder(this); 6557public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionExpressionSpreadElement(this); 6602public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this); 6632public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this); 6675public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this); 6707public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this); 6754public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this); 6803public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this); 6848public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this); 6876public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this); 6921public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this); 6953public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this); 6988public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this); 7024public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this); 7064public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this); 7094public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this); 7130public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this); 7162public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this); 7193public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this); 7239public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this); 7268public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this); 7308public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this); 7348public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this); 7386public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this); 7422public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this); 7473public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this); 7522public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this); 7563public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInlineArrayAccess(this); 7603public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this); 7643public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this); 7687public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this); 7728public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this); 7754public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this); 7791public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this); 7833public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this); 7861public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this); 7889public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this); 7927public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this); 7962public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this); 8004public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this); 8069public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this); 8109public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this); 8162public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this); 8203public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this); 8247public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this); 8286public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this); 8326public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this); 8368public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this); 8398public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this); 8430public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this); 8466public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this); 8505public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this); 8539public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this); 8578public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this); 8613public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this); 8641public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this); 8684public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this); 8710public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this); 8745public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this); 8781public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this); 8811public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this); 8842public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this); 8877public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this); 8895internal R VisitInternal(BoundNode node, A arg) 9607public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node); 9608public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node); 9609public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node); 9610public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node); 9611public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node); 9612public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node); 9613public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node); 9614public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node); 9615public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node); 9616public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node); 9617public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node); 9618public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node); 9619public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node); 9620public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node); 9621public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node); 9622public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node); 9623public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node); 9624public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node); 9625public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node); 9626public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node); 9627public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node); 9628public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node); 9629public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node); 9630public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node); 9631public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node); 9632public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node); 9633public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node); 9634public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node); 9635public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node); 9636public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node); 9637public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node); 9638public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node); 9639public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node); 9640public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node); 9641public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node); 9642public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node); 9643public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node); 9644public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node); 9645public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node); 9646public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node); 9647public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node); 9648public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node); 9649public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node); 9650public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node); 9651public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node); 9652public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node); 9653public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node); 9654public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node); 9655public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node); 9656public virtual BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) => this.DefaultVisit(node); 9657public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node); 9658public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node); 9659public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node); 9660public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node); 9661public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node); 9662public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node); 9663public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node); 9664public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node); 9665public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node); 9666public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node); 9667public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node); 9668public virtual BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => this.DefaultVisit(node); 9669public virtual BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => this.DefaultVisit(node); 9670public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node); 9671public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node); 9672public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node); 9673public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node); 9674public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node); 9675public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node); 9676public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node); 9677public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node); 9678public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node); 9679public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node); 9680public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node); 9681public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node); 9682public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node); 9683public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node); 9684public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node); 9685public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node); 9686public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node); 9687public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node); 9688public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node); 9689public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node); 9690public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node); 9691public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node); 9692public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node); 9693public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node); 9694public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node); 9695public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node); 9696public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node); 9697public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node); 9698public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node); 9699public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node); 9700public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node); 9701public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node); 9702public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node); 9703public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node); 9704public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node); 9705public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node); 9706public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node); 9707public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node); 9708public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node); 9709public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node); 9710public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node); 9711public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node); 9712public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node); 9713public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node); 9714public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node); 9715public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node); 9716public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node); 9717public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 9718public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node); 9719public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node); 9720public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node); 9721public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node); 9722public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node); 9723public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node); 9724public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node); 9725public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node); 9726public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node); 9727public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node); 9728public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node); 9729public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node); 9730public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node); 9731public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node); 9732public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node); 9733public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node); 9734public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 9735public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node); 9736public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node); 9737public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node); 9738public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node); 9739public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node); 9740public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node); 9741public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node); 9742public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node); 9743public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node); 9744public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node); 9745public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node); 9746public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node); 9747public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node); 9748public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node); 9749public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node); 9750public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node); 9751public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node); 9752public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node); 9753public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node); 9754public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node); 9755public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node); 9756public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node); 9757public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node); 9758public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node); 9759public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node); 9760public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node); 9761public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node); 9762public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node); 9763public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node); 9764public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node); 9765public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node); 9766public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node); 9767public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 9768public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node); 9769public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node); 9770public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node); 9771public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node); 9772public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node); 9773public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node); 9774public virtual BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) => this.DefaultVisit(node); 9775public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node); 9776public virtual BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => this.DefaultVisit(node); 9777public virtual BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) => this.DefaultVisit(node); 9778public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node); 9779public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node); 9780public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node); 9781public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node); 9782public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node); 9783public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node); 9784public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node); 9785public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node); 9786public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node); 9787public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node); 9788public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node); 9789public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node); 9790public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node); 9791public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node); 9792public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node); 9793public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node); 9794public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node); 9795public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node); 9796public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node); 9797public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node); 9798public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node); 9799public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node); 9800public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node); 9801public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node); 9802public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node); 9803public virtual BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) => this.DefaultVisit(node); 9804public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node); 9805public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node); 9806public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node); 9807public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node); 9808public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node); 9809public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node); 9810public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node); 9811public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node); 9812public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node); 9813public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node); 9814public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node); 9815public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node); 9816public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node); 9817public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node); 9818public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node); 9819public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node); 9820public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node); 9821public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node); 9822public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node); 9823public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node); 9824public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node); 9825public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node); 9826public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node); 9827public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node); 9828public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node); 9829public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node); 9830public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node); 9831public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node); 9832public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node); 9833public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node); 9834public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node); 9835public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node); 9836public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node); 9837public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node); 9838public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node); 9843public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 9848public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 9853public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 9858public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 9863public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null; 9864public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 9869public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null; 9870public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null; 9871public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null; 9872public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null; 9873public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null; 9874public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null; 9875public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => null; 9876public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null; 9877public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null; 9878public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null; 9879public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null; 9880public override BoundNode? VisitDup(BoundDup node) => null; 9881public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 9886public override BoundNode? VisitBadExpression(BoundBadExpression node) 9891public override BoundNode? VisitBadStatement(BoundBadStatement node) 9896public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 9901public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 9907public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null; 9908public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null; 9909public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 9914public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 9919public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 9924public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 9929public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null; 9930public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 9935public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 9941public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 9947public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 9952public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 9957public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 9962public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 9967public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 9973public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 9979public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 9985public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 9991public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 9997public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 10003public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 10009public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 10015public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 10021public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 10028public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 10035public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 10041public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 10046public override BoundNode? VisitArrayLength(BoundArrayLength node) 10051public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 10059public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 10065public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 10070public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 10076public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null; 10077public override BoundNode? VisitLocalId(BoundLocalId node) => null; 10078public override BoundNode? VisitParameterId(BoundParameterId node) => null; 10079public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null; 10080public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null; 10081public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null; 10082public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) => null; 10083public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) => null; 10084public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null; 10085public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null; 10086public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null; 10087public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null; 10088public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null; 10089public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null; 10090public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null; 10091public override BoundNode? VisitIsOperator(BoundIsOperator node) 10097public override BoundNode? VisitAsOperator(BoundAsOperator node) 10103public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 10108public override BoundNode? VisitConversion(BoundConversion node) 10113public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 10118public override BoundNode? VisitArgList(BoundArgList node) => null; 10119public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 10124public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 10129public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 10134public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 10139public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null; 10140public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null; 10141public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null; 10142public override BoundNode? VisitBlock(BoundBlock node) 10148public override BoundNode? VisitScope(BoundScope node) 10153public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 10158public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 10165public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 10170public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 10176public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 10182public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null; 10183public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 10188public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 10193public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null; 10194public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 10199public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 10204public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => null; 10205public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => null; 10206public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 10213public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 10218public override BoundNode? VisitIfStatement(BoundIfStatement node) 10225public override BoundNode? VisitDoStatement(BoundDoStatement node) 10231public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 10237public override BoundNode? VisitForStatement(BoundForStatement node) 10245public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 10254public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 10260public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 10268public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 10274public override BoundNode? VisitLockStatement(BoundLockStatement node) 10280public override BoundNode? VisitTryStatement(BoundTryStatement node) 10287public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 10295public override BoundNode? VisitLiteral(BoundLiteral node) => null; 10296public override BoundNode? VisitUtf8String(BoundUtf8String node) => null; 10297public override BoundNode? VisitThisReference(BoundThisReference node) => null; 10298public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null; 10299public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null; 10300public override BoundNode? VisitBaseReference(BoundBaseReference node) => null; 10301public override BoundNode? VisitLocal(BoundLocal node) => null; 10302public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null; 10303public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 10308public override BoundNode? VisitParameter(BoundParameter node) => null; 10309public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null; 10310public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 10316public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 10321public override BoundNode? VisitLabel(BoundLabel node) => null; 10322public override BoundNode? VisitStatementList(BoundStatementList node) 10327public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 10332public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 10339public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 10345public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 10351public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 10356public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 10362public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 10369public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 10376public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null; 10377public override BoundNode? VisitDagTemp(BoundDagTemp node) 10382public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 10387public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 10392public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 10397public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 10402public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 10407public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 10412public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 10417public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 10422public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 10427public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 10432public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 10441public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 10450public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 10456public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 10462public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 10468public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 10473public override BoundNode? VisitSequence(BoundSequence node) 10479public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 10485public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 10490public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 10496public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 10502public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 10509public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null; 10510public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 10516public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10521public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 10526public override BoundNode? VisitCall(BoundCall node) 10532public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 10538public override BoundNode? VisitAttribute(BoundAttribute node) 10544public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 10549public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 10555public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 10560public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 10565public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) => null; 10566public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 10571public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 10576public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 10581public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 10587public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 10592public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 10598public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 10603public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null; 10604public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 10610public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 10616public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 10622public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null; 10623public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 10629public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null; 10630public override BoundNode? VisitNewT(BoundNewT node) 10635public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 10640public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 10646public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 10651public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 10657public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 10663public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 10668public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null; 10669public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 10674public override BoundNode? VisitEventAccess(BoundEventAccess node) 10679public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 10685public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 10691public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 10697public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 10703public override BoundNode? VisitLambda(BoundLambda node) 10708public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null; 10709public override BoundNode? VisitQueryClause(BoundQueryClause node) 10714public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 10719public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 10724public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 10729public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 10734public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null; 10735public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null; 10736public override BoundNode? VisitStringInsert(BoundStringInsert node) 10743public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 10749public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 10754public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null; 10755public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 10761public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 10769public override BoundNode? VisitListPattern(BoundListPattern node) 10775public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 10780public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 10785public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 10790public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 10796public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 10801public override BoundNode? VisitTypePattern(BoundTypePattern node) 10806public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 10812public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 10817public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 10822public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null; 10823public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 10828public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 10833public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 10838public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null; 10839public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 10845public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 10852public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 10857public override BoundNode? VisitWithExpression(BoundWithExpression node) 10867public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 10874public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 10881public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 10888public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 10893public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 10898public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 10904public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 10910public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 10915public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 10920public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 10925public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 10930public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 10935public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 10940public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 10945public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 10950public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 10955public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 10960public override BoundNode? VisitDup(BoundDup node) 10965public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 10971public override BoundNode? VisitBadExpression(BoundBadExpression node) 10978public override BoundNode? VisitBadStatement(BoundBadStatement node) 10980ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes); 10983public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 10988public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 10996public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 11002public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 11009public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 11018public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 11031public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 11037public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 11043public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 11050public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 11056public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 11063public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 11070public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 11077public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 11083public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 11089public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 11096public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 11104public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 11111public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 11118public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 11132public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 11144public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 11151public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 11158public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 11167public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 11174public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 11182public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 11191public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 11198public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 11204public override BoundNode? VisitArrayLength(BoundArrayLength node) 11210public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 11220public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 11227public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 11234public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 11241public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 11247public override BoundNode? VisitLocalId(BoundLocalId node) 11254public override BoundNode? VisitParameterId(BoundParameterId node) 11261public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 11266public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 11271public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 11276public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 11281public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 11286public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 11291public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 11296public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 11301public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 11308public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 11315public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 11320public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 11326public override BoundNode? VisitIsOperator(BoundIsOperator node) 11333public override BoundNode? VisitAsOperator(BoundAsOperator node) 11342public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 11348public override BoundNode? VisitConversion(BoundConversion node) 11354public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 11361public override BoundNode? VisitArgList(BoundArgList node) 11366public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 11372public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 11382public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 11387public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 11392public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node; 11393public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node; 11394public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node; 11395public override BoundNode? VisitBlock(BoundBlock node) 11403public override BoundNode? VisitScope(BoundScope node) 11409public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 11415public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 11423public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 11428public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 11434public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 11441public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node; 11442public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 11447public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 11452public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node; 11453public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 11458public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 11463public override BoundNode? VisitBreakStatement(BoundBreakStatement node) 11468public override BoundNode? VisitContinueStatement(BoundContinueStatement node) 11473public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 11484public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 11490public override BoundNode? VisitIfStatement(BoundIfStatement node) 11497public override BoundNode? VisitDoStatement(BoundDoStatement node) 11506public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 11515public override BoundNode? VisitForStatement(BoundForStatement node) 11527public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 11541public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 11547public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 11556public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 11563public override BoundNode? VisitLockStatement(BoundLockStatement node) 11569public override BoundNode? VisitTryStatement(BoundTryStatement node) 11577public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11587public override BoundNode? VisitLiteral(BoundLiteral node) 11592public override BoundNode? VisitUtf8String(BoundUtf8String node) 11597public override BoundNode? VisitThisReference(BoundThisReference node) 11602public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 11607public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 11612public override BoundNode? VisitBaseReference(BoundBaseReference node) 11617public override BoundNode? VisitLocal(BoundLocal node) 11623public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 11629public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 11636public override BoundNode? VisitParameter(BoundParameter node) 11642public override BoundNode? VisitLabelStatement(BoundLabelStatement node) 11647public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 11654public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 11660public override BoundNode? VisitLabel(BoundLabel node) 11666public override BoundNode? VisitStatementList(BoundStatementList node) 11671public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 11677public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11686public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 11695public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 11705public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 11710public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 11716public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 11723public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 11730public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) 11735public override BoundNode? VisitDagTemp(BoundDagTemp node) 11741public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 11747public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 11752public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 11757public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 11762public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 11767public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 11773public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 11779public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 11785public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 11791public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 11797public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 11807public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 11817public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 11823public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 11830public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 11837public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 11843public override BoundNode? VisitSequence(BoundSequence node) 11851public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 11859public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 11865public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 11873public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 11880public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 11889public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 11894public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 11901public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11910public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 11917public override BoundNode? VisitCall(BoundCall node) 11926public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 11934public override BoundNode? VisitAttribute(BoundAttribute node) 11942public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 11948public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 11957public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 11959ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 11963public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 11971ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 11975public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 11980public override BoundNode? VisitCollectionExpressionSpreadElement(BoundCollectionExpressionSpreadElement node) 11990public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11996public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 12003public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 12011public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 12017public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 12024public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 12032public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 12038public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 12045public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 12053public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 12061public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 12066public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 12074public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 12080public override BoundNode? VisitNewT(BoundNewT node) 12086public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 12093public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 12100public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 12106public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 12114public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 12122public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 12129public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 12135public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 12142public override BoundNode? VisitEventAccess(BoundEventAccess node) 12149public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 12158public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 12169public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 12176public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 12184public override BoundNode? VisitLambda(BoundLambda node) 12192public override BoundNode? VisitUnboundLambda(UnboundLambda node) 12198public override BoundNode? VisitQueryClause(BoundQueryClause node) 12208public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 12213public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 12219public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 12225public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 12231public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 12236public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 12241public override BoundNode? VisitStringInsert(BoundStringInsert node) 12249public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 12259public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 12266public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 12272public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 12281public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 12293public override BoundNode? VisitListPattern(BoundListPattern node) 12306public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 12316public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 12325public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 12331public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 12337public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 12344public override BoundNode? VisitTypePattern(BoundTypePattern node) 12351public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 12359public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 12366public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 12373public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 12378public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 12384public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 12391public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 12398public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 12404public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 12410public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 12418public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 12424public override BoundNode? VisitWithExpression(BoundWithExpression node) 12447public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 12455public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 12463public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 12471public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 12483public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 12500public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 12517public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 12529public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 12541public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 12553public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 12565public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 12577public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 12589public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 12601public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 12613public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 12625public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 12637public override BoundNode? VisitDup(BoundDup node) 12649public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 12666public override BoundNode? VisitBadExpression(BoundBadExpression node) 12684public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 12702public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 12719public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 12731public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 12751public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 12775public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 12792public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 12809public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 12827public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 12844public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 12862public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 12880public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 12898public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 12915public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 12932public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 12950public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 12969public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 12987public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 13005public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 13023public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 13043public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 13061public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 13080public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 13100public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 13118public override BoundNode? VisitRefArrayAccess(BoundRefArrayAccess node) 13135public override BoundNode? VisitArrayLength(BoundArrayLength node) 13152public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 13163public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13181public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 13199public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 13207public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 13224public override BoundNode? VisitLocalId(BoundLocalId node) 13242public override BoundNode? VisitParameterId(BoundParameterId node) 13260public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 13272public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 13284public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 13296public override BoundNode? VisitThrowIfModuleCancellationRequested(BoundThrowIfModuleCancellationRequested node) 13308public override BoundNode? VisitModuleCancellationTokenExpression(ModuleCancellationTokenExpression node) 13320public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 13332public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 13344public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 13356public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 13374public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 13392public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 13404public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 13421public override BoundNode? VisitIsOperator(BoundIsOperator node) 13439public override BoundNode? VisitAsOperator(BoundAsOperator node) 13459public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 13476public override BoundNode? VisitConversion(BoundConversion node) 13493public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 13511public override BoundNode? VisitArgList(BoundArgList node) 13523public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 13540public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 13561public override BoundNode? VisitBlock(BoundBlock node) 13570public override BoundNode? VisitScope(BoundScope node) 13577public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 13584public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 13593public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 13601public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 13612public override BoundNode? VisitDoStatement(BoundDoStatement node) 13620public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 13628public override BoundNode? VisitForStatement(BoundForStatement node) 13639public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 13652public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 13662public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 13670public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13681public override BoundNode? VisitLiteral(BoundLiteral node) 13693public override BoundNode? VisitUtf8String(BoundUtf8String node) 13705public override BoundNode? VisitThisReference(BoundThisReference node) 13717public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 13729public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 13741public override BoundNode? VisitBaseReference(BoundBaseReference node) 13753public override BoundNode? VisitLocal(BoundLocal node) 13770public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 13787public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 13805public override BoundNode? VisitParameter(BoundParameter node) 13822public override BoundNode? VisitLabel(BoundLabel node) 13834public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 13843public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 13862public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 13882public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 13889public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 13896public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 13903public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 13910public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 13921public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 13932public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 13940public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 13957public override BoundNode? VisitSequence(BoundSequence node) 13976public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 13995public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 14012public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 14031public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 14049public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 14069public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 14081public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 14099public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 14119public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 14137public override BoundNode? VisitCall(BoundCall node) 14157public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 14176public override BoundNode? VisitAttribute(BoundAttribute node) 14195public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 14212public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 14232public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 14234ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14249public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 14257ImmutableArray<BoundNode> elements = this.VisitList(node.Elements); 14272public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 14284public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 14301public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 14319public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 14338public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 14355public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 14373public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 14392public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 14409public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 14427public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 14446public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 14465public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 14477public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 14496public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 14513public override BoundNode? VisitNewT(BoundNewT node) 14530public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 14548public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 14566public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 14583public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 14602public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 14621public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 14639public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 14656public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14674public override BoundNode? VisitEventAccess(BoundEventAccess node) 14692public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 14712public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 14730public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 14749public override BoundNode? VisitLambda(BoundLambda node) 14768public override BoundNode? VisitUnboundLambda(UnboundLambda node) 14785public override BoundNode? VisitQueryClause(BoundQueryClause node) 14806public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 14823public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 14840public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 14857public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 14869public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 14881public override BoundNode? VisitStringInsert(BoundStringInsert node) 14900public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 14919public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 14927public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 14934public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 14944public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 14957public override BoundNode? VisitListPattern(BoundListPattern node) 14971public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 14982public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 14992public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 14999public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 15006public override BoundNode? VisitTypePattern(BoundTypePattern node) 15014public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 15022public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 15030public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 15042public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 15059public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 15077public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 15095public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 15112public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 15121public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 15138public override BoundNode? VisitWithExpression(BoundWithExpression node) 15163public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (19)
172public override BoundNode VisitTryStatement(BoundTryStatement node) 182var result = visitTryStatement(node, tryStatementSyntax); 187BoundNode visitTryStatement(BoundTryStatement node, SyntaxNode tryStatementSyntax) 398public override BoundNode VisitGotoStatement(BoundGotoStatement node) 406public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 412public override BoundNode VisitReturnStatement(BoundReturnStatement node) 581public override BoundNode VisitCatchBlock(BoundCatchBlock node) 586private BoundNode VisitCatchBlock(BoundCatchBlock node, AwaitCatchFrame parentAwaitCatchFrame) 596var result = base.VisitCatchBlock(node); 741public override BoundNode VisitLocal(BoundLocal node) 753public override BoundNode VisitThrowStatement(BoundThrowStatement node) 765public override BoundNode VisitLambda(BoundLambda node) 791public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 879public override BoundNode VisitTryStatement(BoundTryStatement node) 921public override BoundNode VisitCatchBlock(BoundCatchBlock node) 926var result = base.VisitCatchBlock(node); 943public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 949public override BoundNode VisitLambda(BoundLambda node) 965public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (4)
262public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 315public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 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) 662public sealed override BoundNode VisitReturnStatement(BoundReturnStatement node)
Lowering\AsyncRewriter\AsyncRewriter.cs (4)
95return new BoundBadStatement(bodyWithAwaitLifted.Syntax, ImmutableArray.Create<BoundNode>(bodyWithAwaitLifted), hasErrors: true); 223return new BoundBadStatement(F.Syntax, ImmutableArray<BoundNode>.Empty, hasErrors: true); 306public static bool ContainsAwait(BoundNode node) 313public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (16)
91public override BoundNode? Visit(BoundNode? node) 96var result = base.Visit(node); 104var result = Visit(node); 108public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 142var call = Visit(awaitableInfo.RuntimeAsyncAwaitCall); 210public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 215public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 265private bool TryReplaceWithProxy(Symbol localOrParameter, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 277public override BoundNode VisitLocal(BoundLocal node) 279if (TryReplaceWithProxy(node.LocalSymbol, node.Syntax, out BoundNode? replacement)) 288public override BoundNode? VisitParameter(BoundParameter node) 290if (TryReplaceWithProxy(node.ParameterSymbol, node.Syntax, out BoundNode? replacement)) 302public override BoundNode? VisitThisReference(BoundThisReference node) 307if (TryReplaceWithProxy(thisParameter, node.Syntax, out BoundNode? replacement)) 316public 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) 240public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node)
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (7)
71BoundNode node, 105private static BoundNode FindNodeToAnalyze(BoundNode node) 607/// the given <see cref="BoundNode"/>. 609public static Scope GetScopeParent(Scope treeRoot, BoundNode scopeNode) 616/// Finds a <see cref="Scope" /> with a matching <see cref="BoundNode"/> 619public static Scope GetScopeWithMatchingBoundNode(Scope treeRoot, BoundNode node)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (26)
61public readonly BoundNode BoundNode; 80public Scope(Scope parent, BoundNode boundNode, NestedFunction containingFunction) 272/// <see cref="Build(BoundNode, MethodSymbol, HashSet{MethodSymbol}, DiagnosticBag)"/> 368BoundNode node, 413public override BoundNode VisitMethodGroup(BoundMethodGroup node) 416public override BoundNode VisitBlock(BoundBlock node) 420var result = base.VisitBlock(node); 425public override BoundNode VisitCatchBlock(BoundCatchBlock node) 429var result = base.VisitCatchBlock(node); 434public override BoundNode VisitSequence(BoundSequence node) 438var result = base.VisitSequence(node); 443public override BoundNode VisitLambda(BoundLambda node) 449var result = VisitNestedFunction(node.Symbol, node.Body); 455public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 469public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 481public override BoundNode VisitParameter(BoundParameter node) 487public override BoundNode VisitLocal(BoundLocal node) 493public override BoundNode VisitBaseReference(BoundBaseReference node) 499public override BoundNode VisitThisReference(BoundThisReference node) 522public override BoundNode VisitLabelStatement(BoundLabelStatement node) 529public override BoundNode VisitGotoStatement(BoundGotoStatement node) 536public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 569private BoundNode? VisitNestedFunction(MethodSymbol functionSymbol, BoundBlock? body) 596var result = _inExpressionTree 710private void PushOrReuseScope<TSymbol>(BoundNode node, ImmutableArray<TSymbol> locals) 730private void CreateAndPushScope(BoundNode node)
Lowering\ClosureConversion\ClosureConversion.cs (33)
88private readonly Dictionary<BoundNode, Analysis.ClosureEnvironment> _frames = new Dictionary<BoundNode, Analysis.ClosureEnvironment>(); 337static partial void CheckLocalsDefined(BoundNode node); 370var scopeBoundNode = scope.BoundNode; 640private static void InsertAndFreePrologue<T>(ArrayBuilder<BoundStatement> result, ArrayBuilder<T> prologue) where T : BoundNode 650result.Add(new BoundExpressionStatement(node.Syntax, (BoundExpression)(BoundNode)node)); 664private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F) 730var result = F(prologue, addedLocals); 824protected override BoundNode VisitUnhoistedParameter(BoundParameter node) 835public override BoundNode VisitThisReference(BoundThisReference node) 852public override BoundNode VisitBaseReference(BoundBaseReference node) 859public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1074public override BoundNode VisitCall(BoundCall node) 1108var visited = base.VisitCall(node); 1155public override BoundNode VisitBlock(BoundBlock node) 1203public override BoundNode VisitScope(BoundScope node) 1217public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1233private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) 1291public override BoundNode VisitSequence(BoundSequence node) 1307public override BoundNode VisitStatementList(BoundStatementList node) 1332public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1365public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 1392public override BoundNode VisitConversion(BoundConversion conversion) 1422public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1427BoundNode lambdaScope; 1519out BoundNode lambdaScope, 1536BoundNode tmpScope = null; 1621private BoundNode RewriteLambdaConversion(BoundLambda node) 1631var result0 = wasInExpressionLambda ? node : ExpressionLambdaRewriter.RewriteLambda(node, CompilationState, TypeMap, RecursionDepth, Diagnostics); 1639BoundNode lambdaScope; 1791public override BoundNode VisitLambda(BoundLambda node)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
112internal static BoundNode RewriteLambda(BoundLambda node, TypeCompilationState compilationState, TypeMap typeMap, int recursionDepth, BindingDiagnosticBag diagnostics) 878if (BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder) is { IsUserDefined: true } leftConversion)
Lowering\DiagnosticsPass_ExpressionTrees.cs (70)
31public static void IssueDiagnostics(CSharpCompilation compilation, BoundNode node, BindingDiagnosticBag diagnostics, MethodSymbol containingSymbol) 59private void Error(ErrorCode code, BoundNode node, params object[] args) 69private void NoteUnsafe(BoundNode node) 78public override BoundNode VisitArrayCreation(BoundArrayCreation node) 89public override BoundNode VisitArrayAccess(BoundArrayAccess node) 101public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 111public override BoundNode VisitInlineArrayAccess(BoundInlineArrayAccess node) 121public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 131public override BoundNode VisitRangeExpression(BoundRangeExpression node) 141public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node) 151public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 160var result = base.VisitLocalFunctionStatement(node); 165public override BoundNode VisitThisReference(BoundThisReference node) 171public override BoundNode VisitBaseReference(BoundBaseReference node) 181public override BoundNode VisitLocal(BoundLocal node) 187public override BoundNode VisitParameter(BoundParameter node) 229public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 239public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 249public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 261public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 271public override BoundNode VisitEventAccess(BoundEventAccess node) 284public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 297public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 312BoundNode node) 396public override BoundNode Visit(BoundNode node) 410public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 420public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 430public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 440public override BoundNode VisitArgListOperator(BoundArgListOperator node) 450public override BoundNode VisitConditionalAccess(BoundConditionalAccess node) 460public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 482public override BoundNode VisitCall(BoundCall node) 546public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 557public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 563public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 575private void CheckRefReturningPropertyAccess(BoundNode node, PropertySymbol property) 583public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 604public override BoundNode VisitLambda(BoundLambda node) 688var result = base.VisitLambda(node); 693public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 723public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 745public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 795public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 809public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 820public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 830public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 836public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 842public override BoundNode VisitConversion(BoundConversion node) 905var result = base.VisitConversion(node); 911public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 925public override BoundNode VisitMethodGroup(BoundMethodGroup node) 963public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 970public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 980public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 990public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 1006public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 1017public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 1027public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 1037public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 1047public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1057public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 1067public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 1077public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 1087public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1097public override BoundNode VisitWithExpression(BoundWithExpression node) 1107public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1117public override BoundNode VisitCollectionExpression(BoundCollectionExpression node) 1131public override BoundNode VisitIfStatement(BoundIfStatement node) 1158public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
Lowering\DiagnosticsPass_Warnings.cs (4)
350private static bool ConvertedHasEqual(BinaryOperatorKind oldOperatorKind, BoundNode node, out TypeSymbol type) 392private void CheckVacuousComparisons(BoundBinaryOperator tree, ConstantValue constantValue, BoundNode operand) 930public override BoundNode VisitFieldAccess(BoundFieldAccess node) 936public override BoundNode VisitPropertyGroup(BoundPropertyGroup node)
Lowering\ExtensionMethodBodyRewriter.cs (10)
82public override BoundNode? VisitThisReference(BoundThisReference node) 92public override BoundNode? VisitLambda(BoundLambda node) 108public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 121public override BoundNode VisitBlock(BoundBlock node) 137var result = base.VisitBlock(node); 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)
413private bool TryGetLocalOrParameterInfo(BoundNode node, [NotNullWhen(true)] out Symbol? symbol, [NotNullWhen(true)] out TypeSymbol? type, [NotNullWhen(true)] out BoundExpression? indexExpression)
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (5)
327public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 332public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 356public override BoundNode VisitGotoStatement(BoundGotoStatement node) 365public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 371public override BoundNode VisitTryStatement(BoundTryStatement node)
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.YieldsInTryAnalysis.cs (4)
59public override BoundNode VisitTryStatement(BoundTryStatement node) 102public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 108public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 124public override BoundNode VisitLabelStatement(BoundLabelStatement node)
Lowering\LocalRewriter\LocalRewriter.cs (41)
173return new BoundBadStatement(statement.Syntax, ImmutableArray.Create<BoundNode>(statement), hasErrors: true); 203public override BoundNode? Visit(BoundNode? node) 312public override BoundNode? VisitParameter(BoundParameter node) 326public override BoundNode VisitLambda(BoundLambda node) 380public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 455public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 460public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 465public override BoundNode VisitValuePlaceholder(BoundValuePlaceholder node) 470public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 475public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 485public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 488public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 491public override BoundNode? VisitCollectionExpressionSpreadExpressionPlaceholder(BoundCollectionExpressionSpreadExpressionPlaceholder node) 556public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 562public override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 568public override BoundNode VisitBadExpression(BoundBadExpression node) 646public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 679public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 745public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 817public override BoundNode VisitArrayAccess(BoundArrayAccess node) 834BoundNode resultExpr; 1170public override BoundNode? Visit(BoundNode? node) 1184public static void Validate(BoundNode node) 1196public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 1202public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 1208public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 1214public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 1220public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 1226public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 1232public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 1238public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 1244public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 1250public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 1256public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 1262public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 1268public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 1274public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1280public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1286private void Fail(BoundNode node)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (16)
141public override BoundNode Visit(BoundNode node) 178public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 192public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 198public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 204public override BoundNode VisitConversion(BoundConversion node) 237public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 250public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 256public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 262public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 268public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 279public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 290public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 300public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 311public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 326public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node)
Lowering\LocalRewriter\LocalRewriter.PlaceholderReplacer.cs (6)
23var result = new PlaceholderReplacer(placeholders).Visit(expr); 28private BoundNode ReplacePlaceholder(BoundEarlyValuePlaceholderBase placeholder) 35public override BoundNode VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 40public override BoundNode VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 45public override BoundNode VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 50public override BoundNode VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node)
Lowering\LocalRewriter\LocalRewriter_AnonymousObjectCreation.cs (1)
15public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node)
Lowering\LocalRewriter\LocalRewriter_AsOperator.cs (4)
16public override BoundNode VisitAsOperator(BoundAsOperator node) 25public override BoundNode VisitTypeExpression(BoundTypeExpression node) 27var result = base.VisitTypeExpression(node); 49var conversion = BoundNode.GetConversion(operandConversion, operandPlaceholder);
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
15public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node)
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
13public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (2)
16public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 21public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
Lowering\LocalRewriter\LocalRewriter_Block.cs (2)
14public override BoundNode VisitBlock(BoundBlock node) 127public override BoundNode VisitNoOpStatement(BoundNoOpStatement node)
Lowering\LocalRewriter\LocalRewriter_BreakStatement.cs (1)
13public override BoundNode VisitBreakStatement(BoundBreakStatement node)
Lowering\LocalRewriter\LocalRewriter_Call.cs (3)
18public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 336public override BoundNode VisitCall(BoundCall node) 1737public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (14)
18public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 24public override BoundNode? VisitUnconvertedCollectionExpression(BoundUnconvertedCollectionExpression node) 98static bool canOptimizeListElement(BoundNode element, MethodSymbol addMethod) 117static BoundNode unwrapListElement(BoundCollectionExpression node, BoundNode element) 408foreach (var element in elements) 602ImmutableArray<BoundNode> elements, 1116private BoundExpression CreateAndPopulateList(BoundCollectionExpression node, TypeWithAnnotations elementType, ImmutableArray<BoundNode> elements) 1324private BoundExpression RewriteCollectionExpressionElementExpression(BoundNode element) 1333ImmutableArray<BoundNode> elements, 1349ImmutableArray<BoundNode> elements, 1359var element = elements[i]; 1394private BoundExpression GetKnownLengthExpression(ImmutableArray<BoundNode> elements, int numberIncludingLastSpread, ArrayBuilder<BoundLocal> rewrittenExpressions) 1403var element = elements[i];
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
17public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.cs (3)
13public override BoundNode VisitConditionalAccess(BoundConditionalAccess node) 19public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 202public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node)
Lowering\LocalRewriter\LocalRewriter_ConditionalOperator.cs (1)
18public override BoundNode VisitConditionalOperator(BoundConditionalOperator node)
Lowering\LocalRewriter\LocalRewriter_ContinueStatement.cs (1)
13public override BoundNode VisitContinueStatement(BoundContinueStatement node)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (2)
18public override BoundNode VisitConversion(BoundConversion node) 87public override BoundNode VisitUtf8String(BoundUtf8String node)
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (3)
17public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 237BoundNode.GetConversion(nestedConversion, placeholder), temps, effects, isUsed, inInit); 373if (BoundNode.GetConversion(conversion, placeholder).IsIdentity)
Lowering\LocalRewriter\LocalRewriter_DelegateCreationExpression.cs (1)
14public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node)
Lowering\LocalRewriter\LocalRewriter_DoStatement.cs (1)
15public override BoundNode VisitDoStatement(BoundDoStatement node)
Lowering\LocalRewriter\LocalRewriter_Event.cs (2)
19public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 209public override BoundNode VisitEventAccess(BoundEventAccess node)
Lowering\LocalRewriter\LocalRewriter_ExpressionStatement.cs (1)
14public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
Lowering\LocalRewriter\LocalRewriter_Field.cs (1)
11public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (5)
17public override BoundNode VisitFixedStatement(BoundFixedStatement node) 167private Dictionary<BoundNode, HashSet<LabelSymbol>>? _lazyUnmatchedLabelCache; 175private bool HasGotoOut(BoundNode node) 179_lazyUnmatchedLabelCache = new Dictionary<BoundNode, HashSet<LabelSymbol>>(); 189public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (8)
34public override BoundNode VisitForEachStatement(BoundForEachStatement node) 141BoundNode node, 585BoundNode node, 886BoundNode node, 1035BoundNode node, 1266private void InstrumentForEachStatementCollectionVarDeclaration(BoundNode node, [NotNullIfNotNull(nameof(collectionVarDecl))] ref BoundStatement? collectionVarDecl) 1274private void InstrumentForEachStatementIterationVarDeclaration(BoundNode node, ref BoundStatement iterationVarDecl) 1290private void InstrumentForEachStatement(BoundNode node, ref BoundStatement result)
Lowering\LocalRewriter\LocalRewriter_ForStatement.cs (2)
15public override BoundNode VisitForStatement(BoundForStatement node) 41BoundNode original,
Lowering\LocalRewriter\LocalRewriter_FunctionPointerInvocation.cs (1)
14public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
Lowering\LocalRewriter\LocalRewriter_GotoStatement.cs (2)
13public override BoundNode VisitGotoStatement(BoundGotoStatement node) 33public override BoundNode? VisitLabel(BoundLabel node)
Lowering\LocalRewriter\LocalRewriter_HostObjectMemberReference.cs (1)
11public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
Lowering\LocalRewriter\LocalRewriter_IfStatement.cs (1)
14public override BoundNode VisitIfStatement(BoundIfStatement node)
Lowering\LocalRewriter\LocalRewriter_Index.cs (1)
13public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (10)
39public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 67public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 238public override BoundNode? VisitInlineArrayAccess(BoundInlineArrayAccess node) 437public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 442public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 447public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 452public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 457public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 462public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 467public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node)
Lowering\LocalRewriter\LocalRewriter_IsOperator.cs (1)
16public override BoundNode VisitIsOperator(BoundIsOperator node)
Lowering\LocalRewriter\LocalRewriter_IsPatternOperator.cs (1)
15public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node)
Lowering\LocalRewriter\LocalRewriter_LabeledStatement.cs (1)
14public override BoundNode VisitLabeledStatement(BoundLabeledStatement node)
Lowering\LocalRewriter\LocalRewriter_Literal.cs (1)
17public override BoundNode VisitLiteral(BoundLiteral node)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.cs (2)
14public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 86public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node)
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (1)
22public override BoundNode VisitLockStatement(BoundLockStatement node)
Lowering\LocalRewriter\LocalRewriter_MultipleLocalDeclarations.cs (4)
14public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 19public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 24private BoundNode? VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node) 30var init = VisitLocalDeclaration(decl);
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (1)
14public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node)
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (5)
13public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 33Debug.Assert(BoundNode.GetConversion(leftConversion, leftPlaceholder).IsValid); 92BoundNode.GetConversion(leftConversion, leftPlaceholder) is { Kind: ConversionKind.Identity or ConversionKind.ImplicitReference }) 99if (BoundNode.GetConversion(leftConversion, leftPlaceholder) is { IsIdentity: true } or { Kind: ConversionKind.ExplicitNullable }) 240Debug.Assert(BoundNode.GetConversion(leftConversion, leftPlaceholder).IsValid);
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (5)
16public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 31public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 131public override BoundNode VisitWithExpression(BoundWithExpression withExpr) 307public override BoundNode VisitNewT(BoundNewT node) 364public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
436var rewrittenArrayAccess = VisitArrayAccess((BoundArrayAccess)left);
Lowering\LocalRewriter\LocalRewriter_PatternSwitchStatement.cs (1)
16public override BoundNode VisitSwitchStatement(BoundSwitchStatement node)
Lowering\LocalRewriter\LocalRewriter_PointerElementAccess.cs (1)
12public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node)
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.cs (1)
12public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (1)
15public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
Lowering\LocalRewriter\LocalRewriter_Query.cs (2)
13public override BoundNode VisitRangeVariable(BoundRangeVariable node) 18public override BoundNode VisitQueryClause(BoundQueryClause node)
Lowering\LocalRewriter\LocalRewriter_Range.cs (1)
17public override BoundNode VisitRangeExpression(BoundRangeExpression node)
Lowering\LocalRewriter\LocalRewriter_ReturnStatement.cs (1)
13public override BoundNode VisitReturnStatement(BoundReturnStatement node)
Lowering\LocalRewriter\LocalRewriter_StackAlloc.cs (3)
15public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression stackAllocNode) 20public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation stackAllocNode) 25private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase stackAllocNode)
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (1)
143public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
17public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
Lowering\LocalRewriter\LocalRewriter_ThrowStatement.cs (1)
9public override BoundNode VisitThrowStatement(BoundThrowStatement node)
Lowering\LocalRewriter\LocalRewriter_TryStatement.cs (4)
14public override BoundNode VisitTryStatement(BoundTryStatement node) 38? (BoundNode)tryBlock 39: (BoundNode)node.Update(tryBlock, catchBlocks, finallyBlockOpt, node.FinallyLabelOpt, node.PreferFaultHandler); 78public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (1)
28public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (3)
15public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 20public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 25private BoundNode VisitTupleExpression(BoundTupleExpression node)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (2)
30public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 388public override BoundNode VisitIncrementOperator(BoundIncrementOperator node)
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
35public override BoundNode VisitUsingStatement(BoundUsingStatement node)
Lowering\LocalRewriter\LocalRewriter_WhileStatement.cs (2)
16public override BoundNode VisitWhileStatement(BoundWhileStatement node) 42BoundNode loop,
Lowering\LocalRewriter\LocalRewriter_Yield.cs (2)
13public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 29public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node)
Lowering\MethodToClassRewriter.cs (20)
67public abstract override BoundNode VisitScope(BoundScope node); 69public override BoundNode VisitForStatement(BoundForStatement node) 74public override BoundNode VisitDoStatement(BoundDoStatement node) 79public override BoundNode VisitWhileStatement(BoundWhileStatement node) 84public override BoundNode VisitUsingStatement(BoundUsingStatement node) 89public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 96public override BoundNode VisitCall(BoundCall node) 182private bool TryReplaceWithProxy(Symbol parameterOrLocal, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 198public sealed override BoundNode VisitParameter(BoundParameter node) 200if (TryReplaceWithProxy(node.ParameterSymbol, node.Syntax, out BoundNode? replacement)) 209protected virtual BoundNode VisitUnhoistedParameter(BoundParameter node) 214public sealed override BoundNode VisitLocal(BoundLocal node) 216if (TryReplaceWithProxy(node.LocalSymbol, node.Syntax, out BoundNode? replacement)) 227public override BoundNode? VisitLocalId(BoundLocalId node) 232public override BoundNode? VisitParameterId(BoundParameterId node) 255public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 320public override BoundNode VisitFieldInfo(BoundFieldInfo node) 327public override BoundNode VisitFieldAccess(BoundFieldAccess node) 336public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 353public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node)
Lowering\SpillSequenceSpiller.cs (53)
196public static BoundNode Rewrite( 199BoundNode node) 210public override BoundNode VisitLocal(BoundLocal node) 237BoundNode result = spiller.Visit(body); 664public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 671public override BoundNode VisitThrowStatement(BoundThrowStatement node) 678public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 687public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 694public override BoundNode VisitReturnStatement(BoundReturnStatement node) 701public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 709public override BoundNode VisitCatchBlock(BoundCatchBlock node) 740public override BoundNode DefaultVisit(BoundNode node) 751public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 760public override BoundNode VisitSpillSequence(BoundSpillSequence node) 773public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 780public override BoundNode VisitArgListOperator(BoundArgListOperator node) 787public override BoundNode VisitArrayAccess(BoundArrayAccess node) 816public override BoundNode VisitArrayCreation(BoundArrayCreation node) 837public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 844public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 852public override BoundNode VisitArrayLength(BoundArrayLength node) 859public override BoundNode VisitAsOperator(BoundAsOperator node) 868public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 980public override BoundNode VisitBadExpression(BoundBadExpression node) 986public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 991public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1029public override BoundNode VisitCall(BoundCall node) 1095public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1117public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1187public override BoundNode VisitConversion(BoundConversion node) 1202public override BoundNode VisitPassByCopy(BoundPassByCopy node) 1213public override BoundNode VisitMethodGroup(BoundMethodGroup node) 1218public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1225public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1232public override BoundNode VisitIsOperator(BoundIsOperator node) 1239public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1246public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1276public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1382public static BoundStatement Replace(BoundNode node, BoundExpression receiver, int receiverID, int recursionDepth) 1393public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 1407public override BoundNode VisitLambda(BoundLambda node) 1411var result = base.VisitLambda(node); 1416public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1420var result = base.VisitLocalFunctionStatement(node); 1425public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1433public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 1454public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 1461public override BoundNode VisitSequence(BoundSequence node) 1487public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1517public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1524public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 1531public 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)
123return new BoundBadStatement(F.Syntax, ImmutableArray<BoundNode>.Empty, hasErrors: true);
Lowering\UnmatchedGotoFinder.cs (11)
22private readonly Dictionary<BoundNode, HashSet<LabelSymbol>> _unmatchedLabelsCache; // NB: never modified. 27private UnmatchedGotoFinder(Dictionary<BoundNode, HashSet<LabelSymbol>> unmatchedLabelsCache, int recursionDepth) 34public static HashSet<LabelSymbol> Find(BoundNode node, Dictionary<BoundNode, HashSet<LabelSymbol>> unmatchedLabelsCache, int recursionDepth) 47public override BoundNode Visit(BoundNode node) 66public override BoundNode VisitGotoStatement(BoundGotoStatement node) 72public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 78public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 89public override BoundNode VisitLabelStatement(BoundLabelStatement node) 95public override BoundNode VisitLabeledStatement(BoundLabeledStatement node)
Operations\CSharpOperationFactory.cs (23)
28public IOperation? Create(BoundNode? boundNode) 337public ImmutableArray<TOperation> CreateFromArray<TBoundNode, TOperation>(ImmutableArray<TBoundNode> boundNodes) where TBoundNode : BoundNode where TOperation : class, IOperation 382foreach (BoundNode? childNode in children) 396internal ImmutableArray<IVariableDeclaratorOperation> CreateVariableDeclarator(BoundNode declaration, SyntaxNode declarationSyntax) 450ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCall).InvalidNodeChildren); 480ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundFunctionPointerInvocation).InvalidNodeChildren); 520internal ImmutableArray<IOperation> CreateIgnoredDimensions(BoundNode declaration) 595internal IOperation? CreateBoundPropertyReferenceInstance(BoundNode boundNode) 633var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundIndexerAccess).InvalidNodeChildren); 713var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectCreationExpression).InvalidNodeChildren); 759internal IOperation CreateBoundDynamicInvocationExpressionReceiver(BoundNode receiver) 889var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectInitializerMember).InvalidNodeChildren); 935var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCollectionElementInitializer).InvalidNodeChildren); 1143Conversion conversion = BoundNode.GetConversion(boundAsOperator.OperandConversion, boundAsOperator.OperandPlaceholder); 1258private IOperation CreateBoundCollectionExpressionElement(BoundCollectionExpression expr, BoundNode element) 1274var elementConversion = BoundNode.GetConversion(iteratorItem, element.ElementPlaceholder); 1360Conversion inConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.LeftConversion, boundCompoundAssignmentOperator.LeftPlaceholder); 1361Conversion outConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.FinalConversion, boundCompoundAssignmentOperator.FinalPlaceholder); 1584Conversion valueConversion = BoundNode.GetConversion(boundNullCoalescingOperator.LeftConversion, boundNullCoalescingOperator.LeftPlaceholder); 1908BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder), 1909BoundNode.GetConversion(boundForEachStatement.ElementConversion, boundForEachStatement.ElementPlaceholder), 2024IOperation resources = Create(boundUsingStatement.DeclarationsOpt ?? (BoundNode)boundUsingStatement.ExpressionOpt!); 2086var 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)
188var boundGetAccessor = binder.BindMethodBody(getAccessor.SyntaxNode, BindingDiagnosticBag.Discarded);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (55)
Semantics\ConstantTests.cs (8)
1451private static string ParseAndGetConstantFoldingSteps(string source, Func<BoundNode, bool> predicate) 4223public static IEnumerable<BoundNode> GetNodes(BoundNode root) 4227foreach (var node in s._list) 4231private readonly List<BoundNode> _list; 4235_list = new List<BoundNode>(); 4238public override BoundNode Visit(BoundNode node)
Semantics\ForEachTests.cs (40)
1732Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1734Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1770Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1772Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1814Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1816Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1858Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1860Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1891Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1893Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1931Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1933Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1973Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1975Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2012Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 2014Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2045Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 2047Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2076Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 2078Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2107Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2131Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2162Assert.Equal(ConversionKind.ExplicitReference, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); //object to C.var 2164Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2193Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 2195Assert.Equal(ConversionKind.ExplicitDynamic, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2226Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 2228Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); //NB: differs from explicit case 2267Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 2269Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2351Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 2353Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2398Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 2400Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3642Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 3644Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3760Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 3762Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3818Assert.Equal(BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder), statementInfo.ElementConversion); 3819Assert.Equal(BoundNode.GetConversion(enumeratorInfo.CurrentConversion, enumeratorInfo.CurrentPlaceholder), statementInfo.CurrentConversion);
Semantics\OperatorTests.cs (4)
8823var node = rewriter.Visit(block); 10024protected override BoundNode VisitExpressionOrPatternWithoutStackGuard(BoundNode node) 10034public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
Semantics\UnsafeTests.cs (3)
5237public override BoundNode Visit(BoundNode node) 5268public override BoundNode VisitArrayCreation(BoundArrayCreation node)
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\ConversionTests.cs (1)
2080var elementConversion = BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder);