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)
4332var 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)
537public 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) 2354public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Compiler\MethodBodySynthesizer.cs (1)
572ImmutableArray<BoundCatchBlock>.Empty,
FlowAnalysis\AbstractFlowPass.cs (3)
1843foreach (var catchBlock in node.CatchBlocks) 1953private void VisitCatchBlockWithAnyTransferFunction(BoundCatchBlock catchBlock, ref TLocalState finallyState) 1977public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
FlowAnalysis\ControlFlowPass.cs (1)
291public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
FlowAnalysis\DefiniteAssignment.cs (1)
2707public override BoundNode VisitCatchBlock(BoundCatchBlock catchBlock)
FlowAnalysis\NullableWalker.cs (1)
13777public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
FlowAnalysis\VariablesDeclaredWalker.cs (1)
227public override BoundNode? VisitCatchBlock(BoundCatchBlock catchBlock)
Generated\BoundNodes.xml.Generated.cs (13)
4264public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler, bool hasErrors = false) 4279public ImmutableArray<BoundCatchBlock> CatchBlocks { get; } 4287public BoundTryStatement Update(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler) 4328public BoundCatchBlock Update(ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll) 4332var result = new BoundCatchBlock(this.Syntax, locals, exceptionSourceOpt, exceptionTypeOpt, exceptionFilterPrologueOpt, exceptionFilterOpt, body, isSynthesizedAsyncCatchAll, this.HasErrors); 9302return VisitCatchBlock((BoundCatchBlock)node, arg); 9672public virtual R VisitCatchBlock(BoundCatchBlock node, A arg) => this.DefaultVisit(node, arg); 9913public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 10500public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11818ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks); 11822public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13958public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 16460public 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)