1 write to _F
Microsoft.CodeAnalysis.CSharp (1)
Lowering\SpillSequenceSpiller.cs (1)
32_F = new SyntheticBoundNodeFactory(method, syntaxNode, compilationState, diagnostics);
96 references to _F
Microsoft.CodeAnalysis.CSharp (96)
Lowering\SpillSequenceSpiller.cs (96)
33_F.CurrentFunction = method; 311_F.Syntax = builder.Syntax; 364builder.AddStatement(_F.ExpressionStatement(complexReceiver)); 435builder.AddStatement(_F.ExpressionStatement(expression)); 442var replacement = _F.StoreToTemp( 447syntaxOpt: _F.Syntax); 450builder.AddStatement(_F.ExpressionStatement(assignToTemp)); 683_F.Syntax = node.Syntax; 925var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 927leftBuilder.AddStatement(_F.Assignment(_F.Local(tmp), left)); 928leftBuilder.AddStatement(_F.If( 929node.OperatorKind == BinaryOperatorKind.LogicalBoolAnd ? _F.Local(tmp) : _F.Not(_F.Local(tmp)), 930UpdateStatement(builder, _F.Assignment(_F.Local(tmp), right)))); 932return UpdateExpression(leftBuilder, _F.Local(tmp)); 982var save_Syntax = _F.Syntax; 983_F.Syntax = node.Syntax; 985var cache = _F.Local(_F.SynthesizedLocal(receiverType)); 987receiverBuilder.AddStatement(_F.ExpressionStatement(new BoundComplexConditionalReceiver(node.Syntax, cache, _F.Sequence(new[] { _F.AssignmentExpression(cache, receiver) }, cache), receiverType) { WasCompilerGenerated = true })); 989receiver = _F.ComplexConditionalReceiver(receiver, cache); 990_F.Syntax = save_Syntax; 1056_F.If(condition, 1057UpdateStatement(consequenceBuilder, _F.ExpressionStatement(consequence)), 1058UpdateStatement(alternativeBuilder, _F.ExpressionStatement(alternative)))); 1060return conditionBuilder.Update(_F.Default(node.Type)); 1064var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1068_F.If(condition, 1069UpdateStatement(consequenceBuilder, _F.Assignment(_F.Local(tmp), consequence)), 1070UpdateStatement(alternativeBuilder, _F.Assignment(_F.Local(tmp), alternative)))); 1072return conditionBuilder.Update(_F.Local(tmp)); 1152var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1154leftBuilder.AddStatement(_F.Assignment(_F.Local(tmp), left)); 1155leftBuilder.AddStatement(_F.If( 1156_F.ObjectEqual(_F.Local(tmp), _F.Null(left.Type)), 1157UpdateStatement(builder, _F.Assignment(_F.Local(tmp), right)))); 1159return UpdateExpression(leftBuilder, _F.Local(tmp)); 1196condition = _F.ObjectNotEqual( 1197_F.Convert(_F.SpecialType(SpecialType.System_Object), receiver), 1198_F.Null(_F.SpecialType(SpecialType.System_Object))); 1202condition = _F.Call(receiver, hasValueOpt); 1210var clone = _F.SynthesizedLocal(receiver.Type, _F.Syntax, refKind: RefKind.None, kind: SynthesizedLocalKind.Spill); 1214var isNotClass = _F.ObjectNotEqual( 1215_F.Convert(_F.SpecialType(SpecialType.System_Object), _F.Default(receiver.Type)), 1216_F.Null(_F.SpecialType(SpecialType.System_Object))); 1219condition = _F.LogicalOr( 1221_F.MakeSequence( 1222_F.AssignmentExpression(_F.Local(clone), receiver), 1223_F.ObjectNotEqual( 1224_F.Convert(_F.SpecialType(SpecialType.System_Object), _F.Local(clone)), 1225_F.Null(_F.SpecialType(SpecialType.System_Object)))) 1228receiver = _F.ComplexConditionalReceiver(receiver, _F.Local(clone)); 1233var whenNotNullStatement = UpdateStatement(whenNotNullBuilder, _F.ExpressionStatement(whenNotNull)); 1238receiverBuilder.AddStatement(_F.If(condition, whenNotNullStatement)); 1240return receiverBuilder.Update(_F.Default(node.Type)); 1244var tmp = _F.SynthesizedLocal(node.Type, kind: SynthesizedLocalKind.Spill, syntax: _F.Syntax); 1245var whenNotNullStatement = UpdateStatement(whenNotNullBuilder, _F.Assignment(_F.Local(tmp), whenNotNull)); 1248whenNullOpt = whenNullOpt ?? _F.Default(node.Type); 1252_F.If(condition, 1254UpdateStatement(whenNullBuilder, _F.Assignment(_F.Local(tmp), whenNullOpt)))); 1256return receiverBuilder.Update(_F.Local(tmp)); 1304var oldCurrentFunction = _F.CurrentFunction; 1305_F.CurrentFunction = node.Symbol; 1307_F.CurrentFunction = oldCurrentFunction; 1313var oldCurrentFunction = _F.CurrentFunction; 1314_F.CurrentFunction = node.Symbol; 1316_F.CurrentFunction = oldCurrentFunction; 1405LocalSymbol longLived = local.WithSynthesizedLocalKindAndSyntax(SynthesizedLocalKind.Spill, _F.Syntax);