Emit\EditAndContinue\EmitBaseline.cs (16)
193synthesizedMembers: ImmutableSegmentedDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>>.Empty,
194deletedMembers: ImmutableSegmentedDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>>.Empty,
285internal readonly IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>> SynthesizedMembers;
286internal readonly IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>> DeletedMembers;
314IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>> synthesizedMembers,
315IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>> deletedMembers,
413IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>> synthesizedMembers,
414IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>> deletedMembers,
Emit\EditAndContinue\SymbolChanges.cs (38)
28private readonly IReadOnlyDictionary<ISymbolInternal, SymbolChange> _changes;
34private readonly ISet<ISymbolInternal> _replacedSymbols;
42public readonly IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>> DeletedMembers;
63public bool IsReplaced(ISymbolInternal symbol, bool checkEnclosingTypes = false)
65ISymbolInternal? currentSymbol = symbol;
97public bool RequiresCompilation(ISymbolInternal symbol)
100private bool DefinitionExistsInPreviousGeneration(ISymbolInternal symbol)
112var current = symbol;
129var symbol = def.GetInternalSymbol();
232private SymbolChange GetChange(ISymbolInternal symbol)
249var container = GetContainingSymbol(symbol);
321protected abstract ISymbolInternal? GetISymbolInternalOrNull(ISymbol symbol);
323public ISymbolInternal GetRequiredInternalSymbol(ISymbol? symbol)
326var result = GetISymbolInternalOrNull(symbol);
352out IReadOnlyDictionary<ISymbolInternal, SymbolChange> changes,
353out ISet<ISymbolInternal> replacedSymbols,
354out IReadOnlyDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>> deletedMembers,
357var changesBuilder = new Dictionary<ISymbolInternal, SymbolChange>();
359var lazyReplacedSymbolsBuilder = (HashSet<ISymbolInternal>?)null;
360var lazyDeletedMembersBuilder = (Dictionary<ISymbolInternal, ArrayBuilder<ISymbolInternal>>?)null;
377(lazyReplacedSymbolsBuilder ??= new HashSet<ISymbolInternal>()).Add(GetRequiredInternalSymbol(edit.NewSymbol));
390deletedMembersPerType = ArrayBuilder<ISymbolInternal>.GetInstance();
394var oldSymbol = GetRequiredInternalSymbol(edit.OldSymbol);
414var newMember = GetRequiredInternalSymbol(edit.NewSymbol);
467replacedSymbols = lazyReplacedSymbolsBuilder ?? SpecializedCollections.EmptySet<ISymbolInternal>();
471elementSelector: static e => e.Value.ToImmutableAndFree()) ?? ImmutableSegmentedDictionary<ISymbolInternal, ImmutableArray<ISymbolInternal>>.Empty;
478private static void AddContainingSymbolChanges(Dictionary<ISymbolInternal, SymbolChange> changes, ISymbolInternal symbol)
482var containingSymbol = GetContainingSymbol(symbol);
500private static ISymbolInternal? GetContainingSymbol(ISymbolInternal symbol)
507var associated = GetAssociatedSymbol(symbol);
528private static ISymbolInternal? GetAssociatedSymbol(ISymbolInternal symbol)