1 write to _factory
Microsoft.CodeAnalysis.CSharp (1)
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
140
_factory
= factory;
69 references to _factory
Microsoft.CodeAnalysis.CSharp (69)
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (69)
148
_factory
,
269
=> (MethodSymbol?)Binder.GetWellKnownTypeMember(
_factory
.Compilation, overload, _diagnostics, syntax: syntax, isOptional: false);
272
=> (MethodSymbol?)Binder.GetSpecialTypeMember(
_factory
.Compilation, overload, _diagnostics, syntax: syntax);
280
_scope.Open(
_factory
.SynthesizedLocal(_contextType, original.Syntax, kind: SynthesizedLocalKind.LocalStoreTracker));
298
Debug.Assert(
_factory
.TopLevelMethod is not null);
299
Debug.Assert(
_factory
.CurrentFunction is not null);
301
var isStateMachine =
_factory
.CurrentFunction.IsAsync ||
_factory
.CurrentFunction.IsIterator;
303
var prologueBuilder = ArrayBuilder<BoundStatement>.GetInstance(
_factory
.CurrentFunction.ParameterCount);
305
foreach (var parameter in
_factory
.CurrentFunction.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true))
312
var parameterLogger = GetLocalOrParameterStoreLogger(parameter.Type, parameter, refAssignmentSourceIsLocal: null,
_factory
.Syntax);
319
prologueBuilder.Add(
_factory
.ExpressionStatement(
_factory
.Call(receiver:
_factory
.Local(_scope.ContextVariable), parameterLogger,
320
MakeStoreLoggerArguments(parameterLogger.Parameters[0], parameter, parameter.Type,
_factory
.Parameter(parameter), refAssignmentSourceIndex: null,
_factory
.Literal((ushort)ordinal)))));
329
prologue =
_factory
.StatementList(prologueBuilder.ToImmutableAndFree());
335
new[] {
_factory
.MethodDefIndex(
_factory
.TopLevelMethod) }),
338
new[] {
_factory
.MethodDefIndex(
_factory
.TopLevelMethod),
_factory
.MethodDefIndex(
_factory
.CurrentFunction) }),
341
new[] {
_factory
.MethodDefIndex(
_factory
.TopLevelMethod),
_factory
.StateMachineInstanceId() }),
344
new[] {
_factory
.MethodDefIndex(
_factory
.TopLevelMethod),
_factory
.MethodDefIndex(
_factory
.CurrentFunction),
_factory
.StateMachineInstanceId() }),
347
var entryLogger = GetWellKnownMethodSymbol(entryOverload,
_factory
.Syntax);
349
_factory
.Assignment(
_factory
.Local(_scope.ContextVariable),
_factory
.Call(receiver: null, entryLogger, entryArgs)) :
_factory
.NoOp(NoOpStatementFlavor.Default);
351
var returnLogger = GetWellKnownMethodSymbol(WellKnownMember.Microsoft_CodeAnalysis_Runtime_LocalStoreTracker__LogReturn,
_factory
.Syntax);
353
_factory
.ExpressionStatement(
_factory
.Call(receiver:
_factory
.Local(_scope.ContextVariable), returnLogger)) :
_factory
.NoOp(NoOpStatementFlavor.Default);
355
instrumentation =
_factory
.CombineInstrumentation(instrumentation, _scope.ContextVariable, instrumentationPrologue, instrumentationEpilogue);
373
refAssignmentSourceIndex =
_factory
.LocalId(rightLocal.LocalSymbol);
378
refAssignmentSourceIndex =
_factory
.ParameterId(rightParameter.ParameterSymbol);
404
return
_factory
.Sequence(new[]
406
_factory
.Call(
407
receiver:
_factory
.Local(_scope.ContextVariable),
419
indexExpression =
_factory
.LocalId(localSymbol);
429
indexExpression =
_factory
.ParameterId(parameterSymbol);
450
return ImmutableArray.Create(
_factory
.Sequence(new[] { value }, refAssignmentSourceIndex), index);
461
(BoundExpression)new BoundAddressOfOperator(
_factory
.Syntax, value, isManaged: false, parameter.Type) :
462
_factory
.Sequence(new[] { value }, new BoundAddressOfOperator(
_factory
.Syntax, VariableRead(targetSymbol), isManaged: false, parameter.Type));
464
return ImmutableArray.Create(addressOf,
_factory
.Sizeof(targetType), index);
475
toString =
_factory
.Literal("");
481
toString =
_factory
.Call(value, toStringMethod);
487
return ImmutableArray.Create(
_factory
.Convert(parameter.Type, value), index);
493
LocalSymbol local =>
_factory
.Local(local),
494
ParameterSymbol param =>
_factory
.Parameter(param),
528
var targetIndex =
_factory
.LocalId(targetSymbol);
536
var logCallStatement =
_factory
.ExpressionStatement(
537
_factory
.Call(
538
receiver:
_factory
.Local(_scope.ContextVariable),
542
rewrittenFilterPrologue =
_factory
.StatementList(
585
temp =
_factory
.StoreToTemp(invocation, out var store);
614
builder.Add(
_factory
.Call(
615
receiver:
_factory
.Local(_scope.ContextVariable),
622
return
_factory
.Sequence(ImmutableArray.Create(temp.LocalSymbol), builder.ToImmutableAndFree(), temp);
628
return
_factory
.Sequence(ImmutableArray<LocalSymbol>.Empty, builder.ToImmutableAndFree(), lastExpression);