17 types derived from BoundNode
Microsoft.CodeAnalysis.CSharp (17)
Generated\BoundNodes.xml.Generated.cs (17)
263internal abstract partial class BoundInitializer : BoundNode 412internal abstract partial class BoundExpression : BoundNode 2097internal sealed partial class BoundAwaitableInfo : BoundNode 2216internal sealed partial class BoundBlockInstrumentation : BoundNode 3020internal abstract partial class BoundStatement : BoundNode 3974internal sealed partial class BoundForEachDeconstructStep : BoundNode 4146internal sealed partial class BoundCatchBlock : BoundNode 4790internal sealed partial class BoundSwitchExpressionArm : BoundNode 4891internal sealed partial class BoundDecisionDag : BoundNode 4919internal abstract partial class BoundDecisionDagNode : BoundNode 5070internal abstract partial class BoundDagTest : BoundNode 5084internal sealed partial class BoundDagTemp : BoundNode 5577internal sealed partial class BoundSwitchLabel : BoundNode 7669internal abstract partial class BoundPattern : BoundNode 7971internal abstract partial class BoundSubpattern : BoundNode 8043internal sealed partial class BoundPropertySubpatternMember : BoundNode 8374internal abstract partial class BoundMethodBodyBase : BoundNode
2682 references to BoundNode
Microsoft.CodeAnalysis.CSharp (2604)
Binder\Binder_Conversions.cs (3)
71Debug.Assert(BoundNode.GetConversion(result, placeholder1) == conversion); 77Debug.Assert(BoundNode.GetConversion(result2, placeholder2) == conversion); 1001private static bool IsMethodGroupWithTypeOrValueReceiver(BoundNode node)
Binder\Binder_Statements.cs (13)
145result = new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 517return new BoundBadStatement(node, ImmutableArray.Create<BoundNode>(expression), true); 532ImmutableArray<BoundNode> childNodes; 536childNodes = ImmutableArray.Create<BoundNode>(value); 540childNodes = ImmutableArray<BoundNode>.Empty; 2804return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 2815return new BoundBadStatement(node, ImmutableArray<BoundNode>.Empty, hasErrors: true); 3518public virtual BoundNode BindMethodBody(CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics) 3547private BoundNode BindSimpleProgram(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3552private BoundNode BindSimpleProgramCompilationUnit(CompilationUnitSyntax compilationUnit, BindingDiagnosticBag diagnostics) 3576private BoundNode BindPrimaryConstructorBody(TypeDeclarationSyntax typeDecl, BindingDiagnosticBag diagnostics) 3611private BoundNode BindConstructorBody(ConstructorDeclarationSyntax constructor, BindingDiagnosticBag diagnostics) 3924private BoundNode BindMethodBody(CSharpSyntaxNode declaration, BlockSyntax blockBody, ArrowExpressionClauseSyntax expressionBody, BindingDiagnosticBag diagnostics)
Binder\InMethodBinder.cs (1)
30/// This map is used by <see cref="MethodCompiler.BindMethodBody(MethodSymbol, TypeCompilationState, BindingDiagnosticBag, bool, BoundNode?, bool, out ImportChain?, out bool, out bool, out MethodBodySemanticModel.InitialState)"/>
Binder\RefSafetyAnalysis.cs (38)
16internal static void Analyze(CSharpCompilation compilation, Symbol symbol, BoundNode node, BindingDiagnosticBag diagnostics) 227public override BoundNode? VisitBlock(BoundBlock node) 234public override BoundNode? Visit(BoundNode? node) 261public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 273public override BoundNode? VisitLambda(BoundLambda node) 284public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 290public override BoundNode? VisitForStatement(BoundForStatement node) 297public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 314public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 326public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 332public override BoundNode? VisitDoStatement(BoundDoStatement node) 338public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 344public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 352public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 359public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 365public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 371public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 377public override BoundNode? VisitLocal(BoundLocal node) 422public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 462public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 472public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 482public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 492public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 498public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 511public override BoundNode? VisitListPattern(BoundListPattern node) 517public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 523public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 536public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 557public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 581public override BoundNode? VisitCall(BoundCall node) 635public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 658public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 681public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 704public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 722public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 797var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 854public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (4)
2670public override BoundNode Visit(BoundNode node) 2685public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 2691public override BoundNode VisitReturnStatement(BoundReturnStatement node)
Binder\SwitchBinder.cs (2)
543childBoundNodes: gotoCaseExpressionOpt != null ? ImmutableArray.Create<BoundNode>(gotoCaseExpressionOpt) : ImmutableArray<BoundNode>.Empty,
BoundTree\BoundExpressionExtensions.cs (1)
150public static void GetExpressionSymbols(this BoundExpression node, ArrayBuilder<Symbol> symbols, BoundNode parent, Binder binder)
BoundTree\BoundNode.cs (28)
59protected new BoundNode MemberwiseClone() 61var result = (BoundNode)base.MemberwiseClone(); 146protected void CopyAttributes(BoundNode original) 330public virtual BoundNode? Accept(BoundTreeVisitor visitor) 338internal BoundNode WithHasErrors() 343BoundNode clone = MemberwiseClone(); 438public static void CheckLocalsDefined(BoundNode root) 475public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 483public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 491public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 499public override BoundNode? VisitBlock(BoundBlock node) 524public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 531public override BoundNode? VisitSequence(BoundSequence node) 539public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 547public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 555public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 563public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 571public override BoundNode? VisitDoStatement(BoundDoStatement node) 579public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 587public override BoundNode? VisitForStatement(BoundForStatement node) 600public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 608public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 616public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 624public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 632public override BoundNode? VisitLocal(BoundLocal node) 639public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 646public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node)
BoundTree\BoundNode_Source.cs (2)
24void appendSourceCore(BoundNode node, int indent, Dictionary<SynthesizedLocal, int> tempIdentifiers) 345void appendSource(BoundNode? n)
BoundTree\BoundNodeExtensions.cs (6)
19where T : BoundNode 34public static bool HasErrors([NotNullWhen(true)] this BoundNode? node) 67public static T MakeCompilerGenerated<T>(this T node) where T : BoundNode 92public override BoundNode? Visit(BoundNode? node) => ContainsAwait ? null : base.Visit(node); 94public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
BoundTree\BoundTreeRewriter.cs (6)
21public ImmutableArray<T> VisitList<T>(ImmutableArray<T> list) where T : BoundNode 31private ImmutableArray<T> DoVisitList<T>(ImmutableArray<T> list) where T : BoundNode 39var visited = this.Visit(item); 79public override BoundNode? Visit(BoundNode? node) 110public sealed override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
BoundTree\BoundTreeVisitors.cs (9)
23public virtual R Visit(BoundNode node, A arg) 134public virtual R DefaultVisit(BoundNode node, A arg) 147public virtual BoundNode Visit(BoundNode node) 158public virtual BoundNode DefaultVisit(BoundNode node) 165public readonly BoundNode Node; 167public CancelledByStackGuardException(Exception inner, BoundNode node) 183public static Location GetTooLongOrComplexExpressionErrorLocation(BoundNode node)
BoundTree\BoundTreeWalker.cs (4)
16public void VisitList<T>(ImmutableArray<T> list) where T : BoundNode 70public override BoundNode? Visit(BoundNode? node) 104public sealed override BoundNode? VisitBinaryOperator(BoundBinaryOperator node)
BoundTree\Expression.cs (60)
29ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: null, Arguments, InitializerExpressionOpt); 34ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(Arguments); 39ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ImplicitReceiverOpt, Arguments); 44protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Left, this.Right); 49protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ChildBoundNodes); 51ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => StaticCast<BoundNode>.From(this.ChildBoundNodes); 56ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments); 61ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(ReceiverOpt, Arguments); 66protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Receiver)); 71protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments); 76protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.ConstructorArguments.AddRange(StaticCast<BoundExpression>.From(this.NamedArguments))); 81protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Value); 86protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments); 91protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Argument); 96protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression, this.Index); 101protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand); 106protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver); 111protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand); 116protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand); 121protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.Insert(0, this.Expression)); 126protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression); 139protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count)); 144protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(GetChildInitializers(this.InitializerOpt).Insert(0, this.Count)); 149protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.Arguments.AddRange(BoundObjectCreationExpression.GetChildInitializers(this.InitializerExpressionOpt))); 154protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression); 159protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.ReceiverOpt); 164protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(this.SideEffects.Add(this.Value)); 169protected override ImmutableArray<BoundNode?> Children => 170(this.Kind == BoundKind.StatementList || this.Kind == BoundKind.Scope) ? StaticCast<BoundNode?>.From(this.Statements) : ImmutableArray<BoundNode?>.Empty; 175protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Expression); 180protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Receiver, Argument); 185ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => CSharpOperationFactory.CreateInvalidChildrenFromArgumentsExpression(receiverOpt: this.InvokedExpression, Arguments); 186protected override ImmutableArray<BoundNode?> Children => StaticCast<BoundNode?>.From(((IBoundInvalidNode)this).InvalidNodeChildren);
BoundTree\IBoundInvalidNode.cs (1)
16ImmutableArray<BoundNode> InvalidNodeChildren { get; }
BoundTree\NullabilityRewriter.cs (6)
20public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 25public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 30private BoundNode VisitBinaryOperatorBase(BoundBinaryOperatorBase binaryOperator) 82private T GetUpdatedSymbol<T>(BoundNode expr, T sym) where T : Symbol? 165public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 185private ImmutableArray<T> GetUpdatedArray<T>(BoundNode expr, ImmutableArray<T> symbols) where T : Symbol?
BoundTree\Statement.cs (9)
12ImmutableArray<BoundNode?> IBoundNodeWithIOperationChildren.Children => this.Children; 18protected virtual ImmutableArray<BoundNode?> Children => ImmutableArray<BoundNode?>.Empty; 23protected override ImmutableArray<BoundNode?> Children => this.ChildBoundNodes!; 25ImmutableArray<BoundNode> IBoundInvalidNode.InvalidNodeChildren => this.ChildBoundNodes; 30protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Declarations, this.Body); 35protected override ImmutableArray<BoundNode?> Children => ImmutableArray.Create<BoundNode?>(this.Operand);
BoundTree\UnboundLambda.cs (6)
203BoundNode node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions, bool withDependencies) 248BoundNode node, 353public override BoundNode? Visit(BoundNode node) 368public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 374public override BoundNode? VisitReturnStatement(BoundReturnStatement node)
CodeGen\EmitExpression.cs (4)
605public override BoundNode Visit(BoundNode node) 615public override BoundNode VisitCall(BoundCall node) 627public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node)
CodeGen\EmitStatement.cs (5)
1924public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1929public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1941public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 1951public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 1973public override BoundNode VisitExpressionStatement(BoundExpressionStatement node)
CodeGen\Optimizer.cs (59)
431public static BoundNode Analyze( 432BoundNode node, 438var rewritten = analyzer.Visit(node); 444public override BoundNode Visit(BoundNode node) 446BoundNode result; 566public BoundNode VisitStatement(BoundNode node) 572public BoundNode VisitSideEffect(BoundNode node) 577var result = base.Visit(node); 593public override BoundNode VisitConversion(BoundConversion node) 602public override BoundNode VisitPassByCopy(BoundPassByCopy node) 613public override BoundNode VisitBlock(BoundBlock node) 649public override BoundNode VisitSequence(BoundSequence node) 815public bool IsLocalUsedIn(BoundNode node) 823public override BoundNode Visit(BoundNode node) 833public override BoundNode VisitLocal(BoundLocal node) 844public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 850public override BoundNode VisitLocal(BoundLocal node) 895public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 1107public override BoundNode VisitCall(BoundCall node) 1224public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1240public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1249public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1259public override BoundNode VisitArrayAccess(BoundArrayAccess node) 1266var result = base.VisitArrayAccess(node); 1272public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1314public override BoundNode VisitLabelStatement(BoundLabelStatement node) 1320public override BoundNode VisitLabel(BoundLabel node) 1326public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1332public override BoundNode VisitGotoStatement(BoundGotoStatement node) 1336var result = base.VisitGotoStatement(node); 1342public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 1344var result = base.VisitConditionalGoto(node); 1351public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 1384public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1406public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 1479private BoundNode VisitBinaryOperatorSimple(BoundBinaryOperator node) 1500public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1519public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1549public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 1585public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1601public override BoundNode VisitTryStatement(BoundTryStatement node) 1616public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1680public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 1687public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1722public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 1728public override BoundNode VisitReturnStatement(BoundReturnStatement node) 1978public override BoundNode Visit(BoundNode node) 1980BoundNode result; 2000public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2056public override BoundNode VisitLocal(BoundLocal node) 2074public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 2082public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2134public override BoundNode VisitCall(BoundCall node) 2163public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Compilation\AttributeSemanticModel.cs (4)
85internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 102protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 103BoundNode boundRoot, 113protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\CSharpSemanticModel.cs (20)
722BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 752BoundNode boundNode = GetSpeculativelyBoundAttribute(position, attribute, out binder); //calls CheckAndAdjustPosition 1052BoundNode boundNode = GetSpeculativelyBoundExpression(position, expression, bindingOption, out _, out crefSymbols); //calls CheckAndAdjustPosition 1199BoundNode boundNode = GetSpeculativelyBoundExpression(position, nameSyntax, bindingOption, out binder, out crefSymbols); //calls CheckAndAdjustPosition 1889BoundNode lowestBoundNode, 1890BoundNode highestBoundNode, 1891BoundNode boundNodeForSyntacticParent, 2037BoundNode lowestBoundNode, 2038BoundNode highestBoundNode, 2039BoundNode boundNodeForSyntacticParent) 2148conversion = BoundNode.GetConversion(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder); 2272BoundNode lowestBoundNode, 2273BoundNode boundNodeForSyntacticParent, 2294BoundNode lowestBoundNode, 2386internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 3336BoundNode boundNodeForSyntacticParent, 3951BoundNode boundNodeForSyntacticParent, 4002BoundNode lowestBoundNode, 4219BoundNode boundNodeForSyntacticParent, 4365BoundNode boundNodeForSyntacticParent,
Compilation\DeconstructionInfo.cs (1)
73: deconstructConversionInfo.SelectAsArray(c => new DeconstructionInfo(BoundNode.GetConversion(c.conversion, c.placeholder)));
Compilation\InitializerSemanticModel.cs (5)
79internal override BoundNode GetBoundRoot() 111internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 253protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 254BoundNode boundRoot, 266protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\MemberSemanticModel.cs (61)
31private readonly Dictionary<SyntaxNode, ImmutableArray<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, ImmutableArray<BoundNode>>(); 503internal virtual BoundNode GetBoundRoot() 511internal BoundNode GetUpperBoundNode(CSharpSyntaxNode node, bool promoteToBindable = false) 539internal BoundNode GetLowerBoundNode(CSharpSyntaxNode node) 556private static BoundNode GetLowerBoundNode(ImmutableArray<BoundNode> boundNodes) 912var bound = GetLowerBoundNode(node); 984BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder), 985BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder)); 1133var bound = this.GetLowerBoundNode(declaratorSyntax); 1178BoundNode highestBoundNode = GetBoundRoot(); 1203BoundNode lowestBoundNode; 1204BoundNode highestBoundNode; 1205BoundNode boundParent; 1215BoundNode lowestBoundNode; 1216BoundNode highestBoundNode; 1217BoundNode boundParent; 1226BoundNode lowestBoundNode; 1227BoundNode highestBoundNode; 1228BoundNode boundParent; 1238BoundNode lowestBoundNode; 1239BoundNode highestBoundNode; 1240BoundNode boundParent; 1292private void GetBoundNodes(CSharpSyntaxNode node, out CSharpSyntaxNode bindableNode, out BoundNode lowestBoundNode, out BoundNode highestBoundNode, out BoundNode boundParent) 1423private ImmutableArray<BoundNode> GuardedGetBoundNodesFromMap(CSharpSyntaxNode node) 1426ImmutableArray<BoundNode> result; 1427return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : default(ImmutableArray<BoundNode>); 1433internal ImmutableArray<BoundNode> TestOnlyTryGetBoundNodesFromMap(CSharpSyntaxNode node) 1435ImmutableArray<BoundNode> result; 1436return _guardedBoundNodeMap.TryGetValue(node, out result) ? result : default(ImmutableArray<BoundNode>); 1441private ImmutableArray<BoundNode> GuardedAddBoundTreeAndGetBoundNodeFromMap(CSharpSyntaxNode syntax, BoundNode bound) 1460ImmutableArray<BoundNode> result; 1461return _guardedBoundNodeMap.TryGetValue(syntax, out result) ? result : default(ImmutableArray<BoundNode>); 1464protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1472protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1615BoundNode boundInnerLambdaOrQuery = GetBoundLambdaOrQuery(innerLambdaOrQuery); 1619private BoundNode GetBoundLambdaOrQuery(CSharpSyntaxNode lambdaOrQuery) 1623ImmutableArray<BoundNode> nodes; 1642BoundNode boundEnclosingLambdaOrQuery = null; 1683BoundNode boundOuterExpression = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 1715BoundNode boundOuterExpression = this.Bind(incrementalBinder, lambdaOrQuery, BindingDiagnosticBag.Discarded); 1729private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery) 1941BoundNode boundRoot = bind(bindableRoot, out binder); 1963BoundNode bind(CSharpSyntaxNode root, out Binder binder) 2017protected abstract BoundNode RewriteNullableBoundNodesWithSnapshots( 2018BoundNode boundRoot, 2031protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots); 2040internal ImmutableArray<BoundNode> GetBoundNodes(CSharpSyntaxNode node) 2064ImmutableArray<BoundNode> results; 2087BoundNode boundStatement = this.Bind(incrementalBinder, nodeToBind, BindingDiagnosticBag.Discarded); 2116var boundNode = this.Bind(incrementalBinder, node, BindingDiagnosticBag.Discarded); 2131return ImmutableArray<BoundNode>.Empty; 2394BoundNode boundNode = TryGetBoundNodeFromMap(node); 2429private BoundNode TryGetBoundNodeFromMap(CSharpSyntaxNode node) 2433ImmutableArray<BoundNode> boundNodes = _semanticModel.GuardedGetBoundNodesFromMap(node); 2445public override BoundNode BindMethodBody(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 2447BoundNode boundNode = TryGetBoundNodeFromMap(node);
Compilation\MemberSemanticModel.NodeMapBuilder.cs (14)
23private NodeMapBuilder(OrderPreservingMultiDictionary<SyntaxNode, BoundNode> map, SyntaxTree tree, SyntaxNode thisSyntaxNodeOnly) 30private readonly OrderPreservingMultiDictionary<SyntaxNode, BoundNode> _map; 41public static void AddToMap(BoundNode root, Dictionary<SyntaxNode, ImmutableArray<BoundNode>> map, SyntaxTree tree, SyntaxNode node = null) 51var additionMap = OrderPreservingMultiDictionary<SyntaxNode, BoundNode>.GetInstance(); 131public override BoundNode Visit(BoundNode node) 143BoundNode current = node; 237private bool ShouldAddNode(BoundNode currentBoundNode) 254public override BoundNode VisitQueryClause(BoundQueryClause node) 261public override BoundNode VisitRangeVariable(BoundRangeVariable node) 266public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node) 271public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 284public override BoundNode VisitBinaryOperator(BoundBinaryOperator node)
Compilation\MemberSemanticModel.SpeculativeMemberSemanticModel.cs (3)
43protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 44BoundNode boundRoot, 55protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\MethodBodySemanticModel.cs (6)
25internal readonly BoundNode? Body; 32BoundNode? bodyOpt = null, 77internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 289protected override BoundNode RewriteNullableBoundNodesWithSnapshots( 290BoundNode boundRoot, 301protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
511internal 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)
2288private static BoundNode GetBoundRoot(MemberSemanticModel memberModel, out Symbol member)
Compilation\SyntaxTreeSemanticModel_RegionAnalysisContext.cs (8)
34var node = new BoundBadStatement(expression, ImmutableArray<BoundNode>.Empty, hasErrors: true); 39BoundNode boundNode = GetBoundRoot(memberModel, out member); 40var first = memberModel.GetUpperBoundNode(expression, promoteToBindable: true); 41var last = first; 51var node = new BoundBadStatement(firstStatement, ImmutableArray<BoundNode>.Empty, hasErrors: true); 56BoundNode boundNode = GetBoundRoot(memberModel, out member); 57var first = memberModel.GetUpperBoundNode(firstStatement, promoteToBindable: true); 58var last = memberModel.GetUpperBoundNode(lastStatement, promoteToBindable: true);
Compiler\MethodCompiler.cs (12)
1515return new BoundBadStatement(body.Syntax, ImmutableArray.Create<BoundNode>(body), hasErrors: true); 1773BoundNode? initializersBody, 1827BoundNode methodBody = bodyBinder.BindMethodBody(syntaxNode, diagnostics); 1833BoundNode methodBodyForSemanticModel = methodBody; 2002NullableWalker.VariableState? getInitializerState(BoundNode? body) 2148static void assertBindIdentifierTargets(InMethodBinder? inMethodBinder, ConcurrentDictionary<IdentifierNameSyntax, int>? identifierMap, BoundNode methodBody, BindingDiagnosticBag diagnostics) 2202private static bool IsEmptyRewritePossible(BoundNode node) 2207var rewritten = rewriter.Visit(node); 2230public static bool FoundInUnboundLambda(BoundNode methodBody, IdentifierNameSyntax id) 2237public override BoundNode? VisitUnboundLambda(UnboundLambda node) 2253public override BoundNode? Visit(BoundNode? node)
FlowAnalysis\AbstractFlowPass.cs (189)
66protected readonly BoundNode methodMainNode; 172protected readonly BoundNode firstInRegion, lastInRegion; 185BoundNode node, 186BoundNode firstInRegion = null, 187BoundNode lastInRegion = null, 260private void EnterRegionIfNeeded(BoundNode node) 277private void LeaveRegionIfNeeded(BoundNode node) 341public override BoundNode Visit(BoundNode node) 346protected BoundNode VisitAlways(BoundNode node) 348BoundNode result = null; 362private BoundNode VisitWithStackGuard(BoundNode node) 395public readonly BoundNode Branch; 404public PendingBranch(BoundNode branch, TLocalState state, LabelSymbol label, bool isConditionalState = false, TLocalState stateWhenTrue = default, TLocalState stateWhenFalse = default) 755protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target) 888public override BoundNode DefaultVisit(BoundNode node) 895public override BoundNode VisitAttribute(BoundAttribute node) 901public override BoundNode VisitThrowExpression(BoundThrowExpression node) 908public override BoundNode VisitPassByCopy(BoundPassByCopy node) 914public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 1058public override BoundNode VisitConstantPattern(BoundConstantPattern node) 1064public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 1069public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 1074private BoundNode VisitTupleExpression(BoundTupleExpression node) 1080public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 1087public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 1094public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 1101public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 1107public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 1115protected BoundNode? VisitInterpolatedStringBase(BoundInterpolatedStringBase node, InterpolatedStringHandlerData? data) 1146public override BoundNode VisitInterpolatedString(BoundInterpolatedString node) 1151public override BoundNode VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 1157public override BoundNode VisitStringInsert(BoundStringInsert node) 1173public override BoundNode VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1178public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1183public override BoundNode VisitArgList(BoundArgList node) 1190public override BoundNode VisitArgListOperator(BoundArgListOperator node) 1197public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 1203public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1212public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 1218public override BoundNode VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 1224public override BoundNode VisitLambda(BoundLambda node) => null; 1226public override BoundNode VisitLocal(BoundLocal node) 1232public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 1249public override BoundNode VisitBlock(BoundBlock node) 1263public override BoundNode VisitScope(BoundScope node) 1269public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 1275public override BoundNode VisitCall(BoundCall node) 1393public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 1406public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 1419public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 1478public override BoundNode VisitBadExpression(BoundBadExpression node) 1488public override BoundNode VisitBadStatement(BoundBadStatement node) 1490foreach (var child in node.ChildBoundNodes) 1505public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 1515public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1545public override BoundNode VisitTypeExpression(BoundTypeExpression node) 1550public override BoundNode VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 1558public override BoundNode VisitLiteral(BoundLiteral node) 1564public override BoundNode VisitUtf8String(BoundUtf8String node) 1586public override BoundNode VisitLocalId(BoundLocalId node) 1591public override BoundNode VisitParameterId(BoundParameterId node) 1596public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1601public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 1606public override BoundNode VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 1611public override BoundNode VisitModuleVersionId(BoundModuleVersionId node) 1616public override BoundNode VisitModuleVersionIdString(BoundModuleVersionIdString node) 1621public override BoundNode VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 1626public override BoundNode VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 1631public override BoundNode VisitConversion(BoundConversion node) 1656public override BoundNode VisitIfStatement(BoundIfStatement node) 1675public override BoundNode VisitTryStatement(BoundTryStatement node) 1870public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 1875public override BoundNode VisitReturnStatement(BoundReturnStatement node) 1877var result = VisitReturnStatementNoAdjust(node); 1883protected virtual BoundNode VisitReturnStatementNoAdjust(BoundReturnStatement node) 1896public override BoundNode VisitThisReference(BoundThisReference node) 1901public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 1906public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 1911public override BoundNode VisitParameter(BoundParameter node) 1920public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1928public override BoundNode VisitNewT(BoundNewT node) 1934public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 1959public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 1993public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2000public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 2006public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2051public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2078public override BoundNode VisitFieldInfo(BoundFieldInfo node) 2083public override BoundNode VisitMethodInfo(BoundMethodInfo node) 2088public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2118public override BoundNode VisitEventAccess(BoundEventAccess node) 2124public override BoundNode VisitRangeVariable(BoundRangeVariable node) 2129public override BoundNode VisitQueryClause(BoundQueryClause node) 2135private BoundNode VisitMultipleLocalDeclarationsBase(BoundMultipleLocalDeclarationsBase node) 2145public override BoundNode VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 2150public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 2159public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2174public override BoundNode VisitWithExpression(BoundWithExpression node) 2181public override BoundNode VisitArrayAccess(BoundArrayAccess node) 2192public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 2211public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 2562public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 2578public override BoundNode VisitRangeExpression(BoundRangeExpression node) 2593public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 2599public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 2606public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2630public override BoundNode VisitArrayCreation(BoundArrayCreation node) 2641public override BoundNode VisitForStatement(BoundForStatement node) 2674public override BoundNode VisitForEachStatement(BoundForEachStatement node) 2703public override BoundNode VisitAsOperator(BoundAsOperator node) 2709public override BoundNode VisitIsOperator(BoundIsOperator node) 2724public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2737public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 2913public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 2921public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 2940public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 2945public override BoundNode VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 2959public override BoundNode VisitSequence(BoundSequence node) 2974public override BoundNode VisitSequencePoint(BoundSequencePoint node) 2984public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node) 2990public override BoundNode VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 3000public override BoundNode VisitStatementList(BoundStatementList node) 3005private BoundNode VisitStatementListWorker(BoundStatementList node) 3015public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 3020public override BoundNode VisitUnboundLambda(UnboundLambda node) 3026public override BoundNode VisitBreakStatement(BoundBreakStatement node) 3034public override BoundNode VisitContinueStatement(BoundContinueStatement node) 3042public override BoundNode VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 3047public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 3054protected virtual BoundNode? VisitConditionalOperatorCore( 3118public override BoundNode VisitBaseReference(BoundBaseReference node) 3123public override BoundNode VisitDoStatement(BoundDoStatement node) 3137public override BoundNode VisitGotoStatement(BoundGotoStatement node) 3160public override BoundNode VisitLabelStatement(BoundLabelStatement node) 3166public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 3173public override BoundNode VisitLockStatement(BoundLockStatement node) 3180public override BoundNode VisitNoOpStatement(BoundNoOpStatement node) 3185public override BoundNode VisitNamespaceExpression(BoundNamespaceExpression node) 3190public override BoundNode VisitUsingStatement(BoundUsingStatement node) 3213public override BoundNode VisitFixedStatement(BoundFixedStatement node) 3220public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 3226public override BoundNode VisitThrowStatement(BoundThrowStatement node) 3234public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 3242public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 3249public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 3254public override BoundNode VisitDefaultExpression(BoundDefaultExpression node) 3259public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 3264public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 3270public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 3279public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 3299public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 3305public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 3312public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node) 3317private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 3324public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 3329public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 3334public override BoundNode VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 3342public override BoundNode VisitArrayLength(BoundArrayLength node) 3348public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 3366public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 3371public override BoundNode VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 3376private BoundNode VisitObjectOrCollectionInitializerExpression(ImmutableArray<BoundExpression> initializers) 3386public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 3405public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 3410public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 3433public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 3439public override BoundNode VisitImplicitReceiver(BoundImplicitReceiver node) 3444public override BoundNode VisitFieldEqualsValue(BoundFieldEqualsValue node) 3450public override BoundNode VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 3456public override BoundNode VisitParameterEqualsValue(BoundParameterEqualsValue node) 3462public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 3467public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 3472public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 3477public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node) 3482public sealed override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 3487public override BoundNode VisitDiscardExpression(BoundDiscardExpression node) 3498public override BoundNode VisitConstructorMethodBody(BoundConstructorMethodBody node) 3505public override BoundNode VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 3511public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 3544public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 3550public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 3557public override BoundNode VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 3582public override BoundNode VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) 3587public override BoundNode VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) 3592public override BoundNode VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node)
FlowAnalysis\AbstractFlowPass_LocalFunctions.cs (2)
59public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement localFunc) 123BoundNode branch = pending.Branch;
FlowAnalysis\AbstractFlowPass_Switch.cs (5)
18public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 131public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 145public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 150public override BoundNode VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 155private BoundNode VisitSwitchExpression(BoundSwitchExpression node)
FlowAnalysis\AbstractRegionControlFlowPass.cs (6)
17BoundNode node, 18BoundNode firstInRegion, 19BoundNode lastInRegion) 24public override BoundNode Visit(BoundNode node) 31public override BoundNode VisitLambda(BoundLambda node)
FlowAnalysis\AbstractRegionDataFlowPass.cs (6)
19BoundNode node, 20BoundNode firstInRegion, 21BoundNode lastInRegion, 40public override BoundNode VisitLambda(BoundLambda node) 46public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 52public override BoundNode VisitNameOfOperator(BoundNameOfOperator node)
FlowAnalysis\AlwaysAssignedWalker.cs (9)
27private AlwaysAssignedWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 32internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 92public override BoundNode VisitLabel(BoundLabel node) 98public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 104private void ResolveLabel(BoundNode node, LabelSymbol label)
FlowAnalysis\ControlFlowPass.cs (15)
19private readonly PooledDictionary<LabelSymbol, BoundNode> _labelsDefined = PooledDictionary<LabelSymbol, BoundNode>.GetInstance(); 34internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node) 39internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 120public override BoundNode Visit(BoundNode node) 218var leave = pending.Branch; 226var leave = pending.Branch; 328public override BoundNode VisitLabeledStatement(BoundLabeledStatement node) 336public override BoundNode VisitGotoStatement(BoundGotoStatement node) 386public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 399public override BoundNode VisitBlock(BoundBlock node) 412var result = base.VisitBlock(node);
FlowAnalysis\DataFlowsInWalker.cs (8)
27private DataFlowsInWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 81BoundNode gotoStmt, 93public override BoundNode VisitRangeVariable(BoundRangeVariable node)
FlowAnalysis\DataFlowsOutWalker.cs (10)
27private DataFlowsOutWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn) 33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn) 114private Symbol GetNodeSymbol(BoundNode node) 201protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 237private ParameterSymbol Param(BoundNode node) 247public override BoundNode VisitQueryClause(BoundQueryClause node)
FlowAnalysis\DefiniteAssignment.cs (52)
170BoundNode node, 195BoundNode node, 217BoundNode node, 218BoundNode firstInRegion, 219BoundNode lastInRegion, 236BoundNode node) 422var pendingBranch = pending.Branch; 523BoundNode node, 762private void NoteRead(BoundNode fieldOrEventAccess) 765BoundNode n = fieldOrEventAccess; 1449protected void Assign(BoundNode node, BoundExpression value, bool isRef = false, bool read = true) 1462protected virtual void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 1972public override BoundNode VisitBlock(BoundBlock node) 2052public override BoundNode VisitSwitchStatement(BoundSwitchStatement node) 2055var result = base.VisitSwitchStatement(node); 2067public override BoundNode VisitForStatement(BoundForStatement node) 2071var result = base.VisitForStatement(node); 2077public override BoundNode VisitDoStatement(BoundDoStatement node) 2080var result = base.VisitDoStatement(node); 2085public override BoundNode VisitWhileStatement(BoundWhileStatement node) 2088var result = base.VisitWhileStatement(node); 2096public override BoundNode VisitUsingStatement(BoundUsingStatement node) 2100var result = base.VisitUsingStatement(node); 2117public override BoundNode VisitFixedStatement(BoundFixedStatement node) 2123public override BoundNode VisitSequence(BoundSequence node) 2126var result = base.VisitSequence(node); 2187public override BoundNode VisitLocal(BoundLocal node) 2218public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 2229var result = base.VisitLocalDeclaration(node); 2237public override BoundNode VisitLocalId(BoundLocalId node) 2240public override BoundNode VisitParameterId(BoundParameterId node) 2243public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 2246public override BoundNode VisitMethodGroup(BoundMethodGroup node) 2258public override BoundNode VisitLambda(BoundLambda node) 2304public override BoundNode VisitThisReference(BoundThisReference node) 2311public override BoundNode VisitParameter(BoundParameter node) 2325public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 2332public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 2339public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 2346public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 2355public override BoundNode VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 2373public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 2503public override BoundNode VisitBaseReference(BoundBaseReference node) 2527public override BoundNode VisitFieldAccess(BoundFieldAccess node) 2529var result = base.VisitFieldAccess(node); 2553public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2555var result = base.VisitPropertyAccess(node); 2576public override BoundNode VisitEventAccess(BoundEventAccess node) 2578var result = base.VisitEventAccess(node); 2607public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 2609var result = base.VisitObjectInitializerMember(node); 2619public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node)
FlowAnalysis\DefinitelyAssignedWalker.cs (6)
29BoundNode node, 30BoundNode firstInRegion, 31BoundNode lastInRegion) 37CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\EntryPointsWalker.cs (7)
23internal static IEnumerable<LabeledStatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, out bool? succeeded) 48private EntryPointsWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 58protected override void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement targetStmt)
FlowAnalysis\ExitPointsWalker.cs (11)
23private ExitPointsWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 41internal static ImmutableArray<StatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 70public override BoundNode VisitLabelStatement(BoundLabelStatement node) 76public override BoundNode VisitDoStatement(BoundDoStatement node) 86public override BoundNode VisitForEachStatement(BoundForEachStatement node) 96public override BoundNode VisitForStatement(BoundForStatement node) 106public override BoundNode VisitWhileStatement(BoundWhileStatement node)
FlowAnalysis\LocalDataFlowPass.cs (4)
37BoundNode node, 49BoundNode node, 51BoundNode firstInRegion, 52BoundNode lastInRegion,
FlowAnalysis\NullableWalker.cs (193)
421BoundNode node, 1289BoundNode node, 1316BoundNode node, 1355internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody) 1373internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics) 1411private static MethodSymbol? GetConstructorThisOrBaseSymbol(BoundNode? constructorBody) 1426BoundNode node, 1438internal static BoundNode AnalyzeAndRewrite( 1441BoundNode node, 1457BoundNode node, 1513internal static BoundNode AnalyzeAndRewriteSpeculation( 1515BoundNode node, 1560private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1570var rewrittenNode = rewriter.Visit(node); 1594BoundNode node, 1672BoundNode node, 1777private void TakeIncrementalSnapshot(BoundNode? node) 1783private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 2101private void VisitAndUnsplitAll<T>(ImmutableArray<T> nodes) where T : BoundNode 2115private void VisitWithoutDiagnostics(BoundNode? node) 2765public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue equalsValue) 2800public sealed override BoundNode? VisitReturnStatement(BoundReturnStatement node) 2935public override BoundNode? VisitLocal(BoundLocal node) 2966public override BoundNode? VisitBlock(BoundBlock node) 3017public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 3172public override BoundNode? VisitDoStatement(BoundDoStatement node) 3178public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 3184public override BoundNode? VisitWithExpression(BoundWithExpression withExpr) 3206public override BoundNode? VisitForStatement(BoundForStatement node) 3213public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 3219public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 3226public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 3232public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 3238public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 3265public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 3406public override BoundNode? Visit(BoundNode? node) 3411private BoundNode VisitLValue(BoundNode node) 3416private BoundNode Visit(BoundNode? node, bool expressionIsRead) 3425var result = base.Visit(node); 3438public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 3444public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 4077public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 4138public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 4297BoundNode node, 4374public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 5098public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 5120public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 5403public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 5409protected override BoundNode? VisitConditionalOperatorCore( 5667public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 5678public override BoundNode? VisitCall(BoundCall node) 6070private static bool HasImplicitTypeArguments(BoundNode node) 6138BoundNode node, 6158BoundNode node, 6182BoundNode node, 6338BoundNode node, 7420public override BoundNode? VisitConversion(BoundConversion node) 7549public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 7555public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 7772public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 8693public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 8869public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 8952public override BoundNode? VisitLambda(BoundLambda node) 9001public override BoundNode? VisitUnboundLambda(UnboundLambda node) 9011public override BoundNode? VisitThisReference(BoundThisReference node) 9024public override BoundNode? VisitParameter(BoundParameter node) 9034public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 9212public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 9217private BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node, TypeWithState? rightResultOpt) 9328var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 9369var underlyingConversion = BoundNode.GetConversion(placeholderConversion, placeholder); 9528public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 9570BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder), 9600BoundNode.GetConversion(node.ResultConversion, node.ResultPlaceholder), 9628public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 9648BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder), 9682BoundNode.GetConversion(node.FinalConversion, node.FinalPlaceholder), 9705public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 9722public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 9780public override BoundNode? VisitBaseReference(BoundBaseReference node) 9786public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 9795public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 9816public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 9839public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 9853public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 9861public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 9867public override BoundNode? VisitEventAccess(BoundEventAccess node) 10205Conversion conversion = BoundNode.GetConversion(node.ElementConversion, node.ElementPlaceholder); 10241public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 10243var result = base.VisitFromEndIndexExpression(node); 10248public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 10254public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 10260public override BoundNode? VisitBadExpression(BoundBadExpression node) 10282public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 10284var result = base.VisitTypeExpression(node); 10295public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 10298var result = base.VisitTypeOrValueExpression(node); 10303public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 10375public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 10377var result = base.VisitPointerIndirectionOperator(node); 10383public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 10385var result = base.VisitPointerElementAccess(node); 10391public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 10398public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 10400var result = base.VisitMakeRefOperator(node); 10405public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 10407var result = base.VisitRefValueOperator(node); 10503public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 10505var result = base.VisitAwaitExpression(node); 10534public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 10536var result = base.VisitTypeOfOperator(node); 10541public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 10543var result = base.VisitMethodInfo(node); 10548public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 10550var result = base.VisitFieldInfo(node); 10555public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 10558var result = base.VisitDefaultLiteral(node); 10563public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 10567var result = base.VisitDefaultExpression(node); 10585public override BoundNode? VisitIsOperator(BoundIsOperator node) 10619public override BoundNode? VisitAsOperator(BoundAsOperator node) 10627switch (BoundNode.GetConversion(node.OperandConversion, node.OperandPlaceholder).Kind) 10647public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 10649var result = base.VisitSizeOfOperator(node); 10655public override BoundNode? VisitArgList(BoundArgList node) 10657var result = base.VisitArgList(node); 10663public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 10671public override BoundNode? VisitLiteral(BoundLiteral node) 10674var result = base.VisitLiteral(node); 10679public override BoundNode? VisitUtf8String(BoundUtf8String node) 10682var result = base.VisitUtf8String(node); 10687public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 10689var result = base.VisitPreviousSubmissionReference(node); 10695public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 10697var result = base.VisitHostObjectMemberReference(node); 10703public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 10705var result = base.VisitPseudoVariable(node); 10710public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 10712var result = base.VisitRangeExpression(node); 10717public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 10724public override BoundNode? VisitLabel(BoundLabel node) 10726var result = base.VisitLabel(node); 10731public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 10743public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 10763public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 10789public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 10795public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 10803public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 10811public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 10819public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 10821var result = base.VisitImplicitReceiver(node); 10826public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 10831public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 10837public override BoundNode? VisitNewT(BoundNewT node) 10843public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 10845var result = base.VisitArrayInitialization(node); 10855public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 10949public override BoundNode? VisitQueryClause(BoundQueryClause node) 10951var result = base.VisitQueryClause(node); 10956public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 10958var result = base.VisitNameOfOperator(node); 10963public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 10965var result = base.VisitNamespaceExpression(node); 10970public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 10973var result = base.VisitUnconvertedInterpolatedString(node); 10978public override BoundNode? VisitStringInsert(BoundStringInsert node) 10980var result = base.VisitStringInsert(node); 10991public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 10999public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 11005public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 11011public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 11016private BoundNode? VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase node) 11033public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 11041public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 11048public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 11071public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 11109public override BoundNode? VisitLockStatement(BoundLockStatement node) 11117public override BoundNode? VisitAttribute(BoundAttribute node) 11130public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 11137public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 11145public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 11153public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 11176public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 11183public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 11742private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)> 11748public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y) 11759public int GetHashCode((BoundNode? expr, Symbol symbol) obj)
FlowAnalysis\NullableWalker.DebugVerifier.cs (22)
36public static void Verify(ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> analyzedNullabilityMap, SnapshotManager? snapshotManagerOpt, BoundNode node) 80public override BoundNode? Visit(BoundNode? node) 96public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 102public override BoundNode? VisitBadExpression(BoundBadExpression node) 121public override BoundNode? VisitQueryClause(BoundQueryClause node) 127public override BoundNode? VisitUnboundLambda(UnboundLambda node) 133public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 155public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 161public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 167public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 174public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 189public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 195public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 220public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 226public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 234public override BoundNode? VisitListPattern(BoundListPattern node) 242public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 249public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 263public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 270public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 278public override BoundNode? VisitConversion(BoundConversion node)
FlowAnalysis\NullableWalker.SnapshotManager.cs (11)
34private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol> _updatedSymbolsMap; 38private SnapshotManager(ImmutableArray<SharedWalkerState> walkerSharedStates, ImmutableArray<(int position, Snapshot snapshot)> incrementalSnapshots, ImmutableDictionary<(BoundNode?, Symbol), Symbol> updatedSymbolsMap) 85internal bool TryGetUpdatedSymbol(BoundNode node, Symbol symbol, [NotNullWhen(true)] out Symbol? updatedSymbol) 107internal void VerifyNode(BoundNode node) 151private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol>.Builder _updatedSymbolMap = ImmutableDictionary.CreateBuilder<(BoundNode?, Symbol), Symbol>(ExpressionAndSymbolEqualityComparer.Instance, Symbols.SymbolEqualityComparer.ConsiderEverything); 211internal void TakeIncrementalSnapshot(BoundNode? node, LocalState currentState) 223internal void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 231internal void RemoveSymbolIfPresent(BoundNode node, Symbol symbol) 236private static (BoundNode?, Symbol) GetKey(BoundNode node, Symbol symbol)
FlowAnalysis\NullableWalker_Patterns.cs (17)
32private void VisitForRewriting(BoundNode node) 42public override BoundNode VisitPositionalSubpattern(BoundPositionalSubpattern node) 48public override BoundNode VisitPropertySubpattern(BoundPropertySubpattern node) 54public override BoundNode VisitRecursivePattern(BoundRecursivePattern node) 63public override BoundNode VisitConstantPattern(BoundConstantPattern node) 69public override BoundNode VisitDeclarationPattern(BoundDeclarationPattern node) 76public override BoundNode VisitDiscardPattern(BoundDiscardPattern node) 81public override BoundNode VisitSlicePattern(BoundSlicePattern node) 87public override BoundNode VisitListPattern(BoundListPattern node) 94public override BoundNode VisitTypePattern(BoundTypePattern node) 100public override BoundNode VisitRelationalPattern(BoundRelationalPattern node) 106public override BoundNode VisitNegatedPattern(BoundNegatedPattern node) 112public override BoundNode VisitBinaryPattern(BoundBinaryPattern node) 119public override BoundNode VisitITuplePattern(BoundITuplePattern node) 823public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 830public override BoundNode VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 1008public 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, 214protected override void AssignImpl(BoundNode node, BoundExpression value, bool isRef, bool written, bool read) 250public override BoundNode VisitUnboundLambda(UnboundLambda node) 255public override BoundNode VisitRangeVariable(BoundRangeVariable node) 267private static ParameterSymbol GetRangeVariableUnderlyingParameter(BoundNode underlying) 286public override BoundNode VisitQueryClause(BoundQueryClause node)
FlowAnalysis\RegionAnalysisContext.cs (5)
25public readonly BoundNode BoundNode; 27public readonly BoundNode FirstInRegion, LastInRegion; 34public RegionAnalysisContext(CSharpCompilation compilation, Symbol member, BoundNode boundNode, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\RegionReachableWalker.cs (6)
17internal static void Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 39private RegionReachableWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\UnassignedAddressTakenVariablesWalker.cs (3)
18private UnassignedAddressTakenVariablesWalker(CSharpCompilation compilation, Symbol member, BoundNode node) 23internal static HashSet<PrefixUnaryExpressionSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node) 60public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node)
FlowAnalysis\UnassignedVariablesWalker.cs (2)
21private UnassignedVariablesWalker(CSharpCompilation compilation, Symbol member, BoundNode node) 26internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node,
FlowAnalysis\VariablesDeclaredWalker.cs (11)
22internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 39internal VariablesDeclaredWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 90public override BoundNode VisitLocalDeclaration(BoundLocalDeclaration node) 100public override BoundNode VisitLambda(BoundLambda node) 113public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 159public override BoundNode VisitQueryClause(BoundQueryClause node) 177public override BoundNode VisitLocal(BoundLocal node)
Generated\BoundNodes.xml.Generated.cs (1078)
310public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldEqualsValue(this); 340public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyEqualsValue(this); 370public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterEqualsValue(this); 398public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGlobalStatementInitializer(this); 471public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitValuePlaceholder(this); 501public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCapturedReceiverPlaceholder(this); 542public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructValuePlaceholder(this); 577public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleOperandPlaceholder(this); 606public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableValuePlaceholder(this); 641public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDisposableValuePlaceholder(this); 679public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectOrCollectionValuePlaceholder(this); 714public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerValuePlaceholder(this); 752public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerReceiverPlaceholder(this); 787public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternReceiverPlaceholder(this); 822public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPatternIndexPlaceholder(this); 857public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternReceiverPlaceholder(this); 892public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePatternRangePlaceholder(this); 923public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDup(this); 951public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPassByCopy(this); 984public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadExpression(this); 1000public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false) 1009public ImmutableArray<BoundNode> ChildBoundNodes { get; } 1012public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBadStatement(this); 1014public BoundBadStatement Update(ImmutableArray<BoundNode> childBoundNodes) 1040public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExtractedFinallyBlock(this); 1075public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeExpression(this); 1113public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrValueExpression(this); 1154public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNamespaceExpression(this); 1196public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryOperator(this); 1244public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIncrementOperator(this); 1276public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAddressOfOperator(this); 1305public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedAddressOfOperator(this); 1348public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerLoad(this); 1380public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerIndirectionOperator(this); 1417public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPointerElementAccess(this); 1454public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFunctionPointerInvocation(this); 1486public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefTypeOperator(this); 1516public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMakeRefOperator(this); 1548public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRefValueOperator(this); 1580public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFromEndIndexExpression(this); 1613public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeExpression(this); 1666public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryOperator(this); 1704public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleBinaryOperator(this); 1749public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUserDefinedConditionalLogicalOperator(this); 1796public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCompoundAssignmentOperator(this); 1830public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentOperator(this); 1865public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionAssignmentOperator(this); 1906public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingOperator(this); 1937public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNullCoalescingAssignmentOperator(this); 1976public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedConditionalOperator(this); 2020public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalOperator(this); 2053public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayAccess(this); 2083public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayLength(this); 2116public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitableInfo(this); 2149public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAwaitExpression(this); 2202public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOfOperator(this); 2236public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlockInstrumentation(this); 2276public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodDefIndex(this); 2319public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalId(this); 2362public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameterId(this); 2397public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineInstanceId(this); 2432public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMaximumMethodDefIndex(this); 2470public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInstrumentationPayloadRoot(this); 2505public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionId(this); 2540public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitModuleVersionIdString(this); 2580public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSourceDocumentIndex(this); 2623public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodInfo(this); 2666public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldInfo(this); 2695public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultLiteral(this); 2720public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDefaultExpression(this); 2755public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsOperator(this); 2792public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAsOperator(this); 2824public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSizeOfOperator(this); 2868public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConversion(this); 2901public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReadOnlySpanFromArray(this); 2936public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgList(this); 2967public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArgListOperator(this); 3006public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedLocalCollectionInitializer(this); 3045public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePoint(this); 3072public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointWithSpan(this); 3109public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSavePreviousSequencePoint(this); 3146public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRestorePreviousSequencePoint(this); 3177public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStepThroughSequencePoint(this); 3213public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBlock(this); 3242public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitScope(this); 3273public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStateMachineScope(this); 3309public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalDeclaration(this); 3349public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMultipleLocalDeclarations(this); 3379public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingLocalDeclarations(this); 3411public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocalFunctionStatement(this); 3442public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoOpStatement(this); 3471public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitReturnStatement(this); 3499public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldReturnStatement(this); 3527public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitYieldBreakStatement(this); 3541public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowStatement(this); 3569public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionStatement(this); 3606public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBreakStatement(this); 3643public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitContinueStatement(this); 3688public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchStatement(this); 3724public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchDispatch(this); 3757public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIfStatement(this); 3837public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDoStatement(this); 3867public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhileStatement(this); 3909public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForStatement(this); 3960public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachStatement(this); 3991public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitForEachDeconstructStep(this); 4030public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUsingStatement(this); 4064public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFixedStatement(this); 4095public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLockStatement(this); 4132public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTryStatement(this); 4173public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCatchBlock(this); 4204public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLiteral(this); 4244public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUtf8String(this); 4279public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThisReference(this); 4314public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPreviousSubmissionReference(this); 4349public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHostObjectMemberReference(this); 4378public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBaseReference(this); 4427public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLocal(this); 4472public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPseudoVariable(this); 4505public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRangeVariable(this); 4545public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitParameter(this); 4582public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabelStatement(this); 4614public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitGotoStatement(this); 4645public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabeledStatement(this); 4682public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLabel(this); 4719public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStatementList(this); 4752public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalGoto(this); 4815public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchExpressionArm(this); 4843public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedSwitchExpression(this); 4877public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedSwitchExpression(this); 4905public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDecisionDag(this); 4950public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEvaluationDecisionDagNode(this); 4984public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTestDecisionDagNode(this); 5019public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWhenDecisionDagNode(this); 5056public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLeafDecisionDagNode(this); 5102public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTemp(this); 5131public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeTest(this); 5159public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagNonNullTest(this); 5185public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagExplicitNullTest(this); 5214public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagValueTest(this); 5245public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagRelationalTest(this); 5286public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagDeconstructEvaluation(this); 5315public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagTypeEvaluation(this); 5344public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagFieldEvaluation(this); 5375public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagPropertyEvaluation(this); 5406public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexEvaluation(this); 5453public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagIndexerEvaluation(this); 5502public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagSliceEvaluation(this); 5531public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDagAssignmentEvaluation(this); 5563public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchSection(this); 5596public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSwitchLabel(this); 5638public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequencePointExpression(this); 5674public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSequence(this); 5710public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSpillSequence(this); 5749public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicMemberAccess(this); 5802public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicInvocation(this); 5835public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalAccess(this); 5876public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLoweredConditionalAccess(this); 5914public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConditionalReceiver(this); 5947public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitComplexConditionalReceiver(this); 5988public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitMethodGroup(this); 6016public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyGroup(this); 6069public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCall(this); 6108public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAssignmentOperator(this); 6153public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAttribute(this); 6191public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedObjectCreationExpression(this); 6263public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectCreationExpression(this); 6308public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTupleLiteral(this); 6338public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedTupleLiteral(this); 6381public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectCreationExpression(this); 6413public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNoPiaObjectCreationExpression(this); 6460public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerExpression(this); 6507public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitObjectInitializerMember(this); 6552public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicObjectInitializerMember(this); 6580public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionInitializerExpression(this); 6625public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitCollectionElementInitializer(this); 6657public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicCollectionElementInitializer(this); 6692public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitReceiver(this); 6728public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousObjectCreationExpression(this); 6768public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitAnonymousPropertyDeclaration(this); 6798public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNewT(this); 6834public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDelegateCreationExpression(this); 6866public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayCreation(this); 6897public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitArrayInitialization(this); 6943public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStackAllocArrayCreation(this); 6972public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConvertedStackAllocExpression(this); 7012public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitFieldAccess(this); 7052public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitHoistedFieldAccess(this); 7086public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertyAccess(this); 7122public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitEventAccess(this); 7169public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIndexerAccess(this); 7218public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitImplicitIndexerAccess(this); 7258public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDynamicIndexerAccess(this); 7298public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitLambda(this); 7342public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnboundLambda(this); 7383public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitQueryClause(this); 7409public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypeOrInstanceInitializers(this); 7442public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNameOfOperator(this); 7484public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitUnconvertedInterpolatedString(this); 7512public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedString(this); 7540public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringHandlerPlaceholder(this); 7578public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitInterpolatedStringArgumentPlaceholder(this); 7613public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitStringInsert(this); 7655public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitIsPatternExpression(this); 7716public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstantPattern(this); 7752public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardPattern(this); 7801public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeclarationPattern(this); 7838public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRecursivePattern(this); 7882public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitListPattern(this); 7921public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitSlicePattern(this); 7957public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitITuplePattern(this); 7999public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPositionalSubpattern(this); 8029public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpattern(this); 8061public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitPropertySubpatternMember(this); 8093public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitTypePattern(this); 8128public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryPattern(this); 8158public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNegatedPattern(this); 8193public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitRelationalPattern(this); 8228public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDiscardExpression(this); 8256public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitThrowExpression(this); 8299public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutVariablePendingInference(this); 8325public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitDeconstructionVariablePendingInference(this); 8360public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitOutDeconstructVarPendingInference(this); 8396public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitNonConstructorMethodBody(this); 8426public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitConstructorMethodBody(this); 8457public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitExpressionWithNullability(this); 8492public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.VisitWithExpression(this); 8510internal R VisitInternal(BoundNode node, A arg) 9198public virtual BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) => this.DefaultVisit(node); 9199public virtual BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) => this.DefaultVisit(node); 9200public virtual BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) => this.DefaultVisit(node); 9201public virtual BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) => this.DefaultVisit(node); 9202public virtual BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => this.DefaultVisit(node); 9203public virtual BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) => this.DefaultVisit(node); 9204public virtual BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => this.DefaultVisit(node); 9205public virtual BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => this.DefaultVisit(node); 9206public virtual BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => this.DefaultVisit(node); 9207public virtual BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => this.DefaultVisit(node); 9208public virtual BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => this.DefaultVisit(node); 9209public virtual BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => this.DefaultVisit(node); 9210public virtual BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => this.DefaultVisit(node); 9211public virtual BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => this.DefaultVisit(node); 9212public virtual BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => this.DefaultVisit(node); 9213public virtual BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => this.DefaultVisit(node); 9214public virtual BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => this.DefaultVisit(node); 9215public virtual BoundNode? VisitDup(BoundDup node) => this.DefaultVisit(node); 9216public virtual BoundNode? VisitPassByCopy(BoundPassByCopy node) => this.DefaultVisit(node); 9217public virtual BoundNode? VisitBadExpression(BoundBadExpression node) => this.DefaultVisit(node); 9218public virtual BoundNode? VisitBadStatement(BoundBadStatement node) => this.DefaultVisit(node); 9219public virtual BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) => this.DefaultVisit(node); 9220public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node); 9221public virtual BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => this.DefaultVisit(node); 9222public virtual BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => this.DefaultVisit(node); 9223public virtual BoundNode? VisitUnaryOperator(BoundUnaryOperator node) => this.DefaultVisit(node); 9224public virtual BoundNode? VisitIncrementOperator(BoundIncrementOperator node) => this.DefaultVisit(node); 9225public virtual BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) => this.DefaultVisit(node); 9226public virtual BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) => this.DefaultVisit(node); 9227public virtual BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => this.DefaultVisit(node); 9228public virtual BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) => this.DefaultVisit(node); 9229public virtual BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) => this.DefaultVisit(node); 9230public virtual BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) => this.DefaultVisit(node); 9231public virtual BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) => this.DefaultVisit(node); 9232public virtual BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) => this.DefaultVisit(node); 9233public virtual BoundNode? VisitRefValueOperator(BoundRefValueOperator node) => this.DefaultVisit(node); 9234public virtual BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) => this.DefaultVisit(node); 9235public virtual BoundNode? VisitRangeExpression(BoundRangeExpression node) => this.DefaultVisit(node); 9236public virtual BoundNode? VisitBinaryOperator(BoundBinaryOperator node) => this.DefaultVisit(node); 9237public virtual BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) => this.DefaultVisit(node); 9238public virtual BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) => this.DefaultVisit(node); 9239public virtual BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) => this.DefaultVisit(node); 9240public virtual BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) => this.DefaultVisit(node); 9241public virtual BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) => this.DefaultVisit(node); 9242public virtual BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) => this.DefaultVisit(node); 9243public virtual BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) => this.DefaultVisit(node); 9244public virtual BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) => this.DefaultVisit(node); 9245public virtual BoundNode? VisitConditionalOperator(BoundConditionalOperator node) => this.DefaultVisit(node); 9246public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node); 9247public virtual BoundNode? VisitArrayLength(BoundArrayLength node) => this.DefaultVisit(node); 9248public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node); 9249public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node); 9250public virtual BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) => this.DefaultVisit(node); 9251public virtual BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) => this.DefaultVisit(node); 9252public virtual BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => this.DefaultVisit(node); 9253public virtual BoundNode? VisitLocalId(BoundLocalId node) => this.DefaultVisit(node); 9254public virtual BoundNode? VisitParameterId(BoundParameterId node) => this.DefaultVisit(node); 9255public virtual BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => this.DefaultVisit(node); 9256public virtual BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => this.DefaultVisit(node); 9257public virtual BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => this.DefaultVisit(node); 9258public virtual BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => this.DefaultVisit(node); 9259public virtual BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => this.DefaultVisit(node); 9260public virtual BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => this.DefaultVisit(node); 9261public virtual BoundNode? VisitMethodInfo(BoundMethodInfo node) => this.DefaultVisit(node); 9262public virtual BoundNode? VisitFieldInfo(BoundFieldInfo node) => this.DefaultVisit(node); 9263public virtual BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => this.DefaultVisit(node); 9264public virtual BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => this.DefaultVisit(node); 9265public virtual BoundNode? VisitIsOperator(BoundIsOperator node) => this.DefaultVisit(node); 9266public virtual BoundNode? VisitAsOperator(BoundAsOperator node) => this.DefaultVisit(node); 9267public virtual BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) => this.DefaultVisit(node); 9268public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node); 9269public virtual BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) => this.DefaultVisit(node); 9270public virtual BoundNode? VisitArgList(BoundArgList node) => this.DefaultVisit(node); 9271public virtual BoundNode? VisitArgListOperator(BoundArgListOperator node) => this.DefaultVisit(node); 9272public virtual BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) => this.DefaultVisit(node); 9273public virtual BoundNode? VisitSequencePoint(BoundSequencePoint node) => this.DefaultVisit(node); 9274public virtual BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) => this.DefaultVisit(node); 9275public virtual BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => this.DefaultVisit(node); 9276public virtual BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => this.DefaultVisit(node); 9277public virtual BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => this.DefaultVisit(node); 9278public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node); 9279public virtual BoundNode? VisitScope(BoundScope node) => this.DefaultVisit(node); 9280public virtual BoundNode? VisitStateMachineScope(BoundStateMachineScope node) => this.DefaultVisit(node); 9281public virtual BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) => this.DefaultVisit(node); 9282public virtual BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) => this.DefaultVisit(node); 9283public virtual BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) => this.DefaultVisit(node); 9284public virtual BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) => this.DefaultVisit(node); 9285public virtual BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => this.DefaultVisit(node); 9286public virtual BoundNode? VisitReturnStatement(BoundReturnStatement node) => this.DefaultVisit(node); 9287public virtual BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) => this.DefaultVisit(node); 9288public virtual BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => this.DefaultVisit(node); 9289public virtual BoundNode? VisitThrowStatement(BoundThrowStatement node) => this.DefaultVisit(node); 9290public virtual BoundNode? VisitExpressionStatement(BoundExpressionStatement node) => this.DefaultVisit(node); 9291public virtual BoundNode? VisitBreakStatement(BoundBreakStatement node) => this.DefaultVisit(node); 9292public virtual BoundNode? VisitContinueStatement(BoundContinueStatement node) => this.DefaultVisit(node); 9293public virtual BoundNode? VisitSwitchStatement(BoundSwitchStatement node) => this.DefaultVisit(node); 9294public virtual BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) => this.DefaultVisit(node); 9295public virtual BoundNode? VisitIfStatement(BoundIfStatement node) => this.DefaultVisit(node); 9296public virtual BoundNode? VisitDoStatement(BoundDoStatement node) => this.DefaultVisit(node); 9297public virtual BoundNode? VisitWhileStatement(BoundWhileStatement node) => this.DefaultVisit(node); 9298public virtual BoundNode? VisitForStatement(BoundForStatement node) => this.DefaultVisit(node); 9299public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node); 9300public virtual BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) => this.DefaultVisit(node); 9301public virtual BoundNode? VisitUsingStatement(BoundUsingStatement node) => this.DefaultVisit(node); 9302public virtual BoundNode? VisitFixedStatement(BoundFixedStatement node) => this.DefaultVisit(node); 9303public virtual BoundNode? VisitLockStatement(BoundLockStatement node) => this.DefaultVisit(node); 9304public virtual BoundNode? VisitTryStatement(BoundTryStatement node) => this.DefaultVisit(node); 9305public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 9306public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node); 9307public virtual BoundNode? VisitUtf8String(BoundUtf8String node) => this.DefaultVisit(node); 9308public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node); 9309public virtual BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => this.DefaultVisit(node); 9310public virtual BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => this.DefaultVisit(node); 9311public virtual BoundNode? VisitBaseReference(BoundBaseReference node) => this.DefaultVisit(node); 9312public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node); 9313public virtual BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => this.DefaultVisit(node); 9314public virtual BoundNode? VisitRangeVariable(BoundRangeVariable node) => this.DefaultVisit(node); 9315public virtual BoundNode? VisitParameter(BoundParameter node) => this.DefaultVisit(node); 9316public virtual BoundNode? VisitLabelStatement(BoundLabelStatement node) => this.DefaultVisit(node); 9317public virtual BoundNode? VisitGotoStatement(BoundGotoStatement node) => this.DefaultVisit(node); 9318public virtual BoundNode? VisitLabeledStatement(BoundLabeledStatement node) => this.DefaultVisit(node); 9319public virtual BoundNode? VisitLabel(BoundLabel node) => this.DefaultVisit(node); 9320public virtual BoundNode? VisitStatementList(BoundStatementList node) => this.DefaultVisit(node); 9321public virtual BoundNode? VisitConditionalGoto(BoundConditionalGoto node) => this.DefaultVisit(node); 9322public virtual BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) => this.DefaultVisit(node); 9323public virtual BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) => this.DefaultVisit(node); 9324public virtual BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) => this.DefaultVisit(node); 9325public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node); 9326public virtual BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) => this.DefaultVisit(node); 9327public virtual BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) => this.DefaultVisit(node); 9328public virtual BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) => this.DefaultVisit(node); 9329public virtual BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => this.DefaultVisit(node); 9330public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node); 9331public virtual BoundNode? VisitDagTypeTest(BoundDagTypeTest node) => this.DefaultVisit(node); 9332public virtual BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) => this.DefaultVisit(node); 9333public virtual BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) => this.DefaultVisit(node); 9334public virtual BoundNode? VisitDagValueTest(BoundDagValueTest node) => this.DefaultVisit(node); 9335public virtual BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) => this.DefaultVisit(node); 9336public virtual BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) => this.DefaultVisit(node); 9337public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node); 9338public virtual BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) => this.DefaultVisit(node); 9339public virtual BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) => this.DefaultVisit(node); 9340public virtual BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) => this.DefaultVisit(node); 9341public virtual BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) => this.DefaultVisit(node); 9342public virtual BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) => this.DefaultVisit(node); 9343public virtual BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) => this.DefaultVisit(node); 9344public virtual BoundNode? VisitSwitchSection(BoundSwitchSection node) => this.DefaultVisit(node); 9345public virtual BoundNode? VisitSwitchLabel(BoundSwitchLabel node) => this.DefaultVisit(node); 9346public virtual BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) => this.DefaultVisit(node); 9347public virtual BoundNode? VisitSequence(BoundSequence node) => this.DefaultVisit(node); 9348public virtual BoundNode? VisitSpillSequence(BoundSpillSequence node) => this.DefaultVisit(node); 9349public virtual BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) => this.DefaultVisit(node); 9350public virtual BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) => this.DefaultVisit(node); 9351public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node); 9352public virtual BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) => this.DefaultVisit(node); 9353public virtual BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => this.DefaultVisit(node); 9354public virtual BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) => this.DefaultVisit(node); 9355public virtual BoundNode? VisitMethodGroup(BoundMethodGroup node) => this.DefaultVisit(node); 9356public virtual BoundNode? VisitPropertyGroup(BoundPropertyGroup node) => this.DefaultVisit(node); 9357public virtual BoundNode? VisitCall(BoundCall node) => this.DefaultVisit(node); 9358public virtual BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) => this.DefaultVisit(node); 9359public virtual BoundNode? VisitAttribute(BoundAttribute node) => this.DefaultVisit(node); 9360public virtual BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) => this.DefaultVisit(node); 9361public virtual BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) => this.DefaultVisit(node); 9362public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node); 9363public virtual BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) => this.DefaultVisit(node); 9364public virtual BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) => this.DefaultVisit(node); 9365public virtual BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) => this.DefaultVisit(node); 9366public virtual BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) => this.DefaultVisit(node); 9367public virtual BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) => this.DefaultVisit(node); 9368public virtual BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => this.DefaultVisit(node); 9369public virtual BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) => this.DefaultVisit(node); 9370public virtual BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) => this.DefaultVisit(node); 9371public virtual BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) => this.DefaultVisit(node); 9372public virtual BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => this.DefaultVisit(node); 9373public virtual BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) => this.DefaultVisit(node); 9374public virtual BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => this.DefaultVisit(node); 9375public virtual BoundNode? VisitNewT(BoundNewT node) => this.DefaultVisit(node); 9376public virtual BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) => this.DefaultVisit(node); 9377public virtual BoundNode? VisitArrayCreation(BoundArrayCreation node) => this.DefaultVisit(node); 9378public virtual BoundNode? VisitArrayInitialization(BoundArrayInitialization node) => this.DefaultVisit(node); 9379public virtual BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) => this.DefaultVisit(node); 9380public virtual BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) => this.DefaultVisit(node); 9381public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node); 9382public virtual BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => this.DefaultVisit(node); 9383public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node); 9384public virtual BoundNode? VisitEventAccess(BoundEventAccess node) => this.DefaultVisit(node); 9385public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node); 9386public virtual BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) => this.DefaultVisit(node); 9387public virtual BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) => this.DefaultVisit(node); 9388public virtual BoundNode? VisitLambda(BoundLambda node) => this.DefaultVisit(node); 9389public virtual BoundNode? VisitUnboundLambda(UnboundLambda node) => this.DefaultVisit(node); 9390public virtual BoundNode? VisitQueryClause(BoundQueryClause node) => this.DefaultVisit(node); 9391public virtual BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) => this.DefaultVisit(node); 9392public virtual BoundNode? VisitNameOfOperator(BoundNameOfOperator node) => this.DefaultVisit(node); 9393public virtual BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) => this.DefaultVisit(node); 9394public virtual BoundNode? VisitInterpolatedString(BoundInterpolatedString node) => this.DefaultVisit(node); 9395public virtual BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => this.DefaultVisit(node); 9396public virtual BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => this.DefaultVisit(node); 9397public virtual BoundNode? VisitStringInsert(BoundStringInsert node) => this.DefaultVisit(node); 9398public virtual BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) => this.DefaultVisit(node); 9399public virtual BoundNode? VisitConstantPattern(BoundConstantPattern node) => this.DefaultVisit(node); 9400public virtual BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => this.DefaultVisit(node); 9401public virtual BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) => this.DefaultVisit(node); 9402public virtual BoundNode? VisitRecursivePattern(BoundRecursivePattern node) => this.DefaultVisit(node); 9403public virtual BoundNode? VisitListPattern(BoundListPattern node) => this.DefaultVisit(node); 9404public virtual BoundNode? VisitSlicePattern(BoundSlicePattern node) => this.DefaultVisit(node); 9405public virtual BoundNode? VisitITuplePattern(BoundITuplePattern node) => this.DefaultVisit(node); 9406public virtual BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) => this.DefaultVisit(node); 9407public virtual BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) => this.DefaultVisit(node); 9408public virtual BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) => this.DefaultVisit(node); 9409public virtual BoundNode? VisitTypePattern(BoundTypePattern node) => this.DefaultVisit(node); 9410public virtual BoundNode? VisitBinaryPattern(BoundBinaryPattern node) => this.DefaultVisit(node); 9411public virtual BoundNode? VisitNegatedPattern(BoundNegatedPattern node) => this.DefaultVisit(node); 9412public virtual BoundNode? VisitRelationalPattern(BoundRelationalPattern node) => this.DefaultVisit(node); 9413public virtual BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => this.DefaultVisit(node); 9414public virtual BoundNode? VisitThrowExpression(BoundThrowExpression node) => this.DefaultVisit(node); 9415public virtual BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) => this.DefaultVisit(node); 9416public virtual BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) => this.DefaultVisit(node); 9417public virtual BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => this.DefaultVisit(node); 9418public virtual BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) => this.DefaultVisit(node); 9419public virtual BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) => this.DefaultVisit(node); 9420public virtual BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) => this.DefaultVisit(node); 9421public virtual BoundNode? VisitWithExpression(BoundWithExpression node) => this.DefaultVisit(node); 9426public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 9431public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 9436public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 9441public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 9446public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) => null; 9447public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 9452public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) => null; 9453public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) => null; 9454public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) => null; 9455public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) => null; 9456public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) => null; 9457public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) => null; 9458public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) => null; 9459public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) => null; 9460public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) => null; 9461public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) => null; 9462public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) => null; 9463public override BoundNode? VisitDup(BoundDup node) => null; 9464public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 9469public override BoundNode? VisitBadExpression(BoundBadExpression node) 9474public override BoundNode? VisitBadStatement(BoundBadStatement node) 9479public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 9484public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 9490public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) => null; 9491public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) => null; 9492public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 9497public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 9502public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 9507public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 9512public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) => null; 9513public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 9518public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 9524public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 9530public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 9535public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 9540public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 9545public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 9550public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 9556public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 9562public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 9568public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 9574public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 9580public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 9586public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 9592public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 9598public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 9604public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 9611public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 9618public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 9624public override BoundNode? VisitArrayLength(BoundArrayLength node) 9629public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 9635public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 9641public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 9646public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 9652public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) => null; 9653public override BoundNode? VisitLocalId(BoundLocalId node) => null; 9654public override BoundNode? VisitParameterId(BoundParameterId node) => null; 9655public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) => null; 9656public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) => null; 9657public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) => null; 9658public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) => null; 9659public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) => null; 9660public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) => null; 9661public override BoundNode? VisitMethodInfo(BoundMethodInfo node) => null; 9662public override BoundNode? VisitFieldInfo(BoundFieldInfo node) => null; 9663public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) => null; 9664public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) => null; 9665public override BoundNode? VisitIsOperator(BoundIsOperator node) 9671public override BoundNode? VisitAsOperator(BoundAsOperator node) 9677public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 9682public override BoundNode? VisitConversion(BoundConversion node) 9687public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 9692public override BoundNode? VisitArgList(BoundArgList node) => null; 9693public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 9698public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 9703public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 9708public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 9713public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => null; 9714public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => null; 9715public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => null; 9716public override BoundNode? VisitBlock(BoundBlock node) 9722public override BoundNode? VisitScope(BoundScope node) 9727public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 9732public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 9739public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 9744public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 9750public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 9756public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => null; 9757public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 9762public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 9767public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => null; 9768public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 9773public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 9778public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => null; 9779public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => null; 9780public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 9787public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 9792public override BoundNode? VisitIfStatement(BoundIfStatement node) 9799public override BoundNode? VisitDoStatement(BoundDoStatement node) 9805public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 9811public override BoundNode? VisitForStatement(BoundForStatement node) 9819public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 9829public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 9835public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 9843public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 9849public override BoundNode? VisitLockStatement(BoundLockStatement node) 9855public override BoundNode? VisitTryStatement(BoundTryStatement node) 9862public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 9870public override BoundNode? VisitLiteral(BoundLiteral node) => null; 9871public override BoundNode? VisitUtf8String(BoundUtf8String node) => null; 9872public override BoundNode? VisitThisReference(BoundThisReference node) => null; 9873public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) => null; 9874public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) => null; 9875public override BoundNode? VisitBaseReference(BoundBaseReference node) => null; 9876public override BoundNode? VisitLocal(BoundLocal node) => null; 9877public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) => null; 9878public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 9883public override BoundNode? VisitParameter(BoundParameter node) => null; 9884public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => null; 9885public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 9891public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 9896public override BoundNode? VisitLabel(BoundLabel node) => null; 9897public override BoundNode? VisitStatementList(BoundStatementList node) 9902public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 9907public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 9914public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 9920public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 9926public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 9931public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 9937public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 9944public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 9951public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => null; 9952public override BoundNode? VisitDagTemp(BoundDagTemp node) 9957public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 9962public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 9967public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 9972public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 9977public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 9982public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 9987public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 9992public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 9997public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 10002public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 10007public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 10016public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 10025public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 10031public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 10037public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 10043public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 10048public override BoundNode? VisitSequence(BoundSequence node) 10054public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 10060public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 10065public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 10071public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 10077public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 10084public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) => null; 10085public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 10091public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 10096public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 10101public override BoundNode? VisitCall(BoundCall node) 10107public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 10113public override BoundNode? VisitAttribute(BoundAttribute node) 10119public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 10124public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 10130public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 10135public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 10140public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 10146public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 10151public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 10157public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 10162public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) => null; 10163public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 10169public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 10175public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 10181public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) => null; 10182public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 10188public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) => null; 10189public override BoundNode? VisitNewT(BoundNewT node) 10194public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 10199public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 10205public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 10210public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 10216public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 10222public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 10227public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) => null; 10228public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 10233public override BoundNode? VisitEventAccess(BoundEventAccess node) 10238public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 10244public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 10250public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 10256public override BoundNode? VisitLambda(BoundLambda node) 10261public override BoundNode? VisitUnboundLambda(UnboundLambda node) => null; 10262public override BoundNode? VisitQueryClause(BoundQueryClause node) 10267public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 10272public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 10277public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 10282public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 10287public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) => null; 10288public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) => null; 10289public override BoundNode? VisitStringInsert(BoundStringInsert node) 10296public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 10302public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 10307public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) => null; 10308public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 10314public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 10322public override BoundNode? VisitListPattern(BoundListPattern node) 10328public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 10333public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 10338public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 10343public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 10349public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 10354public override BoundNode? VisitTypePattern(BoundTypePattern node) 10359public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 10365public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 10370public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 10375public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) => null; 10376public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 10381public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 10386public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 10391public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) => null; 10392public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 10398public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 10405public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 10410public override BoundNode? VisitWithExpression(BoundWithExpression node) 10420public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 10425public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 10430public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 10435public override BoundNode? VisitGlobalStatementInitializer(BoundGlobalStatementInitializer node) 10440public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 10445public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 10451public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 10456public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 10461public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 10466public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 10471public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 10476public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 10481public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 10486public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 10491public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 10496public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 10501public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 10506public override BoundNode? VisitDup(BoundDup node) 10511public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 10517public override BoundNode? VisitBadExpression(BoundBadExpression node) 10523public override BoundNode? VisitBadStatement(BoundBadStatement node) 10525ImmutableArray<BoundNode> childBoundNodes = this.VisitList(node.ChildBoundNodes); 10528public override BoundNode? VisitExtractedFinallyBlock(BoundExtractedFinallyBlock node) 10533public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 10540public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 10545public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 10550public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 10557public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 10568public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 10574public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 10580public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 10586public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 10592public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 10599public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 10606public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 10612public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 10618public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 10624public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 10630public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 10637public override BoundNode? VisitBinaryOperator(BoundBinaryOperator node) 10644public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 10651public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 10659public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 10670public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 10677public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 10684public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 10693public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 10700public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 10708public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 10717public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 10724public override BoundNode? VisitArrayLength(BoundArrayLength node) 10730public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 10736public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 10743public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 10749public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 10755public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 10760public override BoundNode? VisitLocalId(BoundLocalId node) 10765public override BoundNode? VisitParameterId(BoundParameterId node) 10770public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 10775public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 10780public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 10785public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 10790public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 10795public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 10800public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 10805public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 10810public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 10815public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 10821public override BoundNode? VisitIsOperator(BoundIsOperator node) 10828public override BoundNode? VisitAsOperator(BoundAsOperator node) 10837public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 10843public override BoundNode? VisitConversion(BoundConversion node) 10849public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 10855public override BoundNode? VisitArgList(BoundArgList node) 10860public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 10866public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 10875public override BoundNode? VisitSequencePoint(BoundSequencePoint node) 10880public override BoundNode? VisitSequencePointWithSpan(BoundSequencePointWithSpan node) 10885public override BoundNode? VisitSavePreviousSequencePoint(BoundSavePreviousSequencePoint node) => node; 10886public override BoundNode? VisitRestorePreviousSequencePoint(BoundRestorePreviousSequencePoint node) => node; 10887public override BoundNode? VisitStepThroughSequencePoint(BoundStepThroughSequencePoint node) => node; 10888public override BoundNode? VisitBlock(BoundBlock node) 10894public override BoundNode? VisitScope(BoundScope node) 10899public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 10904public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 10911public override BoundNode? VisitMultipleLocalDeclarations(BoundMultipleLocalDeclarations node) 10916public override BoundNode? VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) 10922public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 10928public override BoundNode? VisitNoOpStatement(BoundNoOpStatement node) => node; 10929public override BoundNode? VisitReturnStatement(BoundReturnStatement node) 10934public override BoundNode? VisitYieldReturnStatement(BoundYieldReturnStatement node) 10939public override BoundNode? VisitYieldBreakStatement(BoundYieldBreakStatement node) => node; 10940public override BoundNode? VisitThrowStatement(BoundThrowStatement node) 10945public override BoundNode? VisitExpressionStatement(BoundExpressionStatement node) 10950public override BoundNode? VisitBreakStatement(BoundBreakStatement node) => node; 10951public override BoundNode? VisitContinueStatement(BoundContinueStatement node) => node; 10952public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 10960public override BoundNode? VisitSwitchDispatch(BoundSwitchDispatch node) 10965public override BoundNode? VisitIfStatement(BoundIfStatement node) 10972public override BoundNode? VisitDoStatement(BoundDoStatement node) 10978public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 10984public override BoundNode? VisitForStatement(BoundForStatement node) 10992public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 11004public override BoundNode? VisitForEachDeconstructStep(BoundForEachDeconstructStep node) 11010public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 11018public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 11024public override BoundNode? VisitLockStatement(BoundLockStatement node) 11030public override BoundNode? VisitTryStatement(BoundTryStatement node) 11037public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11046public override BoundNode? VisitLiteral(BoundLiteral node) 11051public override BoundNode? VisitUtf8String(BoundUtf8String node) 11056public override BoundNode? VisitThisReference(BoundThisReference node) 11061public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 11066public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 11071public override BoundNode? VisitBaseReference(BoundBaseReference node) 11076public override BoundNode? VisitLocal(BoundLocal node) 11081public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 11086public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 11092public override BoundNode? VisitParameter(BoundParameter node) 11097public override BoundNode? VisitLabelStatement(BoundLabelStatement node) => node; 11098public override BoundNode? VisitGotoStatement(BoundGotoStatement node) 11104public override BoundNode? VisitLabeledStatement(BoundLabeledStatement node) 11109public override BoundNode? VisitLabel(BoundLabel node) 11114public override BoundNode? VisitStatementList(BoundStatementList node) 11119public override BoundNode? VisitConditionalGoto(BoundConditionalGoto node) 11124public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 11131public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 11139public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 11148public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 11153public override BoundNode? VisitEvaluationDecisionDagNode(BoundEvaluationDecisionDagNode node) 11159public override BoundNode? VisitTestDecisionDagNode(BoundTestDecisionDagNode node) 11166public override BoundNode? VisitWhenDecisionDagNode(BoundWhenDecisionDagNode node) 11173public override BoundNode? VisitLeafDecisionDagNode(BoundLeafDecisionDagNode node) => node; 11174public override BoundNode? VisitDagTemp(BoundDagTemp node) 11180public override BoundNode? VisitDagTypeTest(BoundDagTypeTest node) 11186public override BoundNode? VisitDagNonNullTest(BoundDagNonNullTest node) 11191public override BoundNode? VisitDagExplicitNullTest(BoundDagExplicitNullTest node) 11196public override BoundNode? VisitDagValueTest(BoundDagValueTest node) 11201public override BoundNode? VisitDagRelationalTest(BoundDagRelationalTest node) 11206public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 11211public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 11217public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 11222public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 11227public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 11232public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 11242public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 11252public override BoundNode? VisitDagAssignmentEvaluation(BoundDagAssignmentEvaluation node) 11258public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 11264public override BoundNode? VisitSwitchLabel(BoundSwitchLabel node) 11270public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 11276public override BoundNode? VisitSequence(BoundSequence node) 11283public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 11290public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 11296public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 11303public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 11310public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 11318public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 11323public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 11330public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 11336public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 11342public override BoundNode? VisitCall(BoundCall node) 11349public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 11356public override BoundNode? VisitAttribute(BoundAttribute node) 11363public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 11369public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 11376public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11382public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 11389public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 11396public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 11402public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 11409public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 11416public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 11422public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 11429public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 11436public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 11443public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 11448public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 11455public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 11460public override BoundNode? VisitNewT(BoundNewT node) 11466public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 11472public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 11479public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 11485public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 11493public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 11501public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 11507public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 11512public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 11518public override BoundNode? VisitEventAccess(BoundEventAccess node) 11524public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 11531public override BoundNode? VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 11542public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 11549public override BoundNode? VisitLambda(BoundLambda node) 11556public override BoundNode? VisitUnboundLambda(UnboundLambda node) 11561public override BoundNode? VisitQueryClause(BoundQueryClause node) 11570public override BoundNode? VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 11575public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 11581public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 11587public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 11593public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 11598public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 11603public override BoundNode? VisitStringInsert(BoundStringInsert node) 11611public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 11619public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 11626public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 11632public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 11640public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 11650public override BoundNode? VisitListPattern(BoundListPattern node) 11662public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 11672public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 11679public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 11684public override BoundNode? VisitPropertySubpattern(BoundPropertySubpattern node) 11690public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 11696public override BoundNode? VisitTypePattern(BoundTypePattern node) 11703public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 11711public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 11718public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 11725public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 11730public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 11736public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 11742public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 11748public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 11753public override BoundNode? VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node) 11759public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 11766public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 11772public override BoundNode? VisitWithExpression(BoundWithExpression node) 11794public override BoundNode? VisitFieldEqualsValue(BoundFieldEqualsValue node) 11802public override BoundNode? VisitPropertyEqualsValue(BoundPropertyEqualsValue node) 11810public override BoundNode? VisitParameterEqualsValue(BoundParameterEqualsValue node) 11818public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 11830public override BoundNode? VisitCapturedReceiverPlaceholder(BoundCapturedReceiverPlaceholder node) 11847public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 11864public override BoundNode? VisitTupleOperandPlaceholder(BoundTupleOperandPlaceholder node) 11876public override BoundNode? VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 11888public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 11900public override BoundNode? VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 11912public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 11924public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 11936public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 11948public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 11960public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 11972public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 11984public override BoundNode? VisitDup(BoundDup node) 11996public override BoundNode? VisitPassByCopy(BoundPassByCopy node) 12013public override BoundNode? VisitBadExpression(BoundBadExpression node) 12031public override BoundNode? VisitTypeExpression(BoundTypeExpression node) 12049public override BoundNode? VisitTypeOrValueExpression(BoundTypeOrValueExpression node) 12061public override BoundNode? VisitNamespaceExpression(BoundNamespaceExpression node) 12073public override BoundNode? VisitUnaryOperator(BoundUnaryOperator node) 12093public override BoundNode? VisitIncrementOperator(BoundIncrementOperator node) 12117public override BoundNode? VisitAddressOfOperator(BoundAddressOfOperator node) 12134public override BoundNode? VisitUnconvertedAddressOfOperator(BoundUnconvertedAddressOfOperator node) 12151public override BoundNode? VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 12169public override BoundNode? VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 12186public override BoundNode? VisitPointerElementAccess(BoundPointerElementAccess node) 12204public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 12222public override BoundNode? VisitRefTypeOperator(BoundRefTypeOperator node) 12240public override BoundNode? VisitMakeRefOperator(BoundMakeRefOperator node) 12257public override BoundNode? VisitRefValueOperator(BoundRefValueOperator node) 12274public override BoundNode? VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 12292public override BoundNode? VisitRangeExpression(BoundRangeExpression node) 12311public override BoundNode? VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 12329public override BoundNode? VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 12352public override BoundNode? VisitAssignmentOperator(BoundAssignmentOperator node) 12370public override BoundNode? VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 12388public override BoundNode? VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 12408public override BoundNode? VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 12426public override BoundNode? VisitUnconvertedConditionalOperator(BoundUnconvertedConditionalOperator node) 12445public override BoundNode? VisitConditionalOperator(BoundConditionalOperator node) 12465public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 12483public override BoundNode? VisitArrayLength(BoundArrayLength node) 12500public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 12509public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 12527public override BoundNode? VisitTypeOfOperator(BoundTypeOfOperator node) 12545public override BoundNode? VisitBlockInstrumentation(BoundBlockInstrumentation node) 12553public override BoundNode? VisitMethodDefIndex(BoundMethodDefIndex node) 12570public override BoundNode? VisitLocalId(BoundLocalId node) 12588public override BoundNode? VisitParameterId(BoundParameterId node) 12606public override BoundNode? VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 12618public override BoundNode? VisitMaximumMethodDefIndex(BoundMaximumMethodDefIndex node) 12630public override BoundNode? VisitInstrumentationPayloadRoot(BoundInstrumentationPayloadRoot node) 12642public override BoundNode? VisitModuleVersionId(BoundModuleVersionId node) 12654public override BoundNode? VisitModuleVersionIdString(BoundModuleVersionIdString node) 12666public override BoundNode? VisitSourceDocumentIndex(BoundSourceDocumentIndex node) 12678public override BoundNode? VisitMethodInfo(BoundMethodInfo node) 12696public override BoundNode? VisitFieldInfo(BoundFieldInfo node) 12714public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 12726public override BoundNode? VisitDefaultExpression(BoundDefaultExpression node) 12743public override BoundNode? VisitIsOperator(BoundIsOperator node) 12761public override BoundNode? VisitAsOperator(BoundAsOperator node) 12781public override BoundNode? VisitSizeOfOperator(BoundSizeOfOperator node) 12798public override BoundNode? VisitConversion(BoundConversion node) 12816public override BoundNode? VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 12834public override BoundNode? VisitArgList(BoundArgList node) 12846public override BoundNode? VisitArgListOperator(BoundArgListOperator node) 12863public override BoundNode? VisitFixedLocalCollectionInitializer(BoundFixedLocalCollectionInitializer node) 12884public override BoundNode? VisitBlock(BoundBlock node) 12893public override BoundNode? VisitScope(BoundScope node) 12900public override BoundNode? VisitStateMachineScope(BoundStateMachineScope node) 12907public override BoundNode? VisitLocalDeclaration(BoundLocalDeclaration node) 12916public override BoundNode? VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 12924public override BoundNode? VisitSwitchStatement(BoundSwitchStatement node) 12935public override BoundNode? VisitDoStatement(BoundDoStatement node) 12943public override BoundNode? VisitWhileStatement(BoundWhileStatement node) 12951public override BoundNode? VisitForStatement(BoundForStatement node) 12962public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 12976public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 12986public override BoundNode? VisitFixedStatement(BoundFixedStatement node) 12994public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13005public override BoundNode? VisitLiteral(BoundLiteral node) 13017public override BoundNode? VisitUtf8String(BoundUtf8String node) 13029public override BoundNode? VisitThisReference(BoundThisReference node) 13041public override BoundNode? VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node) 13053public override BoundNode? VisitHostObjectMemberReference(BoundHostObjectMemberReference node) 13065public override BoundNode? VisitBaseReference(BoundBaseReference node) 13077public override BoundNode? VisitLocal(BoundLocal node) 13094public override BoundNode? VisitPseudoVariable(BoundPseudoVariable node) 13111public override BoundNode? VisitRangeVariable(BoundRangeVariable node) 13129public override BoundNode? VisitParameter(BoundParameter node) 13146public override BoundNode? VisitLabel(BoundLabel node) 13158public override BoundNode? VisitSwitchExpressionArm(BoundSwitchExpressionArm node) 13167public override BoundNode? VisitUnconvertedSwitchExpression(BoundUnconvertedSwitchExpression node) 13186public override BoundNode? VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 13206public override BoundNode? VisitDagDeconstructEvaluation(BoundDagDeconstructEvaluation node) 13213public override BoundNode? VisitDagFieldEvaluation(BoundDagFieldEvaluation node) 13220public override BoundNode? VisitDagPropertyEvaluation(BoundDagPropertyEvaluation node) 13227public override BoundNode? VisitDagIndexEvaluation(BoundDagIndexEvaluation node) 13234public override BoundNode? VisitDagIndexerEvaluation(BoundDagIndexerEvaluation node) 13245public override BoundNode? VisitDagSliceEvaluation(BoundDagSliceEvaluation node) 13256public override BoundNode? VisitSwitchSection(BoundSwitchSection node) 13264public override BoundNode? VisitSequencePointExpression(BoundSequencePointExpression node) 13281public override BoundNode? VisitSequence(BoundSequence node) 13300public override BoundNode? VisitSpillSequence(BoundSpillSequence node) 13319public override BoundNode? VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 13336public override BoundNode? VisitDynamicInvocation(BoundDynamicInvocation node) 13355public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 13373public override BoundNode? VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 13393public override BoundNode? VisitConditionalReceiver(BoundConditionalReceiver node) 13405public override BoundNode? VisitComplexConditionalReceiver(BoundComplexConditionalReceiver node) 13423public override BoundNode? VisitMethodGroup(BoundMethodGroup node) 13443public override BoundNode? VisitPropertyGroup(BoundPropertyGroup node) 13461public override BoundNode? VisitCall(BoundCall node) 13481public override BoundNode? VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 13500public override BoundNode? VisitAttribute(BoundAttribute node) 13519public override BoundNode? VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 13536public override BoundNode? VisitObjectCreationExpression(BoundObjectCreationExpression node) 13556public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 13573public override BoundNode? VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 13591public override BoundNode? VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 13610public override BoundNode? VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node) 13627public override BoundNode? VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 13645public override BoundNode? VisitObjectInitializerMember(BoundObjectInitializerMember node) 13664public override BoundNode? VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 13681public override BoundNode? VisitCollectionInitializerExpression(BoundCollectionInitializerExpression node) 13699public override BoundNode? VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 13718public override BoundNode? VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 13737public override BoundNode? VisitImplicitReceiver(BoundImplicitReceiver node) 13749public override BoundNode? VisitAnonymousObjectCreationExpression(BoundAnonymousObjectCreationExpression node) 13768public override BoundNode? VisitAnonymousPropertyDeclaration(BoundAnonymousPropertyDeclaration node) 13785public override BoundNode? VisitNewT(BoundNewT node) 13802public override BoundNode? VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 13820public override BoundNode? VisitArrayCreation(BoundArrayCreation node) 13838public override BoundNode? VisitArrayInitialization(BoundArrayInitialization node) 13855public override BoundNode? VisitStackAllocArrayCreation(BoundStackAllocArrayCreation node) 13874public override BoundNode? VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 13893public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 13911public override BoundNode? VisitHoistedFieldAccess(BoundHoistedFieldAccess node) 13928public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 13946public override BoundNode? VisitEventAccess(BoundEventAccess node) 13964public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 13984public override BoundNode? VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 14003public override BoundNode? VisitLambda(BoundLambda node) 14022public override BoundNode? VisitUnboundLambda(UnboundLambda node) 14039public override BoundNode? VisitQueryClause(BoundQueryClause node) 14060public override BoundNode? VisitNameOfOperator(BoundNameOfOperator node) 14077public override BoundNode? VisitUnconvertedInterpolatedString(BoundUnconvertedInterpolatedString node) 14094public override BoundNode? VisitInterpolatedString(BoundInterpolatedString node) 14111public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 14123public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 14135public override BoundNode? VisitStringInsert(BoundStringInsert node) 14154public override BoundNode? VisitIsPatternExpression(BoundIsPatternExpression node) 14173public override BoundNode? VisitConstantPattern(BoundConstantPattern node) 14181public override BoundNode? VisitDiscardPattern(BoundDiscardPattern node) 14188public override BoundNode? VisitDeclarationPattern(BoundDeclarationPattern node) 14198public override BoundNode? VisitRecursivePattern(BoundRecursivePattern node) 14211public override BoundNode? VisitListPattern(BoundListPattern node) 14225public override BoundNode? VisitSlicePattern(BoundSlicePattern node) 14236public override BoundNode? VisitITuplePattern(BoundITuplePattern node) 14246public override BoundNode? VisitPositionalSubpattern(BoundPositionalSubpattern node) 14253public override BoundNode? VisitPropertySubpatternMember(BoundPropertySubpatternMember node) 14260public override BoundNode? VisitTypePattern(BoundTypePattern node) 14268public override BoundNode? VisitBinaryPattern(BoundBinaryPattern node) 14277public override BoundNode? VisitNegatedPattern(BoundNegatedPattern node) 14285public override BoundNode? VisitRelationalPattern(BoundRelationalPattern node) 14293public override BoundNode? VisitDiscardExpression(BoundDiscardExpression node) 14305public override BoundNode? VisitThrowExpression(BoundThrowExpression node) 14322public override BoundNode? VisitOutVariablePendingInference(OutVariablePendingInference node) 14340public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 14358public override BoundNode? VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 14375public override BoundNode? VisitConstructorMethodBody(BoundConstructorMethodBody node) 14384public override BoundNode? VisitExpressionWithNullability(BoundExpressionWithNullability node) 14401public override BoundNode? VisitWithExpression(BoundWithExpression node) 14426public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (18)
133public override BoundNode VisitTryStatement(BoundTryStatement node) 347public override BoundNode VisitGotoStatement(BoundGotoStatement node) 355public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 361public override BoundNode VisitReturnStatement(BoundReturnStatement node) 502public override BoundNode VisitCatchBlock(BoundCatchBlock node) 509var result = base.VisitCatchBlock(node); 650public override BoundNode VisitLocal(BoundLocal node) 662public override BoundNode VisitThrowStatement(BoundThrowStatement node) 672public override BoundNode VisitLambda(BoundLambda node) 680var result = base.VisitLambda(node); 688public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 696var result = base.VisitLocalFunctionStatement(node); 772public override BoundNode VisitTryStatement(BoundTryStatement node) 814public override BoundNode VisitCatchBlock(BoundCatchBlock node) 819var result = base.VisitCatchBlock(node); 836public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 842public override BoundNode VisitLambda(BoundLambda node) 858public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node)
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (4)
250public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 303public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 338public override BoundNode VisitTryStatement(BoundTryStatement node) 392public override BoundNode VisitExtractedFinallyBlock(BoundExtractedFinallyBlock extractedFinally)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (5)
311public sealed override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 330public sealed override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 336public sealed override BoundNode VisitBadExpression(BoundBadExpression node) 401public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 638public sealed override BoundNode VisitReturnStatement(BoundReturnStatement node)
Lowering\AsyncRewriter\AsyncRewriter.cs (4)
95return new BoundBadStatement(bodyWithAwaitLifted.Syntax, ImmutableArray.Create<BoundNode>(bodyWithAwaitLifted), hasErrors: true); 223return new BoundBadStatement(F.Syntax, ImmutableArray<BoundNode>.Empty, hasErrors: true); 305public static bool ContainsAwait(BoundNode node) 312public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (7)
67BoundNode node, 101private static BoundNode FindNodeToAnalyze(BoundNode node) 587/// the given <see cref="BoundNode"/>. 589public static Scope GetScopeParent(Scope treeRoot, BoundNode scopeNode) 596/// Finds a <see cref="Scope" /> with a matching <see cref="BoundNode"/> 599public static Scope GetScopeWithMatchingBoundNode(Scope treeRoot, BoundNode node)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (27)
60public readonly BoundNode BoundNode; 79public Scope(Scope parent, BoundNode boundNode, NestedFunction containingFunction) 254/// <see cref="Build(BoundNode, MethodSymbol, HashSet{MethodSymbol}, DiagnosticBag)"/> 350BoundNode node, 395public override BoundNode VisitMethodGroup(BoundMethodGroup node) 398public override BoundNode VisitBlock(BoundBlock node) 402var result = base.VisitBlock(node); 407public override BoundNode VisitCatchBlock(BoundCatchBlock node) 411var result = base.VisitCatchBlock(node); 416public override BoundNode VisitSequence(BoundSequence node) 420var result = base.VisitSequence(node); 425public override BoundNode VisitLambda(BoundLambda node) 431var result = VisitNestedFunction(node.Symbol, node.Body); 437public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 440public override BoundNode VisitCall(BoundCall node) 450public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 462public override BoundNode VisitParameter(BoundParameter node) 468public override BoundNode VisitLocal(BoundLocal node) 474public override BoundNode VisitBaseReference(BoundBaseReference node) 480public override BoundNode VisitThisReference(BoundThisReference node) 503public override BoundNode VisitLabelStatement(BoundLabelStatement node) 510public override BoundNode VisitGotoStatement(BoundGotoStatement node) 517public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 550private BoundNode? VisitNestedFunction(MethodSymbol functionSymbol, BoundBlock? body) 577var result = _inExpressionTree 690private void PushOrReuseScope<TSymbol>(BoundNode node, ImmutableArray<TSymbol> locals) 710private void CreateAndPushScope(BoundNode node)
Lowering\ClosureConversion\ClosureConversion.cs (33)
87private readonly Dictionary<BoundNode, Analysis.ClosureEnvironment> _frames = new Dictionary<BoundNode, Analysis.ClosureEnvironment>(); 327static partial void CheckLocalsDefined(BoundNode node); 360var scopeBoundNode = scope.BoundNode; 624private static void InsertAndFreePrologue<T>(ArrayBuilder<BoundStatement> result, ArrayBuilder<T> prologue) where T : BoundNode 634result.Add(new BoundExpressionStatement(node.Syntax, (BoundExpression)(BoundNode)node)); 648private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F) 714var result = F(prologue, addedLocals); 804protected override BoundNode VisitUnhoistedParameter(BoundParameter node) 815public override BoundNode VisitThisReference(BoundThisReference node) 832public override BoundNode VisitBaseReference(BoundBaseReference node) 839public override BoundNode VisitMethodDefIndex(BoundMethodDefIndex node) 1054public override BoundNode VisitCall(BoundCall node) 1087var visited = base.VisitCall(node); 1134public override BoundNode VisitBlock(BoundBlock node) 1182public override BoundNode VisitScope(BoundScope node) 1198public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1214private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) 1272public override BoundNode VisitSequence(BoundSequence node) 1288public override BoundNode VisitStatementList(BoundStatementList node) 1313public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1346public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 1373public override BoundNode VisitConversion(BoundConversion conversion) 1403public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1408BoundNode lambdaScope; 1488out BoundNode lambdaScope, 1505BoundNode tmpScope = null; 1590private BoundNode RewriteLambdaConversion(BoundLambda node) 1600var result0 = wasInExpressionLambda ? node : ExpressionLambdaRewriter.RewriteLambda(node, CompilationState, TypeMap, RecursionDepth, Diagnostics); 1608BoundNode lambdaScope; 1760public override BoundNode VisitLambda(BoundLambda node)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
114internal static BoundNode RewriteLambda(BoundLambda node, TypeCompilationState compilationState, TypeMap typeMap, int recursionDepth, BindingDiagnosticBag diagnostics) 798if (BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder) is { IsUserDefined: true } leftConversion)
Lowering\DiagnosticsPass_ExpressionTrees.cs (65)
30public static void IssueDiagnostics(CSharpCompilation compilation, BoundNode node, BindingDiagnosticBag diagnostics, MethodSymbol containingSymbol) 58private void Error(ErrorCode code, BoundNode node, params object[] args) 68private void NoteUnsafe(BoundNode node) 77public override BoundNode VisitArrayCreation(BoundArrayCreation node) 88public override BoundNode VisitArrayAccess(BoundArrayAccess node) 100public override BoundNode VisitImplicitIndexerAccess(BoundImplicitIndexerAccess node) 110public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node) 120public override BoundNode VisitRangeExpression(BoundRangeExpression node) 130public override BoundNode VisitSizeOfOperator(BoundSizeOfOperator node) 140public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 149var result = base.VisitLocalFunctionStatement(node); 154public override BoundNode VisitThisReference(BoundThisReference node) 160public override BoundNode VisitBaseReference(BoundBaseReference node) 170public override BoundNode VisitLocal(BoundLocal node) 176public override BoundNode VisitParameter(BoundParameter node) 218public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node) 228public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 238public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 250public override BoundNode VisitDynamicObjectInitializerMember(BoundDynamicObjectInitializerMember node) 260public override BoundNode VisitEventAccess(BoundEventAccess node) 273public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 286public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 300BoundNode node) 360public override BoundNode Visit(BoundNode node) 374public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 384public override BoundNode VisitRefValueOperator(BoundRefValueOperator node) 394public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 404public override BoundNode VisitArgListOperator(BoundArgListOperator node) 414public override BoundNode VisitConditionalAccess(BoundConditionalAccess node) 424public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 439public override BoundNode VisitCall(BoundCall node) 466public override BoundNode VisitCollectionElementInitializer(BoundCollectionElementInitializer node) 477public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 483public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 495private void CheckRefReturningPropertyAccess(BoundNode node, PropertySymbol property) 503public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 517public override BoundNode VisitLambda(BoundLambda node) 601var result = base.VisitLambda(node); 606public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 636public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 670public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 684public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 695public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 705public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 711public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 717public override BoundNode VisitConversion(BoundConversion node) 773var result = base.VisitConversion(node); 779public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 793public override BoundNode VisitMethodGroup(BoundMethodGroup node) 831public override BoundNode VisitNameOfOperator(BoundNameOfOperator node) 838public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 848public override BoundNode VisitNullCoalescingAssignmentOperator(BoundNullCoalescingAssignmentOperator node) 858public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 874public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 885public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node) 895public override BoundNode VisitDynamicCollectionElementInitializer(BoundDynamicCollectionElementInitializer node) 905public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 915public override BoundNode VisitIsPatternExpression(BoundIsPatternExpression node) 925public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 935public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 945public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node) 955public override BoundNode VisitThrowExpression(BoundThrowExpression node) 965public override BoundNode VisitWithExpression(BoundWithExpression node) 975public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
Lowering\DiagnosticsPass_Warnings.cs (4)
350private static bool ConvertedHasEqual(BinaryOperatorKind oldOperatorKind, BoundNode node, out TypeSymbol type) 392private void CheckVacuousComparisons(BoundBinaryOperator tree, ConstantValue constantValue, BoundNode operand) 930public override BoundNode VisitFieldAccess(BoundFieldAccess node) 936public override BoundNode VisitPropertyGroup(BoundPropertyGroup node)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
544syntaxForSpan = ((BoundNode?)usingStatement.ExpressionOpt ?? usingStatement.DeclarationsOpt)!.Syntax;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
411private bool TryGetLocalOrParameterInfo(BoundNode node, [NotNullWhen(true)] out Symbol? symbol, [NotNullWhen(true)] out TypeSymbol? type, [NotNullWhen(true)] out BoundExpression? indexExpression)
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (5)
321public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 326public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 350public override BoundNode VisitGotoStatement(BoundGotoStatement node) 359public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 365public 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 (38)
152return new BoundBadStatement(statement.Syntax, ImmutableArray.Create<BoundNode>(statement), hasErrors: true); 182public override BoundNode? Visit(BoundNode? node) 274public override BoundNode? VisitParameter(BoundParameter node) 288public override BoundNode VisitLambda(BoundLambda node) 318public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 390public override BoundNode VisitDefaultLiteral(BoundDefaultLiteral node) 395public override BoundNode VisitUnconvertedObjectCreationExpression(BoundUnconvertedObjectCreationExpression node) 400public override BoundNode VisitValuePlaceholder(BoundValuePlaceholder node) 405public override BoundNode VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 410public override BoundNode VisitObjectOrCollectionValuePlaceholder(BoundObjectOrCollectionValuePlaceholder node) 420public override BoundNode VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 423public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 486public sealed override BoundNode VisitOutDeconstructVarPendingInference(OutDeconstructVarPendingInference node) 492public override BoundNode VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 498public override BoundNode VisitBadExpression(BoundBadExpression node) 576public override BoundNode VisitTypeOfOperator(BoundTypeOfOperator node) 594public override BoundNode VisitRefTypeOperator(BoundRefTypeOperator node) 611public override BoundNode VisitTypeOrInstanceInitializers(BoundTypeOrInstanceInitializers node) 694public override BoundNode VisitArrayAccess(BoundArrayAccess node) 711BoundNode resultExpr; 1019public static void Validate(BoundNode node) 1031public override BoundNode? VisitDefaultLiteral(BoundDefaultLiteral node) 1037public override BoundNode? VisitUsingStatement(BoundUsingStatement node) 1043public override BoundNode? VisitIfStatement(BoundIfStatement node) 1049public override BoundNode? VisitDeconstructionVariablePendingInference(DeconstructionVariablePendingInference node) 1055public override BoundNode? VisitValuePlaceholder(BoundValuePlaceholder node) 1061public override BoundNode? VisitDeconstructValuePlaceholder(BoundDeconstructValuePlaceholder node) 1067public override BoundNode? VisitDisposableValuePlaceholder(BoundDisposableValuePlaceholder node) 1073public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 1079public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 1085public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 1091public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 1097public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 1103public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 1109public override BoundNode? VisitInterpolatedStringArgumentPlaceholder(BoundInterpolatedStringArgumentPlaceholder node) 1115public override BoundNode? VisitInterpolatedStringHandlerPlaceholder(BoundInterpolatedStringHandlerPlaceholder node) 1121private void Fail(BoundNode node)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (17)
141public override BoundNode Visit(BoundNode node) 151public override BoundNode VisitCall(BoundCall node) 179public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 193public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 199public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 205public override BoundNode VisitConversion(BoundConversion node) 238public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 251public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 257public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 263public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 269public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 280public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 291public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 301public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 312public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 327public 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)
12public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (2)
15public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 20public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node)
Lowering\LocalRewriter\LocalRewriter_Block.cs (2)
15public override BoundNode VisitBlock(BoundBlock node) 102public override BoundNode VisitNoOpStatement(BoundNoOpStatement node)
Lowering\LocalRewriter\LocalRewriter_BreakStatement.cs (1)
13public override BoundNode VisitBreakStatement(BoundBreakStatement node)
Lowering\LocalRewriter\LocalRewriter_Call.cs (3)
19public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 136public override BoundNode VisitCall(BoundCall node) 1526public override BoundNode VisitDynamicMemberAccess(BoundDynamicMemberAccess node)
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) 205public 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) 80public 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) 200public 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 (1)
29public override BoundNode VisitForEachStatement(BoundForEachStatement node)
Lowering\LocalRewriter\LocalRewriter_ForStatement.cs (1)
16public override BoundNode VisitForStatement(BoundForStatement node)
Lowering\LocalRewriter\LocalRewriter_FunctionPointerInvocation.cs (1)
14public override BoundNode? VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node)
Lowering\LocalRewriter\LocalRewriter_GotoStatement.cs (2)
13public override BoundNode VisitGotoStatement(BoundGotoStatement node) 33public override BoundNode? VisitLabel(BoundLabel node)
Lowering\LocalRewriter\LocalRewriter_HostObjectMemberReference.cs (1)
11public override BoundNode VisitHostObjectMemberReference(BoundHostObjectMemberReference node)
Lowering\LocalRewriter\LocalRewriter_IfStatement.cs (1)
16public override BoundNode VisitIfStatement(BoundIfStatement node)
Lowering\LocalRewriter\LocalRewriter_Index.cs (1)
13public override BoundNode VisitFromEndIndexExpression(BoundFromEndIndexExpression node)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (9)
43public override BoundNode VisitDynamicIndexerAccess(BoundDynamicIndexerAccess node) 71public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 170public override BoundNode? VisitListPatternIndexPlaceholder(BoundListPatternIndexPlaceholder node) 175public override BoundNode? VisitListPatternReceiverPlaceholder(BoundListPatternReceiverPlaceholder node) 180public override BoundNode? VisitSlicePatternRangePlaceholder(BoundSlicePatternRangePlaceholder node) 185public override BoundNode? VisitSlicePatternReceiverPlaceholder(BoundSlicePatternReceiverPlaceholder node) 190public override BoundNode? VisitImplicitIndexerReceiverPlaceholder(BoundImplicitIndexerReceiverPlaceholder node) 195public override BoundNode? VisitImplicitIndexerValuePlaceholder(BoundImplicitIndexerValuePlaceholder node) 200public 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) 87public sealed override BoundNode VisitOutVariablePendingInference(OutVariablePendingInference node)
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (1)
19public 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)
15public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 35Debug.Assert(BoundNode.GetConversion(leftConversion, leftPlaceholder).IsValid); 94BoundNode.GetConversion(leftConversion, leftPlaceholder) is { IsImplicit: true, IsUserDefined: false }) 101if (BoundNode.GetConversion(leftConversion, leftPlaceholder) is { IsIdentity: true } or { Kind: ConversionKind.ExplicitNullable }) 231Debug.Assert(BoundNode.GetConversion(leftConversion, leftPlaceholder).IsValid);
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (5)
16public override BoundNode VisitDynamicObjectCreationExpression(BoundDynamicObjectCreationExpression node) 31public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 124public override BoundNode VisitWithExpression(BoundWithExpression withExpr) 300public override BoundNode VisitNewT(BoundNewT node) 354public override BoundNode VisitNoPiaObjectCreationExpression(BoundNoPiaObjectCreationExpression node)
Lowering\LocalRewriter\LocalRewriter_PatternSwitchStatement.cs (1)
16public override BoundNode VisitSwitchStatement(BoundSwitchStatement node)
Lowering\LocalRewriter\LocalRewriter_PointerElementAccess.cs (1)
12public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node)
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.cs (1)
12public override BoundNode VisitPreviousSubmissionReference(BoundPreviousSubmissionReference node)
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (1)
15public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
Lowering\LocalRewriter\LocalRewriter_Query.cs (2)
13public override BoundNode VisitRangeVariable(BoundRangeVariable node) 18public override BoundNode VisitQueryClause(BoundQueryClause node)
Lowering\LocalRewriter\LocalRewriter_Range.cs (1)
17public override BoundNode VisitRangeExpression(BoundRangeExpression node)
Lowering\LocalRewriter\LocalRewriter_ReturnStatement.cs (1)
13public override BoundNode VisitReturnStatement(BoundReturnStatement node)
Lowering\LocalRewriter\LocalRewriter_StackAlloc.cs (3)
15public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression stackAllocNode) 20public override BoundNode VisitStackAllocArrayCreation(BoundStackAllocArrayCreation stackAllocNode) 25private BoundNode VisitStackAllocArrayCreationBase(BoundStackAllocArrayCreationBase stackAllocNode)
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (1)
277public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
17public override BoundNode VisitConvertedSwitchExpression(BoundConvertedSwitchExpression node)
Lowering\LocalRewriter\LocalRewriter_ThrowStatement.cs (1)
9public override BoundNode VisitThrowStatement(BoundThrowStatement node)
Lowering\LocalRewriter\LocalRewriter_TryStatement.cs (4)
14public override BoundNode VisitTryStatement(BoundTryStatement node) 38? (BoundNode)tryBlock 39: (BoundNode)node.Update(tryBlock, catchBlocks, finallyBlockOpt, node.FinallyLabelOpt, node.PreferFaultHandler); 78public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (1)
28public override BoundNode VisitTupleBinaryOperator(BoundTupleBinaryOperator node)
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (3)
15public override BoundNode VisitTupleLiteral(BoundTupleLiteral node) 20public override BoundNode VisitConvertedTupleLiteral(BoundConvertedTupleLiteral node) 25private BoundNode VisitTupleExpression(BoundTupleExpression node)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (4)
29public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 420public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 498private BoundNode RewriteWithNotRefOperand( 525private BoundNode RewriteWithRefOperand(
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
34public override BoundNode VisitUsingStatement(BoundUsingStatement node)
Lowering\LocalRewriter\LocalRewriter_WhileStatement.cs (1)
16public override BoundNode VisitWhileStatement(BoundWhileStatement node)
Lowering\LocalRewriter\LocalRewriter_Yield.cs (2)
13public override BoundNode VisitYieldBreakStatement(BoundYieldBreakStatement node) 29public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node)
Lowering\MethodToClassRewriter.cs (37)
68public override BoundNode DefaultVisit(BoundNode node) 127public override BoundNode VisitCatchBlock(BoundCatchBlock node) 148public override BoundNode VisitBlock(BoundBlock node) 162public abstract override BoundNode VisitScope(BoundScope node); 164public override BoundNode VisitSequence(BoundSequence node) 173public override BoundNode VisitForStatement(BoundForStatement node) 184public override BoundNode VisitDoStatement(BoundDoStatement node) 192public override BoundNode VisitWhileStatement(BoundWhileStatement node) 200public override BoundNode VisitUsingStatement(BoundUsingStatement node) 215public override BoundNode VisitMethodInfo(BoundMethodInfo node) 222public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 229public override BoundNode VisitCall(BoundCall node) 260public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 276public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 286public override BoundNode? VisitConversion(BoundConversion node) 306public override BoundNode? VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 367private bool TryReplaceWithProxy(Symbol parameterOrLocal, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 379public sealed override BoundNode VisitParameter(BoundParameter node) 381if (TryReplaceWithProxy(node.ParameterSymbol, node.Syntax, out BoundNode? replacement)) 390protected virtual BoundNode VisitUnhoistedParameter(BoundParameter node) 395public sealed override BoundNode VisitLocal(BoundLocal node) 397if (TryReplaceWithProxy(node.LocalSymbol, node.Syntax, out BoundNode? replacement)) 408public override BoundNode? VisitLocalId(BoundLocalId node) 413public override BoundNode? VisitParameterId(BoundParameterId node) 436private BoundNode VisitUnhoistedLocal(BoundLocal node) 446public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node) 466public override BoundNode VisitAwaitableValuePlaceholder(BoundAwaitableValuePlaceholder node) 471public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 536public override BoundNode VisitFieldInfo(BoundFieldInfo node) 543public override BoundNode VisitFieldAccess(BoundFieldAccess node) 552public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 575public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 592public override BoundNode VisitFunctionPointerLoad(BoundFunctionPointerLoad node) 597public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 691public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node) 713public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node)
Lowering\SpillSequenceSpiller.cs (53)
197public static BoundNode Rewrite( 200BoundNode node) 211public override BoundNode VisitLocal(BoundLocal node) 238BoundNode result = spiller.Visit(body); 592public override BoundNode VisitSwitchDispatch(BoundSwitchDispatch node) 599public override BoundNode VisitThrowStatement(BoundThrowStatement node) 606public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 615public override BoundNode VisitConditionalGoto(BoundConditionalGoto node) 622public override BoundNode VisitReturnStatement(BoundReturnStatement node) 629public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 636public override BoundNode VisitCatchBlock(BoundCatchBlock node) 658public override BoundNode DefaultVisit(BoundNode node) 669public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 678public override BoundNode VisitSpillSequence(BoundSpillSequence node) 691public override BoundNode VisitAddressOfOperator(BoundAddressOfOperator node) 698public override BoundNode VisitArgListOperator(BoundArgListOperator node) 705public override BoundNode VisitArrayAccess(BoundArrayAccess node) 734public override BoundNode VisitArrayCreation(BoundArrayCreation node) 755public override BoundNode VisitArrayInitialization(BoundArrayInitialization node) 762public override BoundNode VisitConvertedStackAllocExpression(BoundConvertedStackAllocExpression node) 770public override BoundNode VisitArrayLength(BoundArrayLength node) 777public override BoundNode VisitAsOperator(BoundAsOperator node) 786public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 898public override BoundNode VisitBadExpression(BoundBadExpression node) 904public override BoundNode VisitUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator node) 909public override BoundNode VisitBinaryOperator(BoundBinaryOperator node) 945public override BoundNode VisitCall(BoundCall node) 1011public override BoundNode VisitFunctionPointerInvocation(BoundFunctionPointerInvocation node) 1033public override BoundNode VisitConditionalOperator(BoundConditionalOperator node) 1076public override BoundNode VisitConversion(BoundConversion node) 1091public override BoundNode VisitPassByCopy(BoundPassByCopy node) 1102public override BoundNode VisitMethodGroup(BoundMethodGroup node) 1107public override BoundNode VisitDelegateCreationExpression(BoundDelegateCreationExpression node) 1114public override BoundNode VisitFieldAccess(BoundFieldAccess node) 1121public override BoundNode VisitIsOperator(BoundIsOperator node) 1128public override BoundNode VisitMakeRefOperator(BoundMakeRefOperator node) 1135public override BoundNode VisitNullCoalescingOperator(BoundNullCoalescingOperator node) 1165public override BoundNode VisitLoweredConditionalAccess(BoundLoweredConditionalAccess node) 1277public static BoundStatement Replace(BoundNode node, BoundExpression receiver, int receiverID, int recursionDepth) 1288public override BoundNode VisitConditionalReceiver(BoundConditionalReceiver node) 1302public override BoundNode VisitLambda(BoundLambda node) 1306var result = base.VisitLambda(node); 1311public override BoundNode VisitLocalFunctionStatement(BoundLocalFunctionStatement node) 1315var result = base.VisitLocalFunctionStatement(node); 1320public override BoundNode VisitObjectCreationExpression(BoundObjectCreationExpression node) 1328public override BoundNode VisitPointerElementAccess(BoundPointerElementAccess node) 1349public override BoundNode VisitPointerIndirectionOperator(BoundPointerIndirectionOperator node) 1356public override BoundNode VisitSequence(BoundSequence node) 1382public override BoundNode VisitThrowExpression(BoundThrowExpression node) 1412public override BoundNode VisitUnaryOperator(BoundUnaryOperator node) 1419public override BoundNode VisitReadOnlySpanFromArray(BoundReadOnlySpanFromArray node) 1426public override BoundNode VisitSequencePointExpression(BoundSequencePointExpression node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (17)
42private IteratorAndAsyncCaptureWalker(CSharpCompilation compilation, MethodSymbol method, BoundNode node, HashSet<Symbol> initiallyAssignedVariables) 53public static OrderedSet<Symbol> Analyze(CSharpCompilation compilation, MethodSymbol method, BoundNode node, DiagnosticBag diagnostics) 169public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 176public override BoundNode VisitYieldReturnStatement(BoundYieldReturnStatement node) 253public override BoundNode VisitParameter(BoundParameter node) 267public override BoundNode VisitFieldAccess(BoundFieldAccess node) 278public override BoundNode VisitThisReference(BoundThisReference node) 284public override BoundNode VisitBaseReference(BoundBaseReference node) 290public override BoundNode VisitTryStatement(BoundTryStatement node) 311public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 341public override BoundNode VisitBlock(BoundBlock node) 355public override BoundNode VisitCatchBlock(BoundCatchBlock node) 366public override BoundNode VisitSequence(BoundSequence node) 372public override BoundNode VisitThisReference(BoundThisReference node) 378public override BoundNode VisitBaseReference(BoundBaseReference node) 384public override BoundNode VisitLocal(BoundLocal node) 390public override BoundNode VisitParameter(BoundParameter node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (14)
272public override BoundNode VisitSequence(BoundSequence node) 687public override BoundNode Visit(BoundNode node) 692var result = base.Visit(node); 697public override BoundNode VisitBlock(BoundBlock node) 708public override BoundNode VisitStateMachineInstanceId(BoundStateMachineInstanceId node) 711public override BoundNode VisitScope(BoundScope node) 773public override BoundNode VisitForStatement(BoundForStatement node) 778public override BoundNode VisitUsingStatement(BoundUsingStatement node) 783public override BoundNode VisitExpressionStatement(BoundExpressionStatement node) 791public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 839public override BoundNode VisitTryStatement(BoundTryStatement node) 918public sealed override BoundNode VisitThisReference(BoundThisReference node) 950public 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 (21)
28public IOperation? Create(BoundNode? boundNode) 334public ImmutableArray<TOperation> CreateFromArray<TBoundNode, TOperation>(ImmutableArray<TBoundNode> boundNodes) where TBoundNode : BoundNode where TOperation : class, IOperation 379foreach (BoundNode? childNode in children) 393internal ImmutableArray<IVariableDeclaratorOperation> CreateVariableDeclarator(BoundNode declaration, SyntaxNode declarationSyntax) 447ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCall).InvalidNodeChildren); 477ImmutableArray<IOperation> children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundFunctionPointerInvocation).InvalidNodeChildren); 517internal ImmutableArray<IOperation> CreateIgnoredDimensions(BoundNode declaration) 592internal IOperation? CreateBoundPropertyReferenceInstance(BoundNode boundNode) 630var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundIndexerAccess).InvalidNodeChildren); 710var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectCreationExpression).InvalidNodeChildren); 756internal IOperation CreateBoundDynamicInvocationExpressionReceiver(BoundNode receiver) 883var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundObjectInitializerMember).InvalidNodeChildren); 929var children = CreateFromArray<BoundNode, IOperation>(((IBoundInvalidNode)boundCollectionElementInitializer).InvalidNodeChildren); 1137Conversion conversion = BoundNode.GetConversion(boundAsOperator.OperandConversion, boundAsOperator.OperandPlaceholder); 1293Conversion inConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.LeftConversion, boundCompoundAssignmentOperator.LeftPlaceholder); 1294Conversion outConversion = BoundNode.GetConversion(boundCompoundAssignmentOperator.FinalConversion, boundCompoundAssignmentOperator.FinalPlaceholder); 1526Conversion valueConversion = BoundNode.GetConversion(boundNullCoalescingOperator.LeftConversion, boundNullCoalescingOperator.LeftPlaceholder); 1807BoundNode.GetConversion(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder), 1808BoundNode.GetConversion(boundForEachStatement.ElementConversion, boundForEachStatement.ElementPlaceholder), 1922IOperation resources = Create(boundUsingStatement.DeclarationsOpt ?? (BoundNode)boundUsingStatement.ExpressionOpt!); 1984var 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) 307internal static ImmutableArray<BoundNode> CreateInvalidChildrenFromArgumentsExpression(BoundNode? receiverOpt, ImmutableArray<BoundExpression> arguments, BoundExpression? additionalNodeOpt = null) 309var builder = ArrayBuilder<BoundNode>.GetInstance(); 320builder.AddRange(StaticCast<BoundNode>.From(arguments));
Operations\IBoundNodeWithIOperationChildren.cs (1)
16ImmutableArray<BoundNode?> Children { get; }
Symbols\ConstantValueUtils.cs (1)
157public override BoundNode VisitInterpolatedString(BoundInterpolatedString node)
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (25)
Rewriters\CapturedVariableRewriter.cs (7)
18internal static BoundNode Rewrite( 22BoundNode node, 46public override BoundNode VisitBlock(BoundBlock node) 54public override BoundNode VisitLocal(BoundLocal node) 70public override BoundNode VisitMethodGroup(BoundMethodGroup node) 75public override BoundNode VisitThisReference(BoundThisReference node) 82public override BoundNode VisitBaseReference(BoundBaseReference node)
Rewriters\MayHaveSideEffectsVisitor.cs (12)
13internal static bool MayHaveSideEffects(BoundNode node) 20public override BoundNode Visit(BoundNode node) 29public override BoundNode VisitAssignmentOperator(BoundAssignmentOperator node) 34public override BoundNode VisitDeconstructionAssignmentOperator(BoundDeconstructionAssignmentOperator node) 42public override BoundNode VisitCall(BoundCall node) 47public override BoundNode VisitDynamicInvocation(BoundDynamicInvocation node) 52public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node) 57public override BoundNode VisitEventAssignmentOperator(BoundEventAssignmentOperator node) 62public override BoundNode VisitIncrementOperator(BoundIncrementOperator node) 67public override BoundNode VisitObjectInitializerExpression(BoundObjectInitializerExpression node) 81private BoundNode SetMayHaveSideEffects()
Rewriters\PlaceholderLocalRewriter.cs (3)
15internal static BoundNode Rewrite(CSharpCompilation compilation, HashSet<LocalSymbol> declaredLocals, BoundNode node, DiagnosticBag diagnostics) 32public override BoundNode VisitLocal(BoundLocal node)
TypeParameterChecker.cs (3)
23public static void Check(BoundNode node, ImmutableArray<TypeParameterSymbol> acceptableTypeParameters) 50public override BoundNode Visit(BoundNode node)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (52)
Semantics\ConstantTests.cs (8)
1451private static string ParseAndGetConstantFoldingSteps(string source, Func<BoundNode, bool> predicate) 4048public static IEnumerable<BoundNode> GetNodes(BoundNode root) 4052foreach (var node in s._list) 4056private readonly List<BoundNode> _list; 4060_list = new List<BoundNode>(); 4063public override BoundNode Visit(BoundNode node)
Semantics\ForEachTests.cs (40)
1215Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1217Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1253Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1255Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1297Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1299Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1341Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1343Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1374Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1376Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1414Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1416Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1456Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1458Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1495Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1497Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1528Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1530Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1559Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1561Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1590Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1614Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1645Assert.Equal(ConversionKind.ExplicitReference, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); //object to C.var 1647Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1676Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1678Assert.Equal(ConversionKind.ExplicitDynamic, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1709Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1711Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); //NB: differs from explicit case 1750Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1752Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1834Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1836Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1881Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1883Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3125Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 3127Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3243Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 3245Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3301Assert.Equal(BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder), statementInfo.ElementConversion); 3302Assert.Equal(BoundNode.GetConversion(enumeratorInfo.CurrentConversion, enumeratorInfo.CurrentPlaceholder), statementInfo.CurrentConversion);
Semantics\OperatorTests.cs (2)
8821var node = rewriter.Visit(block); 8983public override BoundNode VisitCompoundAssignmentOperator(BoundCompoundAssignmentOperator node)
Semantics\UnsafeTests.cs (2)
2425public override BoundNode Visit(BoundNode node)
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\ConversionTests.cs (1)
1737var elementConversion = BoundNode.GetConversion(boundForEach.ElementConversion, boundForEach.ElementPlaceholder);