Symbols\Source\ExtensionGroupingInfo.cs (39)
31var groupingMap = new Dictionary<string, MultiDictionary<string, SourceNamedTypeSymbol>>(EqualityComparer<string>.Default);
40var sourceNamedType = (SourceNamedTypeSymbol)type;
44MultiDictionary<string, SourceNamedTypeSymbol>? markerMap;
48markerMap = new MultiDictionary<string, SourceNamedTypeSymbol>(EqualityComparer<string>.Default, ReferenceEqualityComparer.Instance);
58foreach (KeyValuePair<string, MultiDictionary<string, SourceNamedTypeSymbol>> pair in groupingMap)
76var type1 = (SourceNamedTypeSymbol)typeMembers[i];
84var type2 = (SourceNamedTypeSymbol)typeMembers[j];
110return GetCorrespondingMarkerType((SourceNamedTypeSymbol)markerMethod.ContainingType);
113private ExtensionMarkerType GetCorrespondingMarkerType(SourceNamedTypeSymbol extension)
149foreach (var extension in GetCorrespondingMarkerType((SourceNamedTypeSymbol)marker.ContainingType).UnderlyingExtensions)
173public Cci.ITypeDefinition GetCorrespondingGroupingType(SourceNamedTypeSymbol extension)
194internal ImmutableArray<SourceNamedTypeSymbol> GetMergedExtensions(SourceNamedTypeSymbol extension)
203internal IEnumerable<ImmutableArray<SourceNamedTypeSymbol>> EnumerateMergedExtensionBlocks()
214internal static bool HaveSameILSignature(SourceNamedTypeSymbol extension1, SourceNamedTypeSymbol extension2)
249internal static bool HaveSameCSharpSignature(SourceNamedTypeSymbol extension1, SourceNamedTypeSymbol extension2)
430PooledHashSet<SourceNamedTypeSymbol>? alreadyReportedExtensions = null;
437foreach (ImmutableArray<SourceNamedTypeSymbol> mergedBlocks in EnumerateMergedExtensionBlocks())
445static IEnumerable<SourceNamedTypeSymbol> enumerateExtensionsInGrouping(ExtensionGroupingType groupingType)
449foreach (var extension in marker.UnderlyingExtensions)
456static void checkCollisions(IEnumerable<SourceNamedTypeSymbol> extensions, Func<SourceNamedTypeSymbol, SourceNamedTypeSymbol, bool> compare,
457ref PooledHashSet<SourceNamedTypeSymbol>? alreadyReportedExtensions, BindingDiagnosticBag diagnostics)
459SourceNamedTypeSymbol? first = null;
461foreach (SourceNamedTypeSymbol extension in extensions)
474alreadyReportedExtensions ??= PooledHashSet<SourceNamedTypeSymbol>.GetInstance();
688public ExtensionGroupingType(string name, MultiDictionary<string, SourceNamedTypeSymbol> extensionMarkerTypes)
749foreach (var type in marker.UnderlyingExtensions)
772foreach (var type in marker.UnderlyingExtensions)
847public readonly ImmutableArray<SourceNamedTypeSymbol> UnderlyingExtensions;
850public ExtensionMarkerType(ExtensionGroupingType groupingType, string name, MultiDictionary<string, SourceNamedTypeSymbol>.ValueSet extensions)
855var builder = ArrayBuilder<SourceNamedTypeSymbol>.GetInstance(extensions.Count);
Symbols\Source\SourceDelegateMethodSymbol.cs (4)
184return (SourceNamedTypeSymbol)ContainingSymbol;
197return OneOrMany.Create(((SourceNamedTypeSymbol)ContainingSymbol).GetAttributeDeclarations());
356: base((SourceNamedTypeSymbol)invoke.ContainingType, iAsyncResultType, syntax, MethodKind.Ordinary, RefKind.None, DeclarationModifiers.Virtual | DeclarationModifiers.Public)
394: base((SourceNamedTypeSymbol)invoke.ContainingType, invoke.ReturnTypeWithAnnotations, syntax, MethodKind.Ordinary, invoke.RefKind, DeclarationModifiers.Virtual | DeclarationModifiers.Public)