35 instantiations of BoundBlock
Microsoft.CodeAnalysis.CSharp (35)
Binder\Binder.cs (2)
880return new BoundBlock(statement.Syntax, locals, ImmutableArray.Create(statement)) 896return new BoundBlock(statement.Syntax, locals, ImmutableArray<MethodSymbol>.CastUp(localFunctions), hasUnsafeModifier: false, instrumentation: null,
Binder\Binder_Statements.cs (2)
1911return new BoundBlock( 3550return new BoundBlock(node, locals, ImmutableArray.Create(statement)) { WasCompilerGenerated = node.Kind() != SyntaxKind.ArrowExpressionClause };
Binder\ForLoopBinder.cs (1)
120increment = new BoundBlock(increment.Syntax, locals, ImmutableArray.Create(increment))
BoundTree\Constructors.cs (2)
591return new BoundBlock(syntax, ImmutableArray<LocalSymbol>.Empty, ImmutableArray.Create(statement)) 597return new BoundBlock(syntax, ImmutableArray<LocalSymbol>.Empty, statements) { WasCompilerGenerated = true };
Compiler\MethodBodySynthesizer.cs (2)
563return new BoundBlock( 571new BoundBlock(
Compiler\MethodCompiler.cs (4)
991body = new BoundBlock(methodSymbol.GetNonNullSyntaxNode(), ImmutableArray<LocalSymbol>.Empty, ImmutableArray<BoundStatement>.Empty) { WasCompilerGenerated = true }; 1034new BoundBlock(analyzedInitializers.Syntax, ImmutableArray<LocalSymbol>.Empty, analyzedInitializers.Statements), // The block is necessary to establish the right local scope for the analysis 1970body = new BoundBlock(constructor.Syntax, constructor.Locals, ImmutableArray.Create<BoundStatement>(constructor.Initializer)); 1974body = new BoundBlock(constructor.Syntax, constructor.Locals, ImmutableArray.Create<BoundStatement>(constructor.Initializer, body));
FlowAnalysis\FlowAnalysisPass.cs (1)
86block = new BoundBlock(block.Syntax, ImmutableArray<LocalSymbol>.Empty, newStatements) { WasCompilerGenerated = true };
Generated\BoundNodes.xml.Generated.cs (1)
3333var result = new BoundBlock(this.Syntax, locals, localFunctions, hasUnsafeModifier, instrumentation, statements, this.HasErrors);
Lowering\InitializerRewriter.cs (1)
112boundStatement = new BoundBlock(syntax, fieldInit.Locals, ImmutableArray.Create(boundStatement)) { WasCompilerGenerated = fieldInit.WasCompilerGenerated };
Lowering\LocalRewriter\LocalRewriter_Block.cs (1)
130? new BoundBlock(node.Syntax, ImmutableArray<LocalSymbol>.Empty, ImmutableArray<BoundStatement>.Empty)
Lowering\LocalRewriter\LocalRewriter_DoStatement.cs (1)
67new BoundBlock(syntax,
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (6)
259tryBlock: new BoundBlock(forEachSyntax, locals: ImmutableArray<LocalSymbol>.Empty, statements: ImmutableArray.Create(whileLoop)), 266result = new BoundBlock( 278result = new BoundBlock( 409return new BoundBlock(forEachSyntax, 464return new BoundBlock(forEachSyntax, 838return new BoundBlock(
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (2)
80return new BoundBlock( 256return new BoundBlock(
Lowering\LocalRewriter\LocalRewriter_WhileStatement.cs (1)
148new BoundBlock(syntax,
Lowering\SpillSequenceSpiller.cs (1)
296var result = new BoundBlock(statement.Syntax, builder.GetLocals(), builder.GetStatements()) { WasCompilerGenerated = true };
Lowering\SyntheticBoundNodeFactory.cs (2)
491return new BoundBlock(Syntax, locals, statements) { WasCompilerGenerated = true }; 506return new BoundBlock(Syntax, locals, localFunctions, hasUnsafeModifier: false, instrumentation: null, statements) { WasCompilerGenerated = true };
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (5)
400return new BoundBlock( 423return new BoundBlock( 494return new BoundBlock( 501return new BoundBlock(syntax, 618return new BoundBlock(syntax,
371 references to BoundBlock
Microsoft.CodeAnalysis.CSharp (355)
Binder\Binder.QueryUnboundLambdaState.cs (4)
17private delegate BoundBlock LambdaBodyFactory(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics); 73protected override BoundExpression GetLambdaExpressionBody(BoundBlock body) 78protected override BoundBlock CreateBlockFromLambdaExpressionBody(Binder lambdaBodyBinder, BoundExpression expression, BindingDiagnosticBag diagnostics) 83protected override BoundBlock BindLambdaBodyCore(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics)
Binder\Binder_Query.cs (1)
768private BoundBlock CreateLambdaBlockForQueryClause(ExpressionSyntax expression, BoundExpression result, BindingDiagnosticBag diagnostics)
Binder\Binder_Statements.cs (20)
150BoundBlock block; 153(block = (BoundBlock)result).Statements.Length == 1 && 566BoundBlock blockBody = null; 567BoundBlock expressionBody = null; 610BoundBlock runAnalysis(BoundBlock block, BindingDiagnosticBag blockDiagnostics) 1873internal virtual BoundBlock BindEmbeddedBlock(BlockSyntax node, BindingDiagnosticBag diagnostics) 1878private BoundBlock BindBlock(BlockSyntax node, BindingDiagnosticBag diagnostics) 1891private BoundBlock BindBlockParts(BlockSyntax node, BindingDiagnosticBag diagnostics) 1907private BoundBlock FinishBindBlockParts(CSharpSyntaxNode node, ImmutableArray<BoundStatement> boundStatements) 3220var tryBlock = BindEmbeddedBlock(node.Block, diagnostics); 3222var finallyBlockOpt = (node.Finally != null) ? BindEmbeddedBlock(node.Finally.Block, diagnostics) : null; 3363var block = BindEmbeddedBlock(node.Block, diagnostics); 3464internal BoundBlock CreateBlockFromExpression(CSharpSyntaxNode node, ImmutableArray<LocalSymbol> locals, RefKind refKind, BoundExpression expression, ExpressionSyntax expressionSyntax, BindingDiagnosticBag diagnostics) 3561internal virtual BoundBlock BindExpressionBodyAsBlock( 3589static BoundBlock bindExpressionBodyAsBlockInternal(ArrowExpressionClauseSyntax expressionBody, Binder bodyBinder, BindingDiagnosticBag diagnostics) 3602public BoundBlock BindLambdaExpressionAsBlock(ExpressionSyntax body, BindingDiagnosticBag diagnostics) 3614public BoundBlock CreateBlockFromExpression(ExpressionSyntax body, BoundExpression expression, BindingDiagnosticBag diagnostics) 3767constructor.Body == null ? null : (BoundBlock)bodyBinder.BindStatement(constructor.Body, diagnostics), 4046blockBody == null ? null : (BoundBlock)BindStatement(blockBody, diagnostics),
Binder\RefSafetyAnalysis.cs (1)
249public override BoundNode? VisitBlock(BoundBlock node)
BoundTree\BoundLocalFunctionStatement.cs (1)
13public BoundBlock? Body { get => BlockBody ?? ExpressionBody; }
BoundTree\BoundNode.cs (1)
554public override BoundNode? VisitBlock(BoundBlock node)
BoundTree\BoundNode_Source.cs (2)
66var finallyBlock = tryStatement.FinallyBlockOpt; 84case BoundBlock block:
BoundTree\BoundTreeVisitors.cs (1)
72return VisitBlock(node as BoundBlock, arg);
BoundTree\Constructors.cs (5)
589public static BoundBlock SynthesizedNoLocals(SyntaxNode syntax, BoundStatement statement) 595public static BoundBlock SynthesizedNoLocals(SyntaxNode syntax, ImmutableArray<BoundStatement> statements) 600public static BoundBlock SynthesizedNoLocals(SyntaxNode syntax, params BoundStatement[] statements) 616public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt = null)
BoundTree\UnboundLambda.cs (17)
25BoundBlock? Body { get; } 35BoundBlock? IBoundLambdaOrFunction.Body { get => this.Body; } 82public BoundLambda(SyntaxNode syntax, UnboundLambda unboundLambda, BoundBlock body, ReadOnlyBindingDiagnostic<AssemblySymbol> diagnostics, Binder binder, TypeSymbol? delegateType, InferredLambdaReturnType inferredReturnType) 347public static void GetReturnTypes(ArrayBuilder<(BoundReturnStatement, TypeWithAnnotations)> builder, BoundBlock block) 588protected BoundBlock BindLambdaBody(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics) 599protected abstract BoundBlock BindLambdaBodyCore(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics); 605protected abstract BoundExpression? GetLambdaExpressionBody(BoundBlock body); 610protected abstract BoundBlock CreateBlockFromLambdaExpressionBody(Binder lambdaBodyBinder, BoundExpression expression, BindingDiagnosticBag diagnostics); 739var block = BindLambdaBody(lambdaSymbol, lambdaBodyBinder, BindingDiagnosticBag.Discarded); 804BoundBlock block; 957(var lambdaSymbol, var block, var lambdaBodyBinder, var diagnostics) = BindWithParameterAndReturnType(parameterTypes, parameterRefKinds, returnType, refKind); 1009private (LambdaSymbol lambdaSymbol, BoundBlock block, ExecutableCodeBinder lambdaBodyBinder, BindingDiagnosticBag diagnostics) BindWithParameterAndReturnType( 1022var block = BindLambdaBody(lambdaSymbol, lambdaBodyBinder, diagnostics); 1240(var lambdaSymbol, var block, var lambdaBodyBinder, var diagnostics) = BindWithParameterAndReturnType(parameterTypes, parameterRefKinds, returnType, refKind); 1585protected override BoundExpression? GetLambdaExpressionBody(BoundBlock body) 1600protected override BoundBlock CreateBlockFromLambdaExpressionBody(Binder lambdaBodyBinder, BoundExpression expression, BindingDiagnosticBag diagnostics) 1605protected override BoundBlock BindLambdaBodyCore(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics)
CodeGen\EmitStatement.cs (8)
32EmitBlock((BoundBlock)statement); 648private bool IsLastBlockInMethod(BoundBlock block) 666private void EmitBlock(BoundBlock block) 678private void EmitInstrumentedBlock(BoundBlockInstrumentation instrumentation, BoundBlock block) 739private void EmitUninstrumentedBlock(BoundBlock block) 988var finallyClone = FinallyCloner.MakeFinallyClone(statement); 1948public static BoundBlock MakeFinallyClone(BoundTryStatement node) 1951return (BoundBlock)cloner.Visit(node.FinallyBlockOpt);
CodeGen\Optimizer.cs (9)
612public override BoundNode VisitBlock(BoundBlock node) 1670var tryBlock = (BoundBlock)this.Visit(node.TryBlock); 1675var finallyBlock = (BoundBlock)this.Visit(node.FinallyBlockOpt); 1740var boundBlock = (BoundBlock)this.Visit(node.Body); 2291var body = node.Body; 2329body = (BoundBlock)this.Visit(body);
Compilation\MemberSemanticModel.cs (6)
2457internal override BoundBlock BindEmbeddedBlock(BlockSyntax node, BindingDiagnosticBag diagnostics) 2459BoundBlock block = (BoundBlock)TryGetBoundNodeFromMap(node); 2512internal override BoundBlock BindExpressionBodyAsBlock(ArrowExpressionClauseSyntax node, BindingDiagnosticBag diagnostics) 2514BoundBlock block = (BoundBlock)TryGetBoundNodeFromMap(node);
Compiler\MethodBodySynthesizer.cs (11)
174internal static BoundBlock ConstructAutoPropertyAccessorBody(SourceMemberMethodSymbol accessor) 209return BoundBlock.SynthesizedNoLocals(syntax, statement); 215internal static BoundBlock ConstructFieldLikeEventAccessorBody(SourceEventSymbol eventSymbol, bool isAddMethod, CSharpCompilation compilation, BindingDiagnosticBag diagnostics) 232internal static BoundBlock ConstructFieldLikeEventAccessorBody_WinRT(SourceEventSymbol eventSymbol, bool isAddMethod, CSharpCompilation compilation, BindingDiagnosticBag diagnostics) 312return BoundBlock.SynthesizedNoLocals(syntax, returnStatement); 322return BoundBlock.SynthesizedNoLocals(syntax, callStatement, returnStatement); 344internal static BoundBlock ConstructFieldLikeEventAccessorBody_Regular(SourceEventSymbol eventSymbol, bool isAddMethod, CSharpCompilation compilation, BindingDiagnosticBag diagnostics) 371return BoundBlock.SynthesizedNoLocals(syntax, @return); 415return BoundBlock.SynthesizedNoLocals(syntax, 528internal static BoundBlock ConstructDestructorBody(MethodSymbol method, BoundBlock block)
Compiler\MethodBodySynthesizer.Lowered.cs (4)
82var body = F.Block( 174var body = F.Block( 332BoundBlock body = MethodBodySynthesizer.ConstructSingleInvocationMethodBody(F, methodBeingWrapped, useBaseReference: true); 455internal static BoundBlock ConstructSingleInvocationMethodBody(SyntheticBoundNodeFactory F, MethodSymbol methodToInvoke, bool useBaseReference)
Compiler\MethodCompiler.cs (12)
978BoundBlock body; 1001body = BoundBlock.SynthesizedNoLocals(initializerStatements.Syntax, initializerStatements.Statements); 1055body = (BoundBlock)body.WithHasErrors(); 1126BoundBlock flowAnalyzedBody = null; 1827internal static BoundBlock? BindSynthesizedMethodBody(MethodSymbol method, TypeCompilationState compilationState, BindingDiagnosticBag diagnostics) 1843private static BoundBlock? BindMethodBody( 1860BoundBlock? body; 1997body = (BoundBlock)methodBody; 2021body = BoundBlock.SynthesizedNoLocals(node, stmts.ToImmutableAndFree()); 2073return BoundBlock.SynthesizedNoLocals(method.GetNonNullSyntaxNode(), statements); 2438private static BoundBlock GetSynthesizedEmptyBody(Symbol symbol) 2440return BoundBlock.SynthesizedNoLocals(symbol.GetNonNullSyntaxNode());
FlowAnalysis\AbstractFlowPass.cs (3)
1304public override BoundNode VisitBlock(BoundBlock node) 3812private void VisitMethodBodies(BoundBlock blockBody, BoundBlock expressionBody)
FlowAnalysis\ControlFlowPass.cs (6)
23private readonly ArrayBuilder<(LocalSymbol symbol, BoundBlock block)> _usingDeclarations = ArrayBuilder<(LocalSymbol, BoundBlock)>.GetInstance(); 24private BoundBlock _currentBlock = null; 154public static bool Analyze(CSharpCompilation compilation, Symbol member, BoundBlock block, DiagnosticBag diagnostics) 398public override BoundNode VisitBlock(BoundBlock node) 400var parentBlock = _currentBlock;
FlowAnalysis\DefiniteAssignment.cs (2)
2135public override BoundNode? VisitBlock(BoundBlock node) 2172private void VisitStatementsWithLocalFunctions(BoundBlock block)
FlowAnalysis\FlowAnalysisPass.cs (10)
31public static BoundBlock Rewrite( 33BoundBlock block, 110private static BoundBlock PrependImplicitInitializations(BoundBlock body, MethodSymbol method, ImmutableArray<FieldSymbol> implicitlyInitializedFields, TypeCompilationState compilationState, BindingDiagnosticBag diagnostics) 165private static BoundBlock AppendImplicitReturn(BoundBlock body, MethodSymbol method, bool originalBodyNested) 174builder.Add(AppendImplicitReturn((BoundBlock)statements[n - 1], method)); 187internal static BoundBlock AppendImplicitReturn(BoundBlock body, MethodSymbol method) 210BoundBlock block,
FlowAnalysis\NullableWalker.cs (2)
3202public override BoundNode? VisitBlock(BoundBlock node) 3210private void VisitStatementsWithLocalFunctions(BoundBlock block)
Generated\BoundNodes.xml.Generated.cs (76)
1041public BoundExtractedFinallyBlock(SyntaxNode syntax, BoundBlock finallyBlock, bool hasErrors = false) 1050public BoundBlock FinallyBlock { get; } 1055public BoundExtractedFinallyBlock Update(BoundBlock finallyBlock) 3329public BoundBlock Update(ImmutableArray<LocalSymbol> locals, ImmutableArray<MethodSymbol> localFunctions, bool hasUnsafeModifier, BoundBlockInstrumentation? instrumentation, ImmutableArray<BoundStatement> statements) 3333var result = new BoundBlock(this.Syntax, locals, localFunctions, hasUnsafeModifier, instrumentation, statements, this.HasErrors); 3509public BoundLocalFunctionStatement(SyntaxNode syntax, MethodSymbol symbol, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false) 3521public BoundBlock? BlockBody { get; } 3522public BoundBlock? ExpressionBody { get; } 3527public BoundLocalFunctionStatement Update(MethodSymbol symbol, BoundBlock? blockBody, BoundBlock? expressionBody) 4225public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler, bool hasErrors = false) 4239public BoundBlock TryBlock { get; } 4241public BoundBlock? FinallyBlockOpt { get; } 4248public BoundTryStatement Update(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler) 4262public BoundCatchBlock(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll, bool hasErrors = false) 4283public BoundBlock Body { get; } 4289public BoundCatchBlock Update(ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll) 7595public BoundLambda(SyntaxNode syntax, UnboundLambda unboundLambda, MethodSymbol symbol, BoundBlock body, ReadOnlyBindingDiagnostic<AssemblySymbol> diagnostics, Binder binder, TypeSymbol? type, bool hasErrors = false) 7614public BoundBlock Body { get; } 7621public BoundLambda Update(UnboundLambda unboundLambda, MethodSymbol symbol, BoundBlock body, ReadOnlyBindingDiagnostic<AssemblySymbol> diagnostics, Binder binder, TypeSymbol? type) 8733protected BoundMethodBodyBase(BoundKind kind, SyntaxNode syntax, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false) 8740public BoundBlock? BlockBody { get; } 8741public BoundBlock? ExpressionBody { get; } 8746public BoundNonConstructorMethodBody(SyntaxNode syntax, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false) 8755public BoundNonConstructorMethodBody Update(BoundBlock? blockBody, BoundBlock? expressionBody) 8769public BoundConstructorMethodBody(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundStatement? initializer, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false) 8785public BoundConstructorMethodBody Update(ImmutableArray<LocalSymbol> locals, BoundStatement? initializer, BoundBlock? blockBody, BoundBlock? expressionBody) 9038return VisitBlock((BoundBlock)node, arg); 9426public virtual R VisitBlock(BoundBlock node, A arg) => this.DefaultVisit(node, arg); 9662public virtual BoundNode? VisitBlock(BoundBlock node) => this.DefaultVisit(node); 10112public override BoundNode? VisitBlock(BoundBlock node) 10956BoundBlock finallyBlock = (BoundBlock)this.Visit(node.FinallyBlock); 11362public override BoundNode? VisitBlock(BoundBlock node) 11404BoundBlock? blockBody = (BoundBlock?)this.Visit(node.BlockBody); 11405BoundBlock? expressionBody = (BoundBlock?)this.Visit(node.ExpressionBody); 11540BoundBlock tryBlock = (BoundBlock)this.Visit(node.TryBlock); 11542BoundBlock? finallyBlockOpt = (BoundBlock?)this.Visit(node.FinallyBlockOpt); 11551BoundBlock body = (BoundBlock)this.Visit(node.Body); 12156BoundBlock body = (BoundBlock)this.Visit(node.Body); 12374BoundBlock? blockBody = (BoundBlock?)this.Visit(node.BlockBody); 12375BoundBlock? expressionBody = (BoundBlock?)this.Visit(node.ExpressionBody); 12382BoundBlock? blockBody = (BoundBlock?)this.Visit(node.BlockBody); 12383BoundBlock? expressionBody = (BoundBlock?)this.Visit(node.ExpressionBody); 13537public override BoundNode? VisitBlock(BoundBlock node) 13572BoundBlock? blockBody = (BoundBlock?)this.Visit(node.BlockBody); 13573BoundBlock? expressionBody = (BoundBlock?)this.Visit(node.ExpressionBody); 13654BoundBlock body = (BoundBlock)this.Visit(node.Body); 14730BoundBlock body = (BoundBlock)this.Visit(node.Body); 15102BoundBlock? blockBody = (BoundBlock?)this.Visit(node.BlockBody); 15103BoundBlock? expressionBody = (BoundBlock?)this.Visit(node.ExpressionBody); 15893public override TreeDumperNode VisitBlock(BoundBlock node, object? arg) => new TreeDumperNode("block", null, new TreeDumperNode[]
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (12)
153BoundBlock rewrittenFinally; 159rewrittenFinally = (BoundBlock)this.Visit(node.FinallyBlockOpt); 176return _F.Try((BoundBlock)finalizedRegion, ImmutableArray<BoundCatchBlock>.Empty, rewrittenFinally); 183rewrittenFinally = (BoundBlock)this.VisitBlock(node.FinallyBlockOpt); 202BoundBlock syntheticFinallyBlock = _F.Block( 238var completeTry = _F.Block( 246private BoundBlock PendBranches( 463var rewrittenTry = (BoundBlock)this.VisitBlock(node.TryBlock); 655var handler = _F.Block( 1029public readonly List<BoundBlock> handlers; 1047this.handlers = new List<BoundBlock>();
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (3)
406protected override BoundBlock VisitFinally(BoundBlock finallyBlock) 411var result = base.VisitFinally(finallyBlock);
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (4)
254protected virtual BoundStatement GenerateTopLevelTry(BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks) 348private BoundBlock VisitAwaitExpression(BoundAwaitExpression node, BoundExpression resultPlace) 379var awaitIfIncomplete = F.Block( 466private BoundBlock GenerateAwaitForIncompleteTask(LocalSymbol awaiterTemp, BoundAwaitExpressionDebugInfo debugInfo)
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (3)
100public override BoundNode VisitBlock(BoundBlock node) 103protected BoundBlock VisitBlock(BoundBlock node, bool removeInstrumentation)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (2)
416public override BoundNode VisitBlock(BoundBlock node) 569private BoundNode? VisitNestedFunction(MethodSymbol functionSymbol, BoundBlock? body)
Lowering\ClosureConversion\ClosureConversion.cs (9)
563var body = F.Block( 1155public override BoundNode VisitBlock(BoundBlock node) 1169private BoundBlock RewriteBlock(BoundBlock node, ArrayBuilder<BoundExpression> prologue, ArrayBuilder<LocalSymbol> newLocals) 1279var rewrittenBlock = (BoundBlock)this.Visit(node.Body); 1587if (node.Body is BoundBlock block) 1629var newBody = (BoundBlock)Visit(node.Body);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
131private BoundExpression TranslateLambdaBody(BoundBlock block)
Lowering\ExtensionMethodBodyRewriter.cs (7)
100BoundBlock body = (BoundBlock)this.Visit(node.Body); 112BoundBlock? blockBody = (BoundBlock?)this.Visit(node.BlockBody); 113BoundBlock? expressionBody = (BoundBlock?)this.Visit(node.ExpressionBody); 120public override BoundNode VisitBlock(BoundBlock node)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
237public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref TemporaryArray<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\Instrumentation\CompoundInstrumenter.cs (3)
84public override void PreInstrumentBlock(BoundBlock original, LocalRewriter rewriter) 89public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref TemporaryArray<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation) 223ref BoundBlock rewrittenBody,
Lowering\Instrumentation\DebugInfoInjector.cs (4)
125var block = (BoundBlock)rewritten; 186public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref TemporaryArray<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation) 459ref BoundBlock rewrittenBody,
Lowering\Instrumentation\Instrumenter.cs (4)
62public virtual void PreInstrumentBlock(BoundBlock original, LocalRewriter rewriter) 71/// <param name="additionalLocals">Local symbols to be added to <see cref="BoundBlock.Locals"/> of the resulting block.</param> 74public virtual void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref TemporaryArray<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation) 298ref BoundBlock rewrittenBody,
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (5)
30/// This node is attached to a <see cref="BoundBlock"/> that represents the lowered body of an instrumented method, lambda or local function. 33/// <see cref="BoundBlock"/> with block instrumentation is eventually lowered to: 274public override void PreInstrumentBlock(BoundBlock original, LocalRewriter rewriter) 284public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref TemporaryArray<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation) 498ref BoundBlock rewrittenBody,
Lowering\Instrumentation\ModuleCancellationInstrumenter.cs (1)
67public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref TemporaryArray<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\Instrumentation\StackOverflowProbingInstrumenter.cs (1)
57public override void InstrumentBlock(BoundBlock original, LocalRewriter rewriter, ref TemporaryArray<LocalSymbol> additionalLocals, out BoundStatement? prologue, out BoundStatement? epilogue, out BoundBlockInstrumentation? instrumentation)
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (8)
152var faultBlock = F.Block(F.ExpressionStatement(F.Call(F.This(), disposeMethod))); 153newBody = F.Fault((BoundBlock)newBody, faultBlock); 169var disposeBody = F.Block( 181var disposeBody = F.Block( 193private BoundBlock HandleReturn(BoundStatement newBody) 284var tryBlock = body != null ? F.Block(body) : F.Block(); 378(BoundBlock)Visit(node.TryBlock), 380(BoundBlock)Visit(node.FinallyBlockOpt),
Lowering\LocalRewriter\LocalRewriter.cs (8)
45private BoundBlock? _currentLambdaBody; 180internal BoundBlock? CurrentLambdaBody 356var oldLambdaBody = _currentLambdaBody; 422var oldLambdaBody = _currentLambdaBody; 711var block = (BoundBlock)initializer; 882var block = (BoundBlock)initializer;
Lowering\LocalRewriter\LocalRewriter_Block.cs (1)
14public override BoundNode VisitBlock(BoundBlock node)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (4)
216var rewrittenBodyBlock = CreateBlockDeclaringIterationVariables(iterationVariables, iterationVarDecl, rewrittenBody, forEachSyntax); 223var disposalFinallyBlock = GetDisposalFinallyBlock(forEachSyntax, enumeratorInfo, enumeratorType, boundEnumeratorVar, out var hasAsyncDisposal); 307private BoundBlock? GetDisposalFinallyBlock( 823private static BoundBlock CreateBlockDeclaringIterationVariables(
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (7)
53var tryBlock = rewrittenBody is BoundBlock block ? block : BoundBlock.SynthesizedNoLocals(lockSyntax, rewrittenBody); 176BoundBlock.SynthesizedNoLocals(lockSyntax, ImmutableArray.Create<BoundStatement>( 180BoundBlock.SynthesizedNoLocals(lockSyntax, 227BoundBlock.SynthesizedNoLocals(lockSyntax, rewrittenBody), 229BoundBlock.SynthesizedNoLocals(lockSyntax, exitCall))));
Lowering\LocalRewriter\LocalRewriter_TryStatement.cs (8)
16BoundBlock? tryBlock = (BoundBlock?)this.Visit(node.TryBlock); 27BoundBlock? finallyBlockOpt = (BoundBlock?)this.Visit(node.FinallyBlockOpt); 56var block = (BoundBlock)statement; 88BoundBlock? rewrittenBody = (BoundBlock?)this.Visit(node.Body);
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (14)
40BoundBlock tryBlock = rewrittenBody.Kind == BoundKind.Block 41? (BoundBlock)rewrittenBody 42: BoundBlock.SynthesizedNoLocals(node.Syntax, rewrittenBody); 63BoundBlock body, 72BoundBlock result = body; 92BoundBlock body = new BoundBlock(syntax, ImmutableArray<LocalSymbol>.Empty, statements); 108private BoundBlock MakeExpressionUsingStatement(BoundUsingStatement node, BoundBlock tryBlock) 206private BoundBlock RewriteDeclarationUsingStatement( 209BoundBlock tryBlock, 233return BoundBlock.SynthesizedNoLocals(declarationSyntax, rewrittenDeclaration, tryBlock); 269return BoundBlock.SynthesizedNoLocals(declarationSyntax, rewrittenDeclaration, tryFinally); 282BoundBlock tryBlock, 423finallyBlockOpt: BoundBlock.SynthesizedNoLocals(resourceSyntax, finallyStatement));
Lowering\SpillSequenceSpiller.cs (3)
296var result = new BoundBlock(statement.Syntax, builder.GetLocals(), builder.GetStatements()) { WasCompilerGenerated = true }; 723BoundBlock body = (BoundBlock)this.Visit(node.Body);
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
369public override BoundNode VisitBlock(BoundBlock node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (11)
403internal BoundBlock MakeStateMachineScope(ImmutableArray<StateMachineFieldSymbol> hoistedLocals, BoundStatement statement) 415var rewrittenBlock = (BoundBlock)statement; 446protected BoundBlock GenerateAllHoistedLocalsCleanup() 455var result = F.Block(variableCleanup.SelectAsArray((e, f) => (BoundStatement)f.ExpressionStatement(e), F)); 740public override BoundNode VisitBlock(BoundBlock node) 889BoundBlock tryBlock = F.Block((BoundStatement)this.Visit(node.TryBlock)); 908BoundBlock finallyBlockOpt = node.FinallyBlockOpt == null ? null : F.Block( 929protected virtual BoundBlock VisitFinally(BoundBlock finallyBlock) 931return (BoundBlock)this.Visit(finallyBlock);
Lowering\SyntheticBoundNodeFactory.cs (17)
469public BoundBlock Block() 474public BoundBlock Block(ImmutableArray<BoundStatement> statements) 479public BoundBlock Block(params BoundStatement[] statements) 484public BoundBlock Block(ImmutableArray<LocalSymbol> locals, params BoundStatement[] statements) 489public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements) 494public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, params BoundStatement[] statements) 499public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<LocalFunctionSymbol> localFunctions, ImmutableArray<BoundStatement> statements) 504public BoundBlock Block(ImmutableArray<LocalSymbol> locals, ImmutableArray<MethodSymbol> localFunctions, ImmutableArray<BoundStatement> statements) 509public BoundExtractedFinallyBlock ExtractedFinallyBlock(BoundBlock finallyBlock) 987var firstPart = this.Block(locals, statements.ToImmutable()); 1001var firstPart = this.Block(locals, statements.ToImmutable()); 1612BoundBlock tryBlock, 1614BoundBlock? finallyBlock = null, 1628BoundBlock block) 1636BoundBlock block) 1641internal BoundTryStatement Fault(BoundBlock tryBlock, BoundBlock faultBlock)
Operations\CSharpOperationFactory.cs (2)
163return CreateBoundBlockOperation((BoundBlock)boundNode); 1751private IBlockOperation CreateBoundBlockOperation(BoundBlock boundBlock)
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListConstructor.cs (1)
33var block = f.Block(
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorConstructor.cs (1)
33var block = f.Block(
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (4)
60internal abstract BoundBlock CreateBody(BindingDiagnosticBag diagnostics); 394internal override BoundBlock CreateBody(BindingDiagnosticBag diagnostics) 465internal override BoundBlock CreateBody(BindingDiagnosticBag diagnostics) 563internal override BoundBlock CreateBody(BindingDiagnosticBag diagnostics)
Symbols\Synthesized\SynthesizedEventAccessorSymbol.cs (1)
146BoundBlock body = CSharp.MethodBodySynthesizer.ConstructFieldLikeEventAccessorBody(fieldLikeEvent, isAddMethod: MethodKind == MethodKind.EventAdd, compilationState.Compilation, diagnostics);
Symbols\Synthesized\SynthesizedHotReloadExceptionConstructorSymbol.cs (1)
55var block = factory.Block(
Symbols\Synthesized\SynthesizedInstanceConstructor.cs (1)
310var block = factory.Block(statements.ToImmutableAndFree());
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (1)
FlowAnalysis\FlowTestBase.cs (1)
35var boundBody = MethodCompiler.BindSynthesizedMethodBody(sourceSymbol, compilationState, diagnostics);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (14)
Semantics\ConstantTests.cs (1)
1453var block = ParseAndBindMethodBody(source);
Semantics\ImplicitlyTypeArraysTests.cs (1)
38var block = MethodCompiler.BindSynthesizedMethodBody(method, new TypeCompilationState(method.ContainingType, compilation, null), diagnostics);
Semantics\OperatorTests.cs (3)
3204var block = MethodCompiler.BindSynthesizedMethodBody(method, new TypeCompilationState(method.ContainingType, compilation, null), diagnostics); 7334var block = binder.BindEmbeddedBlock(methodBody, diagnostics); 8817var block = binder.BindEmbeddedBlock(methodBody, diagnostics);
Semantics\OverloadResolutionTestBase.cs (1)
37var block = MethodCompiler.BindSynthesizedMethodBody(method, new TypeCompilationState(method.ContainingType, compilation, null), diagnostics);
Semantics\SemanticAnalyzerTests.cs (7)
1318var block = ParseAndBindMethodBody(@" 1346var block = ParseAndBindMethodBody(@" 1374var block = ParseAndBindMethodBody(@" 1405var block = ParseAndBindMethodBody(@" 1439var block = ParseAndBindMethodBody(@" 1474var block = ParseAndBindMethodBody(@" 1509var block = ParseAndBindMethodBody(@"
Semantics\UnsafeTests.cs (1)
5206var block = binder.BindEmbeddedBlock(methodBody, unusedDiagnostics);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
CompilingTestBase.cs (1)
39var block = MethodCompiler.BindSynthesizedMethodBody(method, compilationState, diagnostics);