1 write to F
Microsoft.CodeAnalysis.CSharp (1)
Lowering\StateMachineRewriter\StateMachineRewriter.cs (1)
62this.F = new SyntheticBoundNodeFactory(method, body.Syntax, compilationState, diagnostics);
407 references to F
Microsoft.CodeAnalysis.CSharp (407)
Lowering\AsyncRewriter\AsyncRewriter.AsyncIteratorRewriter.cs (202)
126NamedTypeSymbol boolType = F.SpecialType(SpecialType.System_Boolean); 129_promiseOfValueOrEndField = F.StateMachineField( 130F.WellKnownType(WellKnownType.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T).Construct(boolType), 137_currentField = F.StateMachineField(elementType, GeneratedNames.MakeIteratorCurrentFieldName()); 140_disposeModeField = F.StateMachineField(boolType, GeneratedNames.MakeDisposeModeFieldName()); 145_combinedTokensField = F.StateMachineField( 146F.WellKnownType(WellKnownType.System_Threading_CancellationTokenSource), 162F.CurrentFunction = stateMachineType.Constructor; 164bodyBuilder.Add(F.BaseInitialization()); 169bodyBuilder.Add(F.Assignment(F.InstanceField(stateField), F.Parameter(F.CurrentFunction.Parameters[0]))); // this.state = state; 175bodyBuilder.Add(F.Assignment(F.InstanceField(initialThreadIdField), managedThreadId)); 179F.WellKnownMethod(WellKnownMember.Microsoft_CodeAnalysis_Runtime_LocalStoreTracker__GetNewStateMachineInstanceId) is { } getId) 182bodyBuilder.Add(F.Assignment(F.InstanceField(instanceIdField), F.Call(receiver: null, getId))); 185bodyBuilder.Add(F.Return()); 186F.CloseMethod(F.Block(bodyBuilder.ToImmutableAndFree())); 193return F.Assignment( 194F.InstanceField(_builderField), 195F.StaticCall( 205F.Assignment( 206F.Local(stateMachineLocal), 207F.New(stateMachineType.Constructor.AsMember(frameType), F.Literal(initialState)))); 215parameter.Type.Equals(F.Compilation.GetWellKnownType(WellKnownType.System_Threading_CancellationToken), TypeCompareKind.ConsiderEverything)) 232BoundParameter tokenParameter = F.Parameter(getEnumeratorMethod.Parameters[0]); 233BoundFieldAccess combinedTokens = F.Field(F.This(), _combinedTokensField); 234result = F.If( 236F.Call(parameterProxy, WellKnownMember.System_Threading_CancellationToken__Equals, F.Default(parameterProxy.Type)), 238thenClause: F.Assignment(resultParameter, tokenParameter), 239elseClauseOpt: F.If( 241F.LogicalOr( 242F.Call(tokenParameter, WellKnownMember.System_Threading_CancellationToken__Equals, parameterProxy), 243F.Call(tokenParameter, WellKnownMember.System_Threading_CancellationToken__Equals, F.Default(tokenParameter.Type))), 245thenClause: F.Assignment(resultParameter, parameterProxy), 246elseClauseOpt: F.Block( 248F.Assignment(combinedTokens, F.StaticCall(WellKnownMember.System_Threading_CancellationTokenSource__CreateLinkedTokenSource, parameterProxy, tokenParameter)), 250F.Assignment(resultParameter, F.Property(combinedTokens, WellKnownMember.System_Threading_CancellationTokenSource__Token))))); 256result = F.Assignment(resultParameter, parameterProxy); 270F.Return( 271F.Local(stateMachineVariable))); 273return F.Block(bodyBuilder.ToImmutableAndFree()); 298F.WellKnownType(WellKnownType.System_Collections_Generic_IAsyncEnumerator_T) 301MethodSymbol IAsyncEnumerableOfElementType_MoveNextAsync = F.WellKnownMethod(WellKnownMember.System_Collections_Generic_IAsyncEnumerator_T__MoveNextAsync) 306MethodSymbol promise_GetStatus = F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__GetStatus) 309MethodSymbol promise_GetResult = F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__GetResult) 314MethodSymbol valueTaskT_ctorValue = F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_ValueTask_T__ctorValue) 317MethodSymbol valueTaskT_ctor = F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_ValueTask_T__ctorSourceAndToken) 329BoundStatement ifFinished = F.If( 331F.IntEqual(F.InstanceField(stateField), F.Literal(StateMachineState.FinishedState)), 333thenClause: F.Return(F.Default(moveNextAsyncReturnType))); 336var versionSymbol = F.SynthesizedLocal(F.SpecialType(SpecialType.System_Int16)); 337var versionLocal = F.Local(versionSymbol); 338var versionInit = F.Assignment(versionLocal, F.Call(F.Field(F.This(), _promiseOfValueOrEndField), promise_get_Version)); 340var ifPromiseReady = F.If( 342F.IntEqual( 343F.Call(F.Field(F.This(), _promiseOfValueOrEndField), promise_GetStatus, versionLocal), 344F.Literal(1)), 346thenClause: F.Return(F.New(valueTaskT_ctorValue, F.Call(F.Field(F.This(), _promiseOfValueOrEndField), promise_GetResult, versionLocal)))); 351var returnStatement = F.Return(F.New(valueTaskT_ctor, F.This(), versionLocal)); 353F.CloseMethod(F.Block( 377BoundFieldAccess promiseField = F.InstanceField(_promiseOfValueOrEndField); 378var resetMethod = (MethodSymbol)F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__Reset, isOptional: true) 381callReset = F.ExpressionStatement(F.Call(promiseField, resetMethod)); 386instSymbol = F.SynthesizedLocal(this.stateMachineType); 389var instLocal = F.Local(instSymbol); 390instAssignment = F.Assignment(instLocal, F.This()); 393startCall = F.ExpressionStatement( 394F.Call( 395F.InstanceField(_builderField), 400promise_get_Version = F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__get_Version) 426MethodSymbol IAsyncDisposable_DisposeAsync = F.WellKnownMethod(WellKnownMember.System_IAsyncDisposable__DisposeAsync); 439BoundStatement ifInvalidState = F.If( 441F.IntGreaterThanOrEqual(F.InstanceField(stateField), F.Literal(StateMachineState.NotStartedOrRunningState)), 443thenClause: F.Throw(F.New(F.WellKnownType(WellKnownType.System_NotSupportedException)))); 445BoundStatement ifFinished = F.If( 447F.IntEqual(F.InstanceField(stateField), F.Literal(StateMachineState.FinishedState)), 449thenClause: F.Return(F.Default(returnType))); 452F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_ValueTask__ctor) 456var returnStatement = F.Return(F.New(valueTask_ctor, F.This(), F.Call(F.InstanceField(_promiseOfValueOrEndField), promise_get_Version))); 458F.CloseMethod(F.Block( 462F.Assignment(F.InstanceField(_disposeModeField), F.Literal(true)), // disposeMode = true; 478F.WellKnownType(WellKnownType.System_Collections_Generic_IAsyncEnumerator_T) 482F.WellKnownMethod(WellKnownMember.System_Collections_Generic_IAsyncEnumerator_T__get_Current) 487F.CloseMethod(F.Block(F.Return(F.InstanceField(_currentField)))); 496F.WellKnownType(WellKnownType.System_Threading_Tasks_Sources_IValueTaskSource_T) 497.Construct(F.SpecialType(SpecialType.System_Boolean)); 500F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_IValueTaskSource_T__GetResult) 504F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__GetResult) 511F.CloseMethod(F.Return( 512F.Call(F.InstanceField(_promiseOfValueOrEndField), promise_GetResult, F.Parameter(IValueTaskSourceOfBool_GetResult.Parameters[0])))); 521F.WellKnownType(WellKnownType.System_Threading_Tasks_Sources_IValueTaskSource_T) 522.Construct(F.SpecialType(SpecialType.System_Boolean)); 525F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_IValueTaskSource_T__GetStatus) 529F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__GetStatus) 536F.CloseMethod(F.Return( 537F.Call(F.InstanceField(_promiseOfValueOrEndField), promise_GetStatus, F.Parameter(IValueTaskSourceOfBool_GetStatus.Parameters[0])))); 547F.WellKnownType(WellKnownType.System_Threading_Tasks_Sources_IValueTaskSource_T) 548.Construct(F.SpecialType(SpecialType.System_Boolean)); 551F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_IValueTaskSource_T__OnCompleted) 555F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__OnCompleted) 561F.CloseMethod(F.Block( 563F.ExpressionStatement( 564F.Call(F.InstanceField(_promiseOfValueOrEndField), promise_OnCompleted, 565F.Parameter(IValueTaskSourceOfBool_OnCompleted.Parameters[0]), 566F.Parameter(IValueTaskSourceOfBool_OnCompleted.Parameters[1]), 567F.Parameter(IValueTaskSourceOfBool_OnCompleted.Parameters[2]), 568F.Parameter(IValueTaskSourceOfBool_OnCompleted.Parameters[3]))), 569F.Return())); // return; 579F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_IValueTaskSource__GetResult); 582F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__GetResult) 588F.CloseMethod(F.Block( 590F.ExpressionStatement(F.Call(F.InstanceField(_promiseOfValueOrEndField), promise_GetResult, F.Parameter(IValueTaskSource_GetResult.Parameters[0]))), 592F.Return())); 603F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_IValueTaskSource__GetStatus); 606F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__GetStatus) 613F.CloseMethod(F.Return( 614F.Call(F.InstanceField(_promiseOfValueOrEndField), promise_GetStatus, F.Parameter(IValueTaskSource_GetStatus.Parameters[0])))); 625MethodSymbol IValueTaskSource_OnCompleted = F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_IValueTaskSource__OnCompleted); 628F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__OnCompleted) 634F.CloseMethod(F.Block( 636F.ExpressionStatement( 637F.Call(F.InstanceField(_promiseOfValueOrEndField), promise_OnCompleted, 638F.Parameter(IValueTaskSource_OnCompleted.Parameters[0]), 639F.Parameter(IValueTaskSource_OnCompleted.Parameters[1]), 640F.Parameter(IValueTaskSource_OnCompleted.Parameters[2]), 641F.Parameter(IValueTaskSource_OnCompleted.Parameters[3]))), 642F.Return())); // return; 651F.WellKnownType(WellKnownType.System_Collections_Generic_IAsyncEnumerable_T) 655F.WellKnownMethod(WellKnownMember.System_Collections_Generic_IAsyncEnumerable_T__GetAsyncEnumerator) 670F.Assignment(F.Field(F.This(), stateField), F.Literal(initialState))); 678F.Assignment(F.InstanceField(_disposeModeField), F.Literal(false))); 683MethodSymbol setResultMethod = F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__SetResult, isOptional: true); 689MethodSymbol setExceptionMethod = F.WellKnownMethod(WellKnownMember.System_Threading_Tasks_Sources_ManualResetValueTaskSourceCore_T__SetException, isOptional: true); 700F: F,
Lowering\AsyncRewriter\AsyncRewriter.cs (60)
34_constructedSuccessfully = AsyncMethodBuilderMemberCollection.TryCreate(F, method, this.stateMachineType.TypeMap, out _asyncMethodBuilderMemberCollection); 132return Binder.GetWellKnownTypeMember(F.Compilation, member, bag, body.Syntax.Location); 141stateField = F.StateMachineField(F.SpecialType(SpecialType.System_Int32), GeneratedNames.MakeStateMachineStateFieldName(), isPublic: true); 142_builderField = F.StateMachineField(_asyncMethodBuilderMemberCollection.BuilderType, GeneratedNames.AsyncBuilderFieldName(), isPublic: true); 144var instrumentations = F.ModuleBuilderOpt.GetMethodBodyInstrumentations(method); 147instanceIdField = F.StateMachineField(F.SpecialType(SpecialType.System_UInt64), GeneratedNames.MakeStateMachineStateIdFieldName(), isPublic: true); 153var IAsyncStateMachine_MoveNext = F.WellKnownMethod(WellKnownMember.System_Runtime_CompilerServices_IAsyncStateMachine_MoveNext); 154var IAsyncStateMachine_SetStateMachine = F.WellKnownMethod(WellKnownMember.System_Runtime_CompilerServices_IAsyncStateMachine_SetStateMachine); 172if (F.CurrentType.TypeKind == TypeKind.Class) 174F.CloseMethod(F.Return()); 178F.CloseMethod( 180F.Block( 181F.ExpressionStatement( 182F.Call( 183F.Field(F.This(), _builderField), 185new BoundExpression[] { F.Parameter(F.CurrentFunction.Parameters[0]) })), 186F.Return())); 197F.CurrentFunction = stateMachineType.Constructor; 198F.CloseMethod(F.Block(ImmutableArray.Create(F.BaseInitialization(), F.Return()))); 208F.Assignment( 209F.Local(stateMachineLocal), 210F.New(frameType.InstanceConstructors[0]))); 221if (!AsyncMethodBuilderMemberCollection.TryCreate(F, method, null, out methodScopeAsyncMethodBuilderMemberCollection)) 223return new BoundBadStatement(F.Syntax, ImmutableArray<BoundNode>.Empty, hasErrors: true); 230F.Assignment( 231F.Field(F.Local(stateMachineVariable), _builderField.AsMember(frameType)), 232F.StaticCall( 240F.Assignment( 241F.Field(F.Local(stateMachineVariable), stateField.AsMember(frameType)), 242F.Literal(StateMachineState.NotStartedOrRunningState))); 246F.WellKnownMethod(WellKnownMember.Microsoft_CodeAnalysis_Runtime_LocalStoreTracker__GetNewStateMachineInstanceId) is { } getId) 249F.Assignment( 250F.Field(F.Local(stateMachineVariable), instanceIdField.AsMember(frameType)), 251F.Call(receiver: null, getId))); 258startMethod.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(F.Compilation, F.Compilation.Conversions, includeNullability: false, F.Syntax.Location, diagnostics)); 261F.ExpressionStatement( 262F.Call( 263F.Field(F.Local(stateMachineVariable), _builderField.AsMember(frameType)), 265ImmutableArray.Create<BoundExpression>(F.Local(stateMachineVariable))))); 268? F.Return() 269: F.Return( 270F.Property( 271F.Field(F.Local(stateMachineVariable), _builderField.AsMember(frameType)), 274return F.Block(bodyBuilder.ToImmutableAndFree()); 283F: F,
Lowering\IteratorRewriter\IteratorRewriter.cs (59)
142Binder.TryGetSpecialTypeMember(F.Compilation, member, body.Syntax, bag, out symbol); 148Binder.GetSpecialType(F.Compilation, type, body.Syntax, bag); 175Debug.Assert(F.ModuleBuilderOpt is not null); 177stateField = F.StateMachineField(F.SpecialType(SpecialType.System_Int32), GeneratedNames.MakeStateMachineStateFieldName()); 179var instrumentations = F.ModuleBuilderOpt.GetMethodBodyInstrumentations(method); 182instanceIdField = F.StateMachineField(F.SpecialType(SpecialType.System_UInt64), GeneratedNames.MakeStateMachineStateIdFieldName()); 186_currentField = F.StateMachineField(_elementType, GeneratedNames.MakeIteratorCurrentFieldName()); 212var IDisposable_Dispose = F.SpecialMethod(SpecialMember.System_IDisposable__Dispose); 214var IEnumerator_MoveNext = F.SpecialMethod(SpecialMember.System_Collections_IEnumerator__MoveNext); 215var IEnumerator_Reset = F.SpecialMethod(SpecialMember.System_Collections_IEnumerator__Reset); 216var IEnumerator_get_Current = F.SpecialProperty(SpecialMember.System_Collections_IEnumerator__Current).GetMethod; 218var IEnumeratorOfElementType = F.SpecialType(SpecialType.System_Collections_Generic_IEnumerator_T).Construct(ImmutableArray.Create(_elementType)); 219var IEnumeratorOfElementType_get_Current = F.SpecialProperty(SpecialMember.System_Collections_Generic_IEnumerator_T__Current).GetMethod.AsMember(IEnumeratorOfElementType); 235F.CloseMethod(F.Return(F.Field(F.This(), _currentField))); 241F.CloseMethod(F.Throw(F.New(F.WellKnownType(WellKnownType.System_NotSupportedException)))); 247F.CloseMethod(F.Return(F.Field(F.This(), _currentField))); 256var IEnumerable_GetEnumerator = F.SpecialMethod(SpecialMember.System_Collections_IEnumerable__GetEnumerator); 258var IEnumerableOfElementType = F.SpecialType(SpecialType.System_Collections_Generic_IEnumerable_T).Construct(_elementType.Type); 259var IEnumerableOfElementType_GetEnumerator = F.SpecialMethod(SpecialMember.System_Collections_Generic_IEnumerable_T__GetEnumerator).AsMember(IEnumerableOfElementType); 266F.CloseMethod(F.Return(F.Call(F.This(), getEnumeratorGeneric))); 279F.CurrentFunction = stateMachineType.Constructor; 281bodyBuilder.Add(F.BaseInitialization()); 282bodyBuilder.Add(F.Assignment(F.Field(F.This(), stateField), F.Parameter(F.CurrentFunction.Parameters[0]))); // this.state = state; 287bodyBuilder.Add(F.Assignment(F.Field(F.This(), initialThreadIdField), managedThreadId)); 291F.WellKnownMethod(WellKnownMember.Microsoft_CodeAnalysis_Runtime_LocalStoreTracker__GetNewStateMachineInstanceId) is { } getId) 293bodyBuilder.Add(F.Assignment(F.InstanceField(instanceIdField), F.Call(receiver: null, getId))); 296bodyBuilder.Add(F.Return()); 297F.CloseMethod(F.Block(bodyBuilder.ToImmutableAndFree())); 307F.Assignment( 308F.Local(stateMachineLocal), 309F.New(stateMachineType.Constructor.AsMember(frameType), F.Literal(initialState)))); 320F.Return( 321F.Local(stateMachineVariable))); 323return F.Block(bodyBuilder.ToImmutableAndFree()); 331F,
Lowering\StateMachineRewriter\StateMachineRewriter.cs (86)
63Debug.Assert(TypeSymbol.Equals(F.CurrentType, method.ContainingType, TypeCompareKind.ConsiderEverything2)); 64Debug.Assert(F.Syntax == body.Syntax); 100F.OpenNestedType(stateMachineType); 108initialThreadIdField = F.StateMachineField(F.SpecialType(SpecialType.System_Int32), GeneratedNames.MakeIteratorCurrentThreadIdFieldName()); 118var variablesToHoist = IteratorAndAsyncCaptureWalker.Analyze(F.Compilation, method, body, diagnostics.DiagnosticBag); 123return new BoundBadStatement(F.Syntax, ImmutableArray<BoundNode>.Empty, hasErrors: true); 146bool isDebugBuild = F.Compilation.Options.OptimizationLevel == OptimizationLevel.Debug; 205F.ModuleBuilderOpt.Translate(fieldType, declaratorSyntax, diagnostics.DiagnosticBag), 225field = F.StateMachineField(fieldType, fieldName, new LocalSlotDebugInfo(synthesizedKind, id), slotIndex); 240var proxyField = F.StateMachineField(containingType, GeneratedNames.ThisProxyFieldName(), isPublic: true, isThis: true); 246F.StateMachineField(containingType, GeneratedNames.StateMachineThisParameterProxyName(), isPublic: true, isThis: true) : proxyField; 255var proxyField = F.StateMachineFieldForRegularParameter(typeMap.SubstituteType(parameter.Type).Type, parameter.Name, parameter, isPublic: !PreserveInitialParameterValuesAndThreadId); 260var field = F.StateMachineFieldForRegularParameter(typeMap.SubstituteType(parameter.Type).Type, GeneratedNames.StateMachineParameterProxyFieldName(parameter.Name), parameter, isPublic: true); 274var optimizationLevel = F.Compilation.Options.OptimizationLevel; 289F.CurrentFunction = method; 293LocalSymbol stateMachineVariable = F.SynthesizedLocal(frameType, null); 301return F.Block( 319F.Syntax, 321(F, stateMachineVariable)); 323bodyBuilder.Add(F.Assignment(leftExpression, F.This())); 333F.Syntax, 335(F, stateMachineVariable)); 337bodyBuilder.Add(F.Assignment(leftExpression, F.Parameter(parameter))); 342return F.Block(builtBody); 350var result = new SynthesizedStateMachineDebuggerHiddenMethod(methodName, methodToImplement, (StateMachineTypeSymbol)F.CurrentType, null, hasMethodBodyDependency); 351F.ModuleBuilderOpt.AddSynthesizedDefinition(F.CurrentType, result.GetCciAdapter()); 352F.CurrentFunction = result; 358var prop = new SynthesizedStateMachineProperty(getterToImplement, (StateMachineTypeSymbol)F.CurrentType); 359F.ModuleBuilderOpt.AddSynthesizedDefinition(F.CurrentType, prop.GetCciAdapter()); 362F.ModuleBuilderOpt.AddSynthesizedDefinition(F.CurrentType, getter.GetCciAdapter()); 364F.CurrentFunction = getter; 370var result = new SynthesizedStateMachineMoveNextMethod(methodToImplement, (StateMachineTypeSymbol)F.CurrentType); 371F.ModuleBuilderOpt.AddSynthesizedDefinition(F.CurrentType, result.GetCciAdapter()); 372F.CurrentFunction = result; 386var currentManagedThreadIdProperty = (PropertySymbol)F.WellKnownMember(WellKnownMember.System_Environment__CurrentManagedThreadId, isOptional: true); 392return F.Call(null, currentManagedThreadIdMethod); 396return F.Property(F.Property(WellKnownMember.System_Threading_Thread__CurrentThread), WellKnownMember.System_Threading_Thread__ManagedThreadId); 427var resultVariable = F.SynthesizedLocal(stateMachineType, null); 429BoundStatement makeIterator = F.Assignment(F.Local(resultVariable), F.New(stateMachineType.Constructor, F.Literal(initialState))); 431var thisInitialized = F.GenerateLabel("thisInitialized"); 442F.Assignment(F.Local(resultVariable), F.This())); 449F.Goto(thisInitialized)); 452makeIterator = F.If( 454condition: F.LogicalAnd( 455F.IntEqual(F.Field(F.This(), stateField), F.Literal(StateMachineState.FinishedState)), 456F.IntEqual(F.Field(F.This(), initialThreadIdField), managedThreadId)), 457thenClause: F.Block(thenBuilder.ToImmutableAndFree()), 473F.Syntax, 475(F, resultVariable)); 477var rightExpression = copySrc[method.ThisParameter].Replacement(F.Syntax, static (stateMachineType, F) => F.This(), F); 479bodyBuilder.Add(F.Assignment(leftExpression, rightExpression)); 483bodyBuilder.Add(F.Label(thisInitialized)); 492F.Syntax, 494(F, resultVariable)); 497BoundExpression parameterProxy = copySrc[parameter].Replacement(F.Syntax, static (stateMachineType, F) => F.This(), F); 504bodyBuilder.Add(F.Return(F.Local(resultVariable))); 505F.CloseMethod(F.Block(ImmutableArray.Create(resultVariable), bodyBuilder.ToImmutableAndFree())); 516F.Assignment(F.Field(F.This(), stateField), F.Literal(initialState))); 524return F.Assignment(resultParameter, parameterProxy); 532return (object)F.WellKnownMember(WellKnownMember.System_Threading_Thread__ManagedThreadId, isOptional: true) != null || 533(object)F.WellKnownMember(WellKnownMember.System_Environment__CurrentManagedThreadId, isOptional: true) != null;