5 instantiations of BoundCatchBlock
Microsoft.CodeAnalysis.CSharp (5)
Binder\Binder_Statements.cs (1)
3245return new BoundCatchBlock(node, locals, exceptionSource, type, exceptionFilterPrologueOpt: null, boundFilter, block, hasError);
Generated\BoundNodes.xml.Generated.cs (1)
4179var result = new BoundCatchBlock(this.Syntax, locals, exceptionSourceOpt, exceptionTypeOpt, exceptionFilterPrologueOpt, exceptionFilterOpt, body, isSynthesizedAsyncCatchAll, this.HasErrors);
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (1)
252return new BoundCatchBlock(
Lowering\SyntheticBoundNodeFactory.cs (2)
1471return new BoundCatchBlock(Syntax, ImmutableArray.Create(local), source, source.Type, exceptionFilterPrologueOpt: null, exceptionFilterOpt: null, body: block, isSynthesizedAsyncCatchAll: false); 1478return 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)
3109private ImmutableArray<BoundCatchBlock> BindCatchBlocks(SyntaxList<CatchClauseSyntax> catchClauses, BindingDiagnosticBag diagnostics) 3114return ImmutableArray<BoundCatchBlock>.Empty; 3117var catchBlocks = ArrayBuilder<BoundCatchBlock>.GetInstance(n); 3128var catchBlock = catchBinder.BindCatchBlock(catchSyntax, catchBlocks, diagnostics); 3136private BoundCatchBlock BindCatchBlock(CatchClauseSyntax node, ArrayBuilder<BoundCatchBlock> previousBlocks, BindingDiagnosticBag diagnostics) 3186foreach (var previousBlock in previousBlocks)
Binder\RefSafetyAnalysis.cs (1)
371public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
BoundTree\BoundNode.cs (1)
624public override BoundNode? VisitCatchBlock(BoundCatchBlock node)
BoundTree\BoundNode_Source.cs (1)
36foreach (var catchBlock in catchBlocks)
BoundTree\Constructors.cs (1)
630public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt = null)
CodeGen\EmitStatement.cs (3)
934foreach (var catchBlock in statement.CatchBlocks) 1012private void EmitCatchBlock(BoundCatchBlock catchBlock) 1195private void RecordAsyncCatchHandlerOffset(BoundCatchBlock catchBlock)
CodeGen\Optimizer.cs (2)
1616public override BoundNode VisitCatchBlock(BoundCatchBlock node) 2163public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Compiler\MethodBodySynthesizer.cs (1)
563ImmutableArray<BoundCatchBlock>.Empty,
FlowAnalysis\AbstractFlowPass.cs (3)
1686foreach (var catchBlock in node.CatchBlocks) 1796private void VisitCatchBlockWithAnyTransferFunction(BoundCatchBlock catchBlock, ref TLocalState finallyState) 1820protected 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)
2509protected override void VisitCatchBlock(BoundCatchBlock catchBlock, ref LocalState finallyState)
FlowAnalysis\NullableWalker.cs (1)
11087protected override void VisitCatchBlock(BoundCatchBlock node, ref LocalState finallyState)
FlowAnalysis\VariablesDeclaredWalker.cs (1)
144protected override void VisitCatchBlock(BoundCatchBlock catchBlock, ref LocalState finallyState)
Generated\BoundNodes.xml.Generated.cs (13)
4111public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler, bool hasErrors = false) 4126public ImmutableArray<BoundCatchBlock> CatchBlocks { get; } 4134public BoundTryStatement Update(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler) 4175public BoundCatchBlock Update(ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll) 4179var result = new BoundCatchBlock(this.Syntax, locals, exceptionSourceOpt, exceptionTypeOpt, exceptionFilterPrologueOpt, exceptionFilterOpt, body, isSynthesizedAsyncCatchAll, this.HasErrors); 8729return VisitCatchBlock((BoundCatchBlock)node, arg); 9077public virtual R VisitCatchBlock(BoundCatchBlock node, A arg) => this.DefaultVisit(node, arg); 9305public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 9862public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11033ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks); 11037public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 12994public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 15370public override TreeDumperNode VisitCatchBlock(BoundCatchBlock node, object? arg) => new TreeDumperNode("catchBlock", null, new TreeDumperNode[]
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (8)
164return _F.Try((BoundBlock)finalizedRegion, ImmutableArray<BoundCatchBlock>.Empty, rewrittenFinally); 179var catchAll = _F.Catch(_F.Local(pendingExceptionLocal), _F.Block()); 502public override BoundNode VisitCatchBlock(BoundCatchBlock node) 540BoundCatchBlock catchAndPend; 728private HashSet<BoundCatchBlock> _awaitContainingCatches; 750internal bool CatchContainsAwait(BoundCatchBlock node) 814public override BoundNode VisitCatchBlock(BoundCatchBlock node) 826_awaitContainingCatches = awaitContainingCatches = new HashSet<BoundCatchBlock>();
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (3)
211F.Try(F.Block(newBody), ImmutableArray<BoundCatchBlock>.Empty, F.Block(instrumentation.Epilogue))); 217protected virtual BoundStatement GenerateTopLevelTry(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks) 232protected BoundCatchBlock GenerateExceptionHandling(LocalSymbol exceptionLocal, ImmutableArray<StateMachineFieldSymbol> hoistedLocals)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (1)
407public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\ClosureConversion\ClosureConversion.cs (2)
1198public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1214private BoundNode RewriteCatch(BoundCatchBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals)
Lowering\Instrumentation\CompoundInstrumenter.cs (1)
208BoundCatchBlock original,
Lowering\Instrumentation\DebugInfoInjector.cs (1)
402BoundCatchBlock original,
Lowering\Instrumentation\Instrumenter.cs (1)
279BoundCatchBlock original,
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
496BoundCatchBlock original,
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (2)
156F.Try(F.Block(newBody), ImmutableArray<BoundCatchBlock>.Empty, F.Block(instrumentation.Epilogue))); 281ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (1)
67ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
420catchBlocks: ImmutableArray<BoundCatchBlock>.Empty,
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (2)
134ImmutableArray<BoundCatchBlock>.Empty, 182ImmutableArray<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\MethodToClassRewriter.cs (1)
127public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\SpillSequenceSpiller.cs (1)
636public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
355public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
862ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks);
Lowering\SyntheticBoundNodeFactory.cs (6)
1453ImmutableArray<BoundCatchBlock> catchBlocks, 1460internal ImmutableArray<BoundCatchBlock> CatchBlocks( 1461params BoundCatchBlock[] catchBlocks) 1466internal BoundCatchBlock Catch( 1474internal BoundCatchBlock Catch( 1483return new BoundTryStatement(Syntax, tryBlock, ImmutableArray<BoundCatchBlock>.Empty, faultBlock, finallyLabelOpt: null, preferFaultHandler: true);
Operations\CSharpOperationFactory.cs (3)
183return CreateBoundCatchBlockOperation((BoundCatchBlock)boundNode); 1887ImmutableArray<ICatchClauseOperation> catches = CreateFromArray<BoundCatchBlock, ICatchClauseOperation>(boundTryStatement.CatchBlocks); 1894private ICatchClauseOperation CreateBoundCatchBlockOperation(BoundCatchBlock boundCatchBlock)