1 write to _F
Microsoft.CodeAnalysis.CSharp (1)
Lowering\SpillSequenceSpiller.cs (1)
31_F = new SyntheticBoundNodeFactory(method, syntaxNode, compilationState, diagnostics);
98 references to _F
Microsoft.CodeAnalysis.CSharp (98)
Lowering\SpillSequenceSpiller.cs (98)
32_F.CurrentFunction = method; 310_F.Syntax = builder.Syntax; 363builder.AddStatement(_F.ExpressionStatement(complexReceiver)); 448else if (call.Method.OriginalDefinition == _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_Span_T__get_Item) || 449call.Method.OriginalDefinition == _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__get_Item)) 462else if (call.Method.OriginalDefinition == _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_Span_T__Slice_Int_Int) || 463call.Method.OriginalDefinition == _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__Slice_Int_Int)) 471else if (call.Method == _F.Compilation.GetSpecialTypeMember(SpecialMember.System_String__op_Implicit_ToReadOnlySpanOfChar)) 484objectCreationExpression.Constructor.OriginalDefinition == _F.Compilation.GetSpecialTypeMember(SpecialMember.System_ReadOnlySpan_T__ctor_Reference)) 499builder.AddStatement(_F.ExpressionStatement(expression)); 506var replacement = _F.StoreToTemp( 511syntaxOpt: _F.Syntax); 514builder.AddStatement(_F.ExpressionStatement(assignToTemp)); 765_F.Syntax = node.Syntax; 1009var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1011leftBuilder.AddStatement(_F.Assignment(_F.Local(tmp), left)); 1012leftBuilder.AddStatement(_F.If( 1013node.OperatorKind == BinaryOperatorKind.LogicalBoolAnd ? _F.Local(tmp) : _F.Not(_F.Local(tmp)), 1014UpdateStatement(builder, _F.Assignment(_F.Local(tmp), right)))); 1016return UpdateExpression(leftBuilder, _F.Local(tmp)); 1066var save_Syntax = _F.Syntax; 1067_F.Syntax = node.Syntax; 1069var cache = _F.Local(_F.SynthesizedLocal(receiverType)); 1071receiverBuilder.AddStatement(_F.ExpressionStatement(new BoundComplexConditionalReceiver(node.Syntax, cache, _F.Sequence(new[] { _F.AssignmentExpression(cache, receiver) }, cache), receiverType) { WasCompilerGenerated = true })); 1073receiver = _F.ComplexConditionalReceiver(receiver, cache); 1074_F.Syntax = save_Syntax; 1140_F.If(condition, 1141UpdateStatement(consequenceBuilder, _F.ExpressionStatement(consequence)), 1142UpdateStatement(alternativeBuilder, _F.ExpressionStatement(alternative)))); 1144return conditionBuilder.Update(_F.Default(node.Type)); 1148var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1152_F.If(condition, 1153UpdateStatement(consequenceBuilder, _F.Assignment(_F.Local(tmp), consequence)), 1154UpdateStatement(alternativeBuilder, _F.Assignment(_F.Local(tmp), alternative)))); 1156return conditionBuilder.Update(_F.Local(tmp)); 1163var tmp = _F.SynthesizedLocal(condition.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1166conditionBuilder.AddStatement(_F.Assignment(_F.Local(tmp), condition)); 1167condition = _F.Local(tmp); 1174_F.If(condition, 1175_F.StatementList(consequenceBuilder.GetStatements()), 1176_F.StatementList(alternativeBuilder.GetStatements()))); 1263var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1265leftBuilder.AddStatement(_F.Assignment(_F.Local(tmp), left)); 1266leftBuilder.AddStatement(_F.If( 1267_F.ObjectEqual(_F.Local(tmp), _F.Null(left.Type)), 1268UpdateStatement(builder, _F.Assignment(_F.Local(tmp), right)))); 1270return UpdateExpression(leftBuilder, _F.Local(tmp)); 1307condition = _F.IsNotNullReference(receiver); 1311condition = _F.Call(receiver, hasValueOpt); 1319var clone = _F.SynthesizedLocal(receiver.Type, _F.Syntax, refKind: RefKind.None, kind: SynthesizedLocalKind.Spill); 1323var isNotClass = _F.IsNotNullReference(_F.Default(receiver.Type)); 1326condition = _F.LogicalOr( 1328_F.MakeSequence( 1329_F.AssignmentExpression(_F.Local(clone), receiver), 1330_F.IsNotNullReference(_F.Local(clone))) 1333receiver = _F.ComplexConditionalReceiver(receiver, _F.Local(clone)); 1338var whenNotNullStatement = UpdateStatement(whenNotNullBuilder, _F.ExpressionStatement(whenNotNull)); 1343receiverBuilder.AddStatement(_F.If(condition, whenNotNullStatement)); 1345return receiverBuilder.Update(_F.Default(node.Type)); 1349var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1350var whenNotNullStatement = UpdateStatement(whenNotNullBuilder, _F.Assignment(_F.Local(tmp), whenNotNull)); 1353whenNullOpt = whenNullOpt ?? _F.Default(node.Type); 1357_F.If(condition, 1359UpdateStatement(whenNullBuilder, _F.Assignment(_F.Local(tmp), whenNullOpt)))); 1361return receiverBuilder.Update(_F.Local(tmp)); 1409var oldCurrentFunction = _F.CurrentFunction; 1410_F.CurrentFunction = node.Symbol; 1412_F.CurrentFunction = oldCurrentFunction; 1418var oldCurrentFunction = _F.CurrentFunction; 1419_F.CurrentFunction = node.Symbol; 1421_F.CurrentFunction = oldCurrentFunction; 1510LocalSymbol longLived = local.WithSynthesizedLocalKindAndSyntax(SynthesizedLocalKind.Spill, _F.Syntax);