4 instantiations of BoundCatchBlock
Microsoft.CodeAnalysis.CSharp (4)
Generated\BoundNodes.xml.Generated.cs (1)
4290var 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);
79 references to BoundCatchBlock
Microsoft.CodeAnalysis.CSharp (79)
Binder\Binder_Statements.cs (7)
3247private ImmutableArray<BoundCatchBlock> BindCatchBlocks(SyntaxList<CatchClauseSyntax> catchClauses, BindingDiagnosticBag diagnostics) 3252return ImmutableArray<BoundCatchBlock>.Empty; 3255var catchBlocks = ArrayBuilder<BoundCatchBlock>.GetInstance(n); 3266var catchBlock = catchBinder.BindCatchBlock(catchSyntax, catchBlocks, diagnostics); 3274private BoundCatchBlock BindCatchBlock(CatchClauseSyntax node, ArrayBuilder<BoundCatchBlock> previousBlocks, BindingDiagnosticBag diagnostics) 3324foreach (var previousBlock in previousBlocks)
Binder\RefSafetyAnalysis.cs (1)
462public 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)
1692public override BoundNode VisitCatchBlock(BoundCatchBlock node) 2295public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Compiler\MethodBodySynthesizer.cs (1)
570ImmutableArray<BoundCatchBlock>.Empty,
FlowAnalysis\AbstractFlowPass.cs (3)
1834foreach (var catchBlock in node.CatchBlocks) 1944private void VisitCatchBlockWithAnyTransferFunction(BoundCatchBlock catchBlock, ref TLocalState finallyState) 1968protected virtual void VisitCatchBlock(BoundCatchBlock catchBlock, ref TLocalState finallyState)
FlowAnalysis\ControlFlowPass.cs (1)
286protected override void VisitCatchBlock(BoundCatchBlock catchBlock, ref LocalState finallyState)
FlowAnalysis\DataFlowsOutWalker.cs (1)
161var local = ((BoundCatchBlock)node).Locals.FirstOrDefault();
FlowAnalysis\DefiniteAssignment.cs (1)
2682protected override void VisitCatchBlock(BoundCatchBlock catchBlock, ref LocalState finallyState)
FlowAnalysis\NullableWalker.cs (1)
12823protected 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)
4222public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler, bool hasErrors = false) 4237public ImmutableArray<BoundCatchBlock> CatchBlocks { get; } 4245public BoundTryStatement Update(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler) 4286public BoundCatchBlock Update(ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll) 4290var result = new BoundCatchBlock(this.Syntax, locals, exceptionSourceOpt, exceptionTypeOpt, exceptionFilterPrologueOpt, exceptionFilterOpt, body, isSynthesizedAsyncCatchAll, this.HasErrors); 9089return VisitCatchBlock((BoundCatchBlock)node, arg); 9450public virtual R VisitCatchBlock(BoundCatchBlock node, A arg) => this.DefaultVisit(node, arg); 9686public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 10257public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11543ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks); 11547public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13636public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 16108public 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) 631BoundCatchBlock catchAndPend; 835private HashSet<BoundCatchBlock> _awaitContainingCatches; 857internal bool CatchContainsAwait(BoundCatchBlock node) 921public override BoundNode VisitCatchBlock(BoundCatchBlock node) 933_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)
499BoundCatchBlock original,
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (1)
287ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (1)
67ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
261catchBlocks: 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)
709public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
402public 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)