1 write to _F
Microsoft.CodeAnalysis.CSharp (1)
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (1)
36_F = factory;
131 references to _F
Microsoft.CodeAnalysis.CSharp (131)
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (131)
37_F.CurrentFunction = containingMethod; 164return _F.Try((BoundBlock)finalizedRegion, ImmutableArray<BoundCatchBlock>.Empty, rewrittenFinally); 174var exceptionType = _F.SpecialType(SpecialType.System_Object); 175var pendingExceptionLocal = new SynthesizedLocal(_F.CurrentFunction, TypeWithAnnotations.Create(exceptionType), SynthesizedLocalKind.TryAwaitPendingException, tryStatementSyntax); 176var finallyLabel = _F.GenerateLabel("finallyLabel"); 177var pendingBranchVar = new SynthesizedLocal(_F.CurrentFunction, TypeWithAnnotations.Create(_F.SpecialType(SpecialType.System_Int32)), SynthesizedLocalKind.TryAwaitPendingBranch, tryStatementSyntax); 179var catchAll = _F.Catch(_F.Local(pendingExceptionLocal), _F.Block()); 181var catchAndPendException = _F.Try( 182_F.Block( 184_F.HiddenSequencePoint(), 185_F.Goto(finallyLabel), 190BoundBlock syntheticFinallyBlock = _F.Block( 191_F.HiddenSequencePoint(), 192_F.Label(finallyLabel), 194_F.HiddenSequencePoint(), 201if (_F.CurrentFunction.IsAsync && _F.CurrentFunction.IsIterator) 204syntheticFinally = _F.ExtractedFinallyBlock(syntheticFinallyBlock); 210statements.Add(_F.HiddenSequencePoint()); 213statements.Add(_F.Assignment(_F.Local(pendingExceptionLocal), _F.Default(pendingExceptionLocal.Type))); 215statements.Add(_F.Assignment(_F.Local(pendingBranchVar), _F.Default(pendingBranchVar.Type))); 226var completeTry = _F.Block( 263return _F.Block(bodyStatements.ToImmutableAndFree()); 274bodyStatements.Add(_F.Label(proxy)); 277bodyStatements.Add(_F.Assignment(_F.Local(pendingBranchVar), _F.Literal(i))); 280bodyStatements.Add(_F.Goto(finallyLabel)); 302var caseStatement = _F.SwitchSection(i, _F.Goto(parentProxy)); 312pendingValue = _F.Local(frame.returnValue); 318var returnLabel = parent.ProxyReturnIfNeeded(_F.CurrentFunction, pendingValue, out returnValue); 322unpendReturn = new BoundReturnStatement(_F.Syntax, RefKind.None, pendingValue, @checked: false); 328unpendReturn = _F.Goto(returnLabel); 332unpendReturn = _F.Block( 333_F.Assignment( 334_F.Local(returnValue), 336_F.Goto(returnLabel)); 340var caseStatement = _F.SwitchSection(i, unpendReturn); 344return _F.Switch(_F.Local(pendingBranchVar), cases.ToImmutableAndFree()); 365_F.CurrentFunction, 377return _F.Block( 378_F.Assignment( 379_F.Local(returnValue), 381_F.Goto( 386return _F.Goto(returnLabel); 394LocalSymbol obj = _F.SynthesizedLocal(_F.SpecialType(SpecialType.System_Object)); 395var objInit = _F.Assignment(_F.Local(obj), _F.Local(pendingExceptionLocal)); 400return _F.Block( 403_F.If( 404_F.ObjectNotEqual( 405_F.Local(obj), 406_F.Null(obj.Type)), 413BoundStatement rethrow = _F.Throw(_F.Local(obj)); 415var exceptionDispatchInfoCapture = _F.WellKnownMethod(WellKnownMember.System_Runtime_ExceptionServices_ExceptionDispatchInfo__Capture, isOptional: true); 416var exceptionDispatchInfoThrow = _F.WellKnownMethod(WellKnownMember.System_Runtime_ExceptionServices_ExceptionDispatchInfo__Throw, isOptional: true); 422var ex = _F.SynthesizedLocal(_F.WellKnownType(WellKnownType.System_Exception)); 423var assignment = _F.Assignment( 424_F.Local(ex), 425_F.As(_F.Local(obj), ex.Type)); 428rethrow = _F.Block( 431_F.If(_F.ObjectEqual(_F.Local(ex), _F.Null(ex.Type)), rethrow), 433_F.ExpressionStatement( 434_F.Call( 435_F.StaticCall( 438_F.Local(ex)), 462BoundStatement tryWithCatches = _F.Try(rewrittenTry, rewrittenCatches); 467var handledLabel = _F.GenerateLabel("handled"); 472handlers.Add(_F.SwitchSection( 474_F.Block( 476_F.Goto(handledLabel)))); 479tryWithCatches = _F.Block( 484_F.HiddenSequencePoint(), 485_F.Assignment( 486_F.Local(currentAwaitCatchFrame.pendingCatch), 487_F.Default(currentAwaitCatchFrame.pendingCatch.Type)), 489_F.HiddenSequencePoint(), 490_F.Switch( 491_F.Local(currentAwaitCatchFrame.pendingCatch), 493_F.HiddenSequencePoint(), 494_F.Label(handledLabel)); 520currentAwaitCatchFrame = _currentAwaitCatchFrame = new AwaitCatchFrame(_F, tryStatementSyntax); 523var catchType = node.ExceptionTypeOpt ?? _F.SpecialType(SpecialType.System_Object); 524var catchTemp = _F.SynthesizedLocal(catchType); 526var storePending = _F.AssignmentExpression( 527_F.Local(currentAwaitCatchFrame.pendingCaughtException), 528_F.Convert(currentAwaitCatchFrame.pendingCaughtException.Type, 529_F.Local(catchTemp))); 531var setPendingCatchNum = _F.Assignment( 532_F.Local(currentAwaitCatchFrame.pendingCatch), 533_F.Literal(currentAwaitCatchFrame.handlers.Count + 1)); 552_F.Local(catchTemp), 556body: _F.Block( 557_F.HiddenSequencePoint(), 558_F.ExpressionStatement(storePending), 573currentAwaitCatchFrame.HoistLocal(local, _F); 582prologueBuilder.Add(_F.ExpressionStatement(storePending)); 585prologueBuilder.Add(_F.ExpressionStatement(AssignCatchSource((BoundExpression)this.Visit(sourceOpt), currentAwaitCatchFrame))); 592var newPrologue = _F.StatementList(prologueBuilder.ToImmutableAndFree()); 598_F.Local(catchTemp), 602body: _F.Block( 603_F.HiddenSequencePoint(), 610handlerStatements.Add(_F.HiddenSequencePoint()); 618handlerStatements.Add(_F.ExpressionStatement(assignSource)); 624var handler = _F.Block( 640assignSource = _F.AssignmentExpression( 642_F.Convert( 644_F.Local(currentAwaitCatchFrame.pendingCaughtException))); 674var oldContainingSymbol = _F.CurrentFunction; 677_F.CurrentFunction = node.Symbol; 682_F.CurrentFunction = oldContainingSymbol; 690var oldContainingSymbol = _F.CurrentFunction; 693_F.CurrentFunction = node.Symbol; 698_F.CurrentFunction = oldContainingSymbol;