Symbols\Source\ExtensionGroupingInfo.cs (39)
31var groupingMap = new Dictionary<string, MultiDictionary<string, SourceNamedTypeSymbol>>(EqualityComparer<string>.Default);
40var sourceNamedType = (SourceNamedTypeSymbol)type;
43MultiDictionary<string, SourceNamedTypeSymbol>? markerMap;
47markerMap = new MultiDictionary<string, SourceNamedTypeSymbol>(EqualityComparer<string>.Default, ReferenceEqualityComparer.Instance);
56foreach (KeyValuePair<string, MultiDictionary<string, SourceNamedTypeSymbol>> pair in groupingMap)
74var type1 = (SourceNamedTypeSymbol)typeMembers[i];
82var type2 = (SourceNamedTypeSymbol)typeMembers[j];
108return GetCorrespondingMarkerType((SourceNamedTypeSymbol)markerMethod.ContainingType);
111private ExtensionMarkerType GetCorrespondingMarkerType(SourceNamedTypeSymbol extension)
147foreach (var extension in GetCorrespondingMarkerType((SourceNamedTypeSymbol)marker.ContainingType).UnderlyingExtensions)
171public Cci.ITypeDefinition GetCorrespondingGroupingType(SourceNamedTypeSymbol extension)
192internal ImmutableArray<SourceNamedTypeSymbol> GetMergedExtensions(SourceNamedTypeSymbol extension)
201internal IEnumerable<ImmutableArray<SourceNamedTypeSymbol>> EnumerateMergedExtensionBlocks()
212internal static bool HaveSameILSignature(SourceNamedTypeSymbol extension1, SourceNamedTypeSymbol extension2)
247internal static bool HaveSameCSharpSignature(SourceNamedTypeSymbol extension1, SourceNamedTypeSymbol extension2)
428PooledHashSet<SourceNamedTypeSymbol>? alreadyReportedExtensions = null;
435foreach (ImmutableArray<SourceNamedTypeSymbol> mergedBlocks in EnumerateMergedExtensionBlocks())
443static IEnumerable<SourceNamedTypeSymbol> enumerateExtensionsInGrouping(ExtensionGroupingType groupingType)
447foreach (var extension in marker.UnderlyingExtensions)
454static void checkCollisions(IEnumerable<SourceNamedTypeSymbol> extensions, Func<SourceNamedTypeSymbol, SourceNamedTypeSymbol, bool> compare,
455ref PooledHashSet<SourceNamedTypeSymbol>? alreadyReportedExtensions, BindingDiagnosticBag diagnostics)
457SourceNamedTypeSymbol? first = null;
459foreach (SourceNamedTypeSymbol extension in extensions)
472alreadyReportedExtensions ??= PooledHashSet<SourceNamedTypeSymbol>.GetInstance();
684public ExtensionGroupingType(string name, MultiDictionary<string, SourceNamedTypeSymbol> extensionMarkerTypes)
745foreach (var type in marker.UnderlyingExtensions)
766foreach (var type in marker.UnderlyingExtensions)
841public readonly ImmutableArray<SourceNamedTypeSymbol> UnderlyingExtensions;
844public ExtensionMarkerType(ExtensionGroupingType groupingType, string name, MultiDictionary<string, SourceNamedTypeSymbol>.ValueSet extensions)
849var 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)