4 instantiations of BoundCatchBlock
Microsoft.CodeAnalysis.CSharp (4)
Generated\BoundNodes.xml.Generated.cs (1)
4274var result = new BoundCatchBlock(this.Syntax, locals, exceptionSourceOpt, exceptionTypeOpt, exceptionFilterPrologueOpt, exceptionFilterOpt, body, isSynthesizedAsyncCatchAll, this.HasErrors);
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (1)
238return new BoundCatchBlock(
Lowering\SyntheticBoundNodeFactory.cs (2)
1613return new BoundCatchBlock(Syntax, ImmutableArray.Create(local), source, source.Type, exceptionFilterPrologueOpt: null, exceptionFilterOpt: null, body: block, isSynthesizedAsyncCatchAll: false); 1620return new BoundCatchBlock(Syntax, ImmutableArray<LocalSymbol>.Empty, source, source.Type, exceptionFilterPrologueOpt: null, exceptionFilterOpt: null, body: block, isSynthesizedAsyncCatchAll: false);
78 references to BoundCatchBlock
Microsoft.CodeAnalysis.CSharp (78)
Binder\Binder_Statements.cs (6)
3226private ImmutableArray<BoundCatchBlock> BindCatchBlocks(SyntaxList<CatchClauseSyntax> catchClauses, BindingDiagnosticBag diagnostics) 3231return ImmutableArray<BoundCatchBlock>.Empty; 3234var catchBlocks = ArrayBuilder<BoundCatchBlock>.GetInstance(n); 3245var catchBlock = catchBinder.BindCatchBlock(catchSyntax, catchBlocks, diagnostics); 3253private BoundCatchBlock BindCatchBlock(CatchClauseSyntax node, ArrayBuilder<BoundCatchBlock> previousBlocks, BindingDiagnosticBag diagnostics)
Binder\RefSafetyAnalysis.cs (1)
421public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
BoundTree\BoundNode.cs (1)
686public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
BoundTree\BoundNode_Source.cs (1)
36foreach (var catchBlock in catchBlocks)
BoundTree\Constructors.cs (1)
616public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt = null)
CodeGen\EmitStatement.cs (3)
959foreach (var catchBlock in statement.CatchBlocks) 1037private void EmitCatchBlock(BoundCatchBlock catchBlock) 1220private void RecordAsyncCatchHandlerOffset(BoundCatchBlock catchBlock)
CodeGen\Optimizer.cs (2)
1682public override BoundNode VisitCatchBlock(BoundCatchBlock node) 2285public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Compiler\MethodBodySynthesizer.cs (1)
570ImmutableArray<BoundCatchBlock>.Empty,
FlowAnalysis\AbstractFlowPass.cs (3)
1833foreach (var catchBlock in node.CatchBlocks) 1943private void VisitCatchBlockWithAnyTransferFunction(BoundCatchBlock catchBlock, ref TLocalState finallyState) 1967protected virtual void VisitCatchBlock(BoundCatchBlock catchBlock, ref TLocalState finallyState)
FlowAnalysis\ControlFlowPass.cs (1)
287protected override void VisitCatchBlock(BoundCatchBlock catchBlock, ref LocalState finallyState)
FlowAnalysis\DataFlowsOutWalker.cs (1)
161var local = ((BoundCatchBlock)node).Locals.FirstOrDefault();
FlowAnalysis\DefiniteAssignment.cs (1)
2689protected override void VisitCatchBlock(BoundCatchBlock catchBlock, ref LocalState finallyState)
FlowAnalysis\NullableWalker.cs (1)
12495protected override void VisitCatchBlock(BoundCatchBlock node, ref LocalState finallyState)
FlowAnalysis\VariablesDeclaredWalker.cs (1)
145protected override void VisitCatchBlock(BoundCatchBlock catchBlock, ref LocalState finallyState)
Generated\BoundNodes.xml.Generated.cs (13)
4206public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler, bool hasErrors = false) 4221public ImmutableArray<BoundCatchBlock> CatchBlocks { get; } 4229public BoundTryStatement Update(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler) 4270public BoundCatchBlock Update(ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll) 4274var result = new BoundCatchBlock(this.Syntax, locals, exceptionSourceOpt, exceptionTypeOpt, exceptionFilterPrologueOpt, exceptionFilterOpt, body, isSynthesizedAsyncCatchAll, this.HasErrors); 9073return VisitCatchBlock((BoundCatchBlock)node, arg); 9434public virtual R VisitCatchBlock(BoundCatchBlock node, A arg) => this.DefaultVisit(node, arg); 9670public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 10239public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11522ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks); 11526public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13628public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 16098public override TreeDumperNode VisitCatchBlock(BoundCatchBlock node, object? arg) => new TreeDumperNode("catchBlock", null, new TreeDumperNode[]
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (10)
176return _F.Try((BoundBlock)finalizedRegion, ImmutableArray<BoundCatchBlock>.Empty, rewrittenFinally); 191var catchAll = _F.Catch(_F.Local(pendingExceptionLocal), _F.Block()); 477return (BoundCatchBlock)@this.VisitCatchBlock(catchBlock, parentAwaitCatchFrame: origAwaitCatchFrame); 521public override BoundNode VisitCatchBlock(BoundCatchBlock node) 526private BoundNode VisitCatchBlock(BoundCatchBlock node, AwaitCatchFrame parentAwaitCatchFrame) 571BoundCatchBlock catchAndPend; 761private HashSet<BoundCatchBlock> _awaitContainingCatches; 783internal bool CatchContainsAwait(BoundCatchBlock node) 847public override BoundNode VisitCatchBlock(BoundCatchBlock node) 859_awaitContainingCatches = awaitContainingCatches = new HashSet<BoundCatchBlock>();
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
218BoundCatchBlock generateExceptionHandling(LocalSymbol exceptionLocal, ImmutableArray<StateMachineFieldSymbol> rootHoistedLocals) 254protected virtual BoundStatement GenerateTopLevelTry(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (1)
425public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\ClosureConversion\ClosureConversion.cs (2)
1217public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1233private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals)
Lowering\Instrumentation\CompoundInstrumenter.cs (1)
219BoundCatchBlock original,
Lowering\Instrumentation\DebugInfoInjector.cs (1)
455BoundCatchBlock original,
Lowering\Instrumentation\Instrumenter.cs (1)
294BoundCatchBlock original,
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
494BoundCatchBlock original,
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (1)
287ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (1)
67ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
260catchBlocks: ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (2)
179ImmutableArray<BoundCatchBlock>.Empty, 228ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_TryStatement.cs (3)
23ImmutableArray<BoundCatchBlock> catchBlocks = 25(optimizing && !HasSideEffects(tryBlock)) ? ImmutableArray<BoundCatchBlock>.Empty 78public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
422catchBlocks: ImmutableArray<BoundCatchBlock>.Empty,
Lowering\SpillSequenceSpiller.cs (1)
707public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
383public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
906ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks);
Lowering\SyntheticBoundNodeFactory.cs (7)
546statements.Add(Try(Block(statement), ImmutableArray<BoundCatchBlock>.Empty, Block(instrumentation.Epilogue))); 1595ImmutableArray<BoundCatchBlock> catchBlocks, 1602internal ImmutableArray<BoundCatchBlock> CatchBlocks( 1603params BoundCatchBlock[] catchBlocks) 1608internal BoundCatchBlock Catch( 1616internal BoundCatchBlock Catch( 1625return new BoundTryStatement(Syntax, tryBlock, ImmutableArray<BoundCatchBlock>.Empty, faultBlock, finallyLabelOpt: null, preferFaultHandler: true);
Operations\CSharpOperationFactory.cs (3)
187return CreateBoundCatchBlockOperation((BoundCatchBlock)boundNode); 1998ImmutableArray<ICatchClauseOperation> catches = CreateFromArray<BoundCatchBlock, ICatchClauseOperation>(boundTryStatement.CatchBlocks); 2005private ICatchClauseOperation CreateBoundCatchBlockOperation(BoundCatchBlock boundCatchBlock)