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)
246return new BoundCatchBlock(
Lowering\SyntheticBoundNodeFactory.cs (2)
1595return new BoundCatchBlock(Syntax, ImmutableArray.Create(local), source, source.Type, exceptionFilterPrologueOpt: null, exceptionFilterOpt: null, body: block, isSynthesizedAsyncCatchAll: false); 1602return 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 (6)
3207private ImmutableArray<BoundCatchBlock> BindCatchBlocks(SyntaxList<CatchClauseSyntax> catchClauses, BindingDiagnosticBag diagnostics) 3212return ImmutableArray<BoundCatchBlock>.Empty; 3215var catchBlocks = ArrayBuilder<BoundCatchBlock>.GetInstance(n); 3226var catchBlock = catchBinder.BindCatchBlock(catchSyntax, catchBlocks, diagnostics); 3234private 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)
687public 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)
1683public override BoundNode VisitCatchBlock(BoundCatchBlock node) 2286public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Compiler\MethodBodySynthesizer.cs (1)
570ImmutableArray<BoundCatchBlock>.Empty,
FlowAnalysis\AbstractFlowPass.cs (3)
1827foreach (var catchBlock in node.CatchBlocks) 1937private void VisitCatchBlockWithAnyTransferFunction(BoundCatchBlock catchBlock, ref TLocalState finallyState) 1961protected 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)
2677protected override void VisitCatchBlock(BoundCatchBlock catchBlock, ref LocalState finallyState)
FlowAnalysis\NullableWalker.cs (1)
12006protected 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)
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); 9053return VisitCatchBlock((BoundCatchBlock)node, arg); 9414public virtual R VisitCatchBlock(BoundCatchBlock node, A arg) => this.DefaultVisit(node, arg); 9650public virtual BoundNode? VisitCatchBlock(BoundCatchBlock node) => this.DefaultVisit(node); 10219public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 11428ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks); 11432public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 13461public override BoundNode? VisitCatchBlock(BoundCatchBlock node) 15930public 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)
211protected virtual BoundStatement GenerateTopLevelTry(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks) 226protected BoundCatchBlock GenerateExceptionHandling(LocalSymbol exceptionLocal, ImmutableArray<StateMachineFieldSymbol> hoistedLocals)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (1)
425public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\ClosureConversion\ClosureConversion.cs (2)
1214public override BoundNode VisitCatchBlock(BoundCatchBlock node) 1230private 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)
274ImmutableArray<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\MethodToClassRewriter.cs (1)
127public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\SpillSequenceSpiller.cs (1)
707public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
381public override BoundNode VisitCatchBlock(BoundCatchBlock node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
881ImmutableArray<BoundCatchBlock> catchBlocks = this.VisitList(node.CatchBlocks);
Lowering\SyntheticBoundNodeFactory.cs (7)
533statements.Add(Try(Block(statement), ImmutableArray<BoundCatchBlock>.Empty, Block(instrumentation.Epilogue))); 1577ImmutableArray<BoundCatchBlock> catchBlocks, 1584internal ImmutableArray<BoundCatchBlock> CatchBlocks( 1585params BoundCatchBlock[] catchBlocks) 1590internal BoundCatchBlock Catch( 1598internal BoundCatchBlock Catch( 1607return 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)