protected override void SetAbstractValueForSymbolDeclaration(ISymbol symbol, IOperation initializer, TAbstractAnalysisValue initializerValue) { if (AnalysisEntityFactory.TryCreateForSymbolDeclaration(symbol, out AnalysisEntity analysisEntity)) { SetAbstractValueForAssignment(analysisEntity, initializer, initializerValue); } }
public void OnEntry(BasicBlock entryBlock, TAnalysisData input) { CurrentBasicBlock = entryBlock; CurrentAnalysisData = input; if (_lazyParameterEntities == null && OwningSymbol is IMethodSymbol method && method.Parameters.Length > 0) { var builder = ImmutableDictionary.CreateBuilder <IParameterSymbol, AnalysisEntity>(); foreach (var parameter in method.Parameters) { var result = AnalysisEntityFactory.TryCreateForSymbolDeclaration(parameter, out AnalysisEntity analysisEntity); Debug.Assert(result); builder.Add(parameter, analysisEntity); SetValueForParameterOnEntry(parameter, analysisEntity); } _lazyParameterEntities = builder.ToImmutable(); } }