5 instantiations of BoundCatchBlock
Microsoft.CodeAnalysis.CSharp (5)
Binder\Binder_Statements.cs (1)
3438return new BoundCatchBlock(node, locals, exceptionSource, type, exceptionFilterPrologueOpt: null, boundFilter, block, hasError);
Generated\BoundNodes.xml.Generated.cs (1)
4331var 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)
1635return new BoundCatchBlock(Syntax, ImmutableArray.Create(local), source, source.Type, exceptionFilterPrologueOpt: null, exceptionFilterOpt: null, body: block, isSynthesizedAsyncCatchAll: false); 1642return new BoundCatchBlock(Syntax, ImmutableArray<LocalSymbol>.Empty, source, source.Type, exceptionFilterPrologueOpt: null, exceptionFilterOpt: null, body: block, isSynthesizedAsyncCatchAll: false);
76 references to BoundCatchBlock
Microsoft.CodeAnalysis.CSharp (76)
Binder\Binder_Statements.cs (7)
3300private ImmutableArray<BoundCatchBlock> BindCatchBlocks(SyntaxList<CatchClauseSyntax> catchClauses, BindingDiagnosticBag diagnostics) 3305return ImmutableArray<BoundCatchBlock>.Empty; 3308var catchBlocks = ArrayBuilder<BoundCatchBlock>.GetInstance(n); 3319var catchBlock = catchBinder.BindCatchBlock(catchSyntax, catchBlocks, diagnostics); 3327private BoundCatchBlock BindCatchBlock(CatchClauseSyntax node, ArrayBuilder<BoundCatchBlock> previousBlocks, BindingDiagnosticBag diagnostics) 3377foreach (var previousBlock in previousBlocks)
Binder\RefSafetyAnalysis.cs (1)
488public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
BoundTree\Constructors.cs (1)
628public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt = null)
CodeGen\EmitStatement.cs (3)
978foreach (var catchBlock in statement.CatchBlocks) 1056private void EmitCatchBlock(BoundCatchBlock catchBlock) 1247private void RecordAsyncCatchHandlerOffset(BoundCatchBlock catchBlock)
CodeGen\Optimizer.cs (2)
1696public override BoundNode VisitCatchBlock(BoundCatchBlock node) 2353public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Compiler\MethodBodySynthesizer.cs (1)
572ImmutableArray<BoundCatchBlock>.Empty,
FlowAnalysis\AbstractFlowPass.cs (3)
1833foreach (var catchBlock in node.CatchBlocks) 1943private void VisitCatchBlockWithAnyTransferFunction(BoundCatchBlock catchBlock, ref TLocalState finallyState) 1967public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
FlowAnalysis\ControlFlowPass.cs (1)
291public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
FlowAnalysis\DefiniteAssignment.cs (1)
2668public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
FlowAnalysis\NullableWalker.cs (1)
13760public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
FlowAnalysis\VariablesDeclaredWalker.cs (1)
227public override BoundNode? VisitCatchBlock(BoundCatchBlock catchBlock)
Generated\BoundNodes.xml.Generated.cs (13)
4263public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler, bool hasErrors = false) 4278public ImmutableArray<BoundCatchBlock> CatchBlocks { get; } 4286public BoundTryStatement Update(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler) 4327public BoundCatchBlock Update(ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll) 4331var result = new BoundCatchBlock(this.Syntax, locals, exceptionSourceOpt, exceptionTypeOpt, exceptionFilterPrologueOpt, exceptionFilterOpt, body, isSynthesizedAsyncCatchAll, this.HasErrors); 9301return VisitCatchBlock((BoundCatchBlock)node, arg); 9671public virtual R VisitCatchBlock(BoundCatchBlock node, A arg) => this.DefaultVisit(node, arg); 9912public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 10499public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11817ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks); 11821public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13957public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 16459public override TreeDumperNode VisitCatchBlock(BoundCatchBlock node, object? arg) => new TreeDumperNode("catchBlock", null, new TreeDumperNode[]
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (10)
213return _F.Try((BoundBlock)finalizedRegion, ImmutableArray<BoundCatchBlock>.Empty, rewrittenFinally); 228var catchAll = _F.Catch(_F.Local(pendingExceptionLocal), _F.Block()); 530return (BoundCatchBlock)@this.VisitCatchBlock(catchBlock, parentAwaitCatchFrame: origAwaitCatchFrame); 581public override BoundNode VisitCatchBlock(BoundCatchBlock node) 586private BoundNode VisitCatchBlock(BoundCatchBlock node, AwaitCatchFrame parentAwaitCatchFrame) 638BoundCatchBlock catchAndPend; 848private HashSet<BoundCatchBlock> _awaitContainingCatches; 870internal bool CatchContainsAwait(BoundCatchBlock node) 934public override BoundNode VisitCatchBlock(BoundCatchBlock node) 946_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)
1227public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1243private 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)
503BoundCatchBlock original,
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (1)
287ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (1)
67ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
265catchBlocks: 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)
756public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
402public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
752ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks);
Lowering\SyntheticBoundNodeFactory.cs (7)
551statements.Add(Try(Block(statement), ImmutableArray<BoundCatchBlock>.Empty, Block(instrumentation.Epilogue))); 1617ImmutableArray<BoundCatchBlock> catchBlocks, 1624internal ImmutableArray<BoundCatchBlock> CatchBlocks( 1625params BoundCatchBlock[] catchBlocks) 1630internal BoundCatchBlock Catch( 1638internal BoundCatchBlock Catch( 1647return new BoundTryStatement(Syntax, tryBlock, ImmutableArray<BoundCatchBlock>.Empty, faultBlock, finallyLabelOpt: null, preferFaultHandler: true);
Operations\CSharpOperationFactory.cs (3)
186return CreateBoundCatchBlockOperation((BoundCatchBlock)boundNode); 2083ImmutableArray<ICatchClauseOperation> catches = CreateFromArray<BoundCatchBlock, ICatchClauseOperation>(boundTryStatement.CatchBlocks); 2090private ICatchClauseOperation CreateBoundCatchBlockOperation(BoundCatchBlock boundCatchBlock)