1 write to _F
Microsoft.CodeAnalysis.CSharp (1)
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (1)
38_F = factory;
134 references to _F
Microsoft.CodeAnalysis.CSharp (134)
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (134)
39_F.CurrentFunction = containingMethod; 142var oldTrySyntax = _F.Syntax; 143_F.Syntax = tryStatementSyntax; 147_F.Syntax = oldTrySyntax; 176return _F.Try((BoundBlock)finalizedRegion, ImmutableArray<BoundCatchBlock>.Empty, rewrittenFinally); 186var exceptionType = _F.SpecialType(SpecialType.System_Object); 187var pendingExceptionLocal = new SynthesizedLocal(_F.CurrentFunction, TypeWithAnnotations.Create(exceptionType), SynthesizedLocalKind.TryAwaitPendingException, tryStatementSyntax); 188var finallyLabel = _F.GenerateLabel("finallyLabel"); 189var pendingBranchVar = new SynthesizedLocal(_F.CurrentFunction, TypeWithAnnotations.Create(_F.SpecialType(SpecialType.System_Int32)), SynthesizedLocalKind.TryAwaitPendingBranch, tryStatementSyntax); 191var catchAll = _F.Catch(_F.Local(pendingExceptionLocal), _F.Block()); 193var catchAndPendException = _F.Try( 194_F.Block( 196_F.HiddenSequencePoint(), 197_F.Goto(finallyLabel), 202BoundBlock syntheticFinallyBlock = _F.Block( 203_F.HiddenSequencePoint(), 204_F.Label(finallyLabel), 206_F.HiddenSequencePoint(), 213if (_F.CurrentFunction.IsAsync && _F.CurrentFunction.IsIterator) 216syntheticFinally = _F.ExtractedFinallyBlock(syntheticFinallyBlock); 222statements.Add(_F.HiddenSequencePoint()); 225statements.Add(_F.Assignment(_F.Local(pendingExceptionLocal), _F.Default(pendingExceptionLocal.Type))); 227statements.Add(_F.Assignment(_F.Local(pendingBranchVar), _F.Default(pendingBranchVar.Type))); 238var completeTry = _F.Block( 276return _F.Block(bodyStatements.ToImmutableAndFree()); 287bodyStatements.Add(_F.Label(proxy)); 290bodyStatements.Add(_F.Assignment(_F.Local(pendingBranchVar), _F.Literal(i))); 293bodyStatements.Add(_F.Goto(finallyLabel)); 315var caseStatement = _F.SwitchSection(i, _F.Goto(parentProxy)); 325pendingValue = _F.Local(frame.returnValue); 331var returnLabel = parent.ProxyReturnIfNeeded(_F.CurrentFunction, pendingValue, out returnValue); 335unpendReturn = new BoundReturnStatement(_F.Syntax, RefKind.None, pendingValue, @checked: false); 341unpendReturn = _F.Goto(returnLabel); 345unpendReturn = _F.Block( 346_F.Assignment( 347_F.Local(returnValue), 349_F.Goto(returnLabel)); 353var caseStatement = _F.SwitchSection(i, unpendReturn); 357return _F.Switch(_F.Local(pendingBranchVar), cases.ToImmutableAndFree()); 378_F.CurrentFunction, 390return _F.Block( 391_F.Assignment( 392_F.Local(returnValue), 394_F.Goto( 399return _F.Goto(returnLabel); 407LocalSymbol obj = _F.SynthesizedLocal(_F.SpecialType(SpecialType.System_Object)); 408var objInit = _F.Assignment(_F.Local(obj), _F.Local(pendingExceptionLocal)); 413return _F.Block( 416_F.If( 417_F.ObjectNotEqual( 418_F.Local(obj), 419_F.Null(obj.Type)), 426BoundStatement rethrow = _F.Throw(_F.Local(obj)); 428var exceptionDispatchInfoCapture = _F.WellKnownMethod(WellKnownMember.System_Runtime_ExceptionServices_ExceptionDispatchInfo__Capture, isOptional: true); 429var exceptionDispatchInfoThrow = _F.WellKnownMethod(WellKnownMember.System_Runtime_ExceptionServices_ExceptionDispatchInfo__Throw, isOptional: true); 435var ex = _F.SynthesizedLocal(_F.WellKnownType(WellKnownType.System_Exception)); 436var assignment = _F.Assignment( 437_F.Local(ex), 438_F.As(_F.Local(obj), ex.Type)); 441rethrow = _F.Block( 444_F.If(_F.ObjectEqual(_F.Local(ex), _F.Null(ex.Type)), rethrow), 446_F.ExpressionStatement( 447_F.Call( 448_F.StaticCall( 451_F.Local(ex)), 481BoundStatement tryWithCatches = _F.Try(rewrittenTry, rewrittenCatches); 486var handledLabel = _F.GenerateLabel("handled"); 491handlers.Add(_F.SwitchSection( 493_F.Block( 495_F.Goto(handledLabel)))); 498tryWithCatches = _F.Block( 503_F.HiddenSequencePoint(), 504_F.Assignment( 505_F.Local(currentAwaitCatchFrame.pendingCatch), 506_F.Default(currentAwaitCatchFrame.pendingCatch.Type)), 508_F.HiddenSequencePoint(), 509_F.Switch( 510_F.Local(currentAwaitCatchFrame.pendingCatch), 512_F.HiddenSequencePoint(), 513_F.Label(handledLabel)); 551currentAwaitCatchFrame = _currentAwaitCatchFrame = new AwaitCatchFrame(_F, tryStatementSyntax, parentAwaitCatchFrame); 554var catchType = node.ExceptionTypeOpt ?? _F.SpecialType(SpecialType.System_Object); 555var catchTemp = _F.SynthesizedLocal(catchType); 557var storePending = _F.AssignmentExpression( 558_F.Local(currentAwaitCatchFrame.pendingCaughtException), 559_F.Convert(currentAwaitCatchFrame.pendingCaughtException.Type, 560_F.Local(catchTemp))); 562var setPendingCatchNum = _F.Assignment( 563_F.Local(currentAwaitCatchFrame.pendingCatch), 564_F.Literal(currentAwaitCatchFrame.handlers.Count + 1)); 583_F.Local(catchTemp), 587body: _F.Block( 588_F.HiddenSequencePoint(), 589_F.ExpressionStatement(storePending), 604currentAwaitCatchFrame.HoistLocal(local, _F); 613prologueBuilder.Add(_F.ExpressionStatement(storePending)); 616prologueBuilder.Add(_F.ExpressionStatement(AssignCatchSource((BoundExpression)this.Visit(sourceOpt), currentAwaitCatchFrame))); 623var newPrologue = _F.StatementList(prologueBuilder.ToImmutableAndFree()); 629_F.Local(catchTemp), 633body: _F.Block( 634_F.HiddenSequencePoint(), 641handlerStatements.Add(_F.HiddenSequencePoint()); 649handlerStatements.Add(_F.ExpressionStatement(assignSource)); 655var handler = _F.Block( 671assignSource = _F.AssignmentExpression( 673_F.Convert( 675_F.Local(currentAwaitCatchFrame.pendingCaughtException))); 707var oldContainingSymbol = _F.CurrentFunction; 710_F.CurrentFunction = node.Symbol; 715_F.CurrentFunction = oldContainingSymbol; 723var oldContainingSymbol = _F.CurrentFunction; 726_F.CurrentFunction = node.Symbol; 731_F.CurrentFunction = oldContainingSymbol;