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