1 write to _F
Microsoft.CodeAnalysis.CSharp (1)
Lowering\SpillSequenceSpiller.cs (1)
31_F = new SyntheticBoundNodeFactory(method, syntaxNode, compilationState, diagnostics);
99 references to _F
Microsoft.CodeAnalysis.CSharp (99)
Lowering\SpillSequenceSpiller.cs (99)
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)); 813_F.Syntax = node.Syntax; 1066var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1068leftBuilder.AddStatement(_F.Assignment(_F.Local(tmp), left)); 1069leftBuilder.AddStatement(_F.If( 1070node.OperatorKind == BinaryOperatorKind.LogicalBoolAnd ? _F.Local(tmp) : _F.Not(_F.Local(tmp)), 1071UpdateStatement(builder, _F.Assignment(_F.Local(tmp), right)))); 1073return UpdateExpression(leftBuilder, _F.Local(tmp)); 1134var save_Syntax = _F.Syntax; 1135_F.Syntax = node.Syntax; 1138var isClass = _F.IsNullReference(_F.Default(receiverType)); 1140var cache = _F.Local(_F.SynthesizedLocal(receiverType)); 1142receiverBuilder.AddStatement(_F.If(isClass, _F.Assignment(cache, receiver))); 1144receiver = _F.ComplexConditionalReceiver(receiver, cache); 1145_F.Syntax = save_Syntax; 1211_F.If(condition, 1212UpdateStatement(consequenceBuilder, _F.ExpressionStatement(consequence)), 1213UpdateStatement(alternativeBuilder, _F.ExpressionStatement(alternative)))); 1215return conditionBuilder.Update(_F.Default(node.Type)); 1219var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1223_F.If(condition, 1224UpdateStatement(consequenceBuilder, _F.Assignment(_F.Local(tmp), consequence)), 1225UpdateStatement(alternativeBuilder, _F.Assignment(_F.Local(tmp), alternative)))); 1227return conditionBuilder.Update(_F.Local(tmp)); 1234var tmp = _F.SynthesizedLocal(condition.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1237conditionBuilder.AddStatement(_F.Assignment(_F.Local(tmp), condition)); 1238condition = _F.Local(tmp); 1245_F.If(condition, 1246_F.StatementList(consequenceBuilder.GetStatements()), 1247_F.StatementList(alternativeBuilder.GetStatements()))); 1334var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1336leftBuilder.AddStatement(_F.Assignment(_F.Local(tmp), left)); 1337leftBuilder.AddStatement(_F.If( 1338_F.ObjectEqual(_F.Local(tmp), _F.Null(left.Type)), 1339UpdateStatement(builder, _F.Assignment(_F.Local(tmp), right)))); 1341return UpdateExpression(leftBuilder, _F.Local(tmp)); 1378condition = _F.IsNotNullReference(receiver); 1382condition = _F.Call(receiver, hasValueOpt); 1390var clone = _F.SynthesizedLocal(receiver.Type, _F.Syntax, refKind: RefKind.None, kind: SynthesizedLocalKind.Spill); 1394var isNotClass = _F.IsNotNullReference(_F.Default(receiver.Type)); 1397condition = _F.LogicalOr( 1399_F.MakeSequence( 1400_F.AssignmentExpression(_F.Local(clone), receiver), 1401_F.IsNotNullReference(_F.Local(clone))) 1404receiver = _F.ComplexConditionalReceiver(receiver, _F.Local(clone)); 1409var whenNotNullStatement = UpdateStatement(whenNotNullBuilder, _F.ExpressionStatement(whenNotNull)); 1414receiverBuilder.AddStatement(_F.If(condition, whenNotNullStatement)); 1416return receiverBuilder.Update(_F.Default(node.Type)); 1420var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1421var whenNotNullStatement = UpdateStatement(whenNotNullBuilder, _F.Assignment(_F.Local(tmp), whenNotNull)); 1424whenNullOpt = whenNullOpt ?? _F.Default(node.Type); 1428_F.If(condition, 1430UpdateStatement(whenNullBuilder, _F.Assignment(_F.Local(tmp), whenNullOpt)))); 1432return receiverBuilder.Update(_F.Local(tmp)); 1480var oldCurrentFunction = _F.CurrentFunction; 1481_F.CurrentFunction = node.Symbol; 1483_F.CurrentFunction = oldCurrentFunction; 1489var oldCurrentFunction = _F.CurrentFunction; 1490_F.CurrentFunction = node.Symbol; 1492_F.CurrentFunction = oldCurrentFunction; 1581LocalSymbol longLived = local.WithSynthesizedLocalKindAndSyntax(SynthesizedLocalKind.Spill, _F.Syntax);