1 write to _factory
Microsoft.CodeAnalysis.CSharp (1)
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
140_factory = factory;
70 references to _factory
Microsoft.CodeAnalysis.CSharp (70)
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (70)
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)); 298Debug.Assert(_factory.TopLevelMethod is not null); 299Debug.Assert(_factory.CurrentFunction is not null); 301var currentFunction = _factory.CurrentFunction; 302var isStateMachine = (currentFunction.IsAsync && !_factory.Compilation.IsRuntimeAsyncEnabledIn(currentFunction)) 305var prologueBuilder = ArrayBuilder<BoundStatement>.GetInstance(_factory.CurrentFunction.ParameterCount); 307foreach (var parameter in _factory.CurrentFunction.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true)) 314var parameterLogger = GetLocalOrParameterStoreLogger(parameter.Type, parameter, refAssignmentSourceIsLocal: null, _factory.Syntax); 321prologueBuilder.Add(_factory.ExpressionStatement(_factory.Call(receiver: _factory.Local(_scope.ContextVariable), parameterLogger, 322MakeStoreLoggerArguments(parameterLogger.Parameters[0], parameter, parameter.Type, _factory.Parameter(parameter), refAssignmentSourceIndex: null, _factory.Literal((ushort)ordinal))))); 331prologue = _factory.StatementList(prologueBuilder.ToImmutableAndFree()); 337new[] { _factory.MethodDefIndex(_factory.TopLevelMethod) }), 340new[] { _factory.MethodDefIndex(_factory.TopLevelMethod), _factory.MethodDefIndex(_factory.CurrentFunction) }), 343new[] { _factory.MethodDefIndex(_factory.TopLevelMethod), _factory.StateMachineInstanceId() }), 346new[] { _factory.MethodDefIndex(_factory.TopLevelMethod), _factory.MethodDefIndex(_factory.CurrentFunction), _factory.StateMachineInstanceId() }), 349var entryLogger = GetWellKnownMethodSymbol(entryOverload, _factory.Syntax); 351_factory.Assignment(_factory.Local(_scope.ContextVariable), _factory.Call(receiver: null, entryLogger, entryArgs)) : _factory.NoOp(NoOpStatementFlavor.Default); 353var returnLogger = GetWellKnownMethodSymbol(WellKnownMember.Microsoft_CodeAnalysis_Runtime_LocalStoreTracker__LogReturn, _factory.Syntax); 355_factory.ExpressionStatement(_factory.Call(receiver: _factory.Local(_scope.ContextVariable), returnLogger)) : _factory.NoOp(NoOpStatementFlavor.Default); 357instrumentation = _factory.CombineInstrumentation(instrumentation, _scope.ContextVariable, instrumentationPrologue, instrumentationEpilogue); 375refAssignmentSourceIndex = _factory.LocalId(rightLocal.LocalSymbol); 380refAssignmentSourceIndex = _factory.ParameterId(rightParameter.ParameterSymbol); 406return _factory.Sequence(new[] 408_factory.Call( 409receiver: _factory.Local(_scope.ContextVariable), 421indexExpression = _factory.LocalId(localSymbol); 431indexExpression = _factory.ParameterId(parameterSymbol); 452return ImmutableArray.Create(_factory.Sequence(new[] { value }, refAssignmentSourceIndex), index); 463(BoundExpression)new BoundAddressOfOperator(_factory.Syntax, value, isManaged: false, parameter.Type) : 464_factory.Sequence(new[] { value }, new BoundAddressOfOperator(_factory.Syntax, VariableRead(targetSymbol), isManaged: false, parameter.Type)); 466return ImmutableArray.Create(addressOf, _factory.Sizeof(targetType), index); 477toString = _factory.Literal(""); 483toString = _factory.Call(value, toStringMethod); 489Conversion c = _factory.ClassifyEmitConversion(value, parameter.Type); 491return ImmutableArray.Create(_factory.Convert(parameter.Type, value, c), index); 497LocalSymbol local => _factory.Local(local), 498ParameterSymbol param => _factory.Parameter(param), 532var targetIndex = _factory.LocalId(targetSymbol); 540var logCallStatement = _factory.ExpressionStatement( 541_factory.Call( 542receiver: _factory.Local(_scope.ContextVariable), 546rewrittenFilterPrologue = _factory.StatementList( 589temp = _factory.StoreToTemp(invocation, out var store); 618builder.Add(_factory.Call( 619receiver: _factory.Local(_scope.ContextVariable), 626return _factory.Sequence(ImmutableArray.Create(temp.LocalSymbol), builder.ToImmutableAndFree(), temp); 632return _factory.Sequence(ImmutableArray<LocalSymbol>.Empty, builder.ToImmutableAndFree(), lastExpression);