2 instantiations of ComInterfaceInfo
Microsoft.Interop.ComInterfaceGenerator (2)
ComInterfaceInfo.cs (2)
102new ComInterfaceInfo( 161new ComInterfaceInfo(
43 references to ComInterfaceInfo
Microsoft.Interop.ComInterfaceGenerator (43)
Analyzers\ComInterfaceGeneratorDiagnosticsAnalyzer.cs (17)
85var interfaceInfoCache = new ConcurrentDictionary<INamedTypeSymbol, DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)>>(SymbolEqualityComparer.Default); 118ConcurrentDictionary<INamedTypeSymbol, DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)>> interfaceInfoCache) 123DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)> ciiResult = interfaceInfoCache.GetOrAdd( 124typeSymbol, _ => ComInterfaceInfo.From(typeSymbol, ifaceSyntax, env, ct)); 136(ComInterfaceInfo cii, INamedTypeSymbol _) = ciiResult.Value; 141ImmutableArray<ComInterfaceInfo> contextChain = BuildContextChain( 211private static ImmutableArray<ComInterfaceInfo> BuildContextChain( 213ComInterfaceInfo cii, 216ConcurrentDictionary<INamedTypeSymbol, DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)>> interfaceInfoCache, 221ImmutableArray<(ComInterfaceInfo, INamedTypeSymbol)> externalBases = 222ComInterfaceInfo.CreateInterfaceInfoForBaseInterfacesInOtherCompilations(typeSymbol); 229var ancestorChain = new List<ComInterfaceInfo>(); 241ImmutableArray<(ComInterfaceInfo, INamedTypeSymbol)> externalInfos = 242ComInterfaceInfo.CreateInterfaceInfoForBaseInterfacesInOtherCompilations(current); 248DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)> baseResult = interfaceInfoCache.GetOrAdd( 254return DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)>.From( 256return ComInterfaceInfo.From(sym, baseSyntax, env, ct);
ComInterfaceContext.cs (8)
15internal ComInterfaceInfo Info { get; init; } 20private ComInterfaceContext(ComInterfaceInfo info, ComInterfaceContext? @base, ComInterfaceOptions options) 30public static ImmutableArray<DiagnosticOr<ComInterfaceContext>> GetContexts(ImmutableArray<ComInterfaceInfo> data, CancellationToken _) 32Dictionary<string, ComInterfaceInfo> nameToInterfaceInfoMap = new(); 34foreach (var iface in data) 40foreach (var iface in data) 46DiagnosticOr<ComInterfaceContext> AddContext(ComInterfaceInfo iface) 65|| !nameToInterfaceInfoMap.TryGetValue(iface.BaseInterfaceKey, out var baseInfo)
ComInterfaceGenerator.cs (8)
51List<(ComInterfaceInfo, INamedTypeSymbol)> interfaceInfos = new(); 52HashSet<(ComInterfaceInfo, INamedTypeSymbol)> externalIfaces = new(ComInterfaceInfo.EqualityComparerForExternalIfaces.Instance); 55var cii = ComInterfaceInfo.From(symbol, syntax, stubEnvironment, CancellationToken.None); 58var externalBase = ComInterfaceInfo.CreateInterfaceInfoForBaseInterfacesInOtherCompilations(symbol); 181ComInterfaceInfo owningInterfaceInfo, 358internal static IncrementalMethodStubGenerationContext CalculateStubInformation(MemberDeclarationSyntax? syntax, IMethodSymbol symbol, int index, StubEnvironment environment, ComInterfaceInfo owningInterface, CancellationToken ct) 570private static void WriteInterfaceInformation(IndentedTextWriter writer, ComInterfaceInfo interfaceInfo)
ComInterfaceInfo.cs (7)
13using InterfaceInfo = (Microsoft.Interop.ComInterfaceInfo InterfaceInfo, Microsoft.CodeAnalysis.INamedTypeSymbol Symbol); 14using DiagnosticOrInterfaceInfo = Microsoft.Interop.DiagnosticOr<(Microsoft.Interop.ComInterfaceInfo InterfaceInfo, Microsoft.CodeAnalysis.INamedTypeSymbol Symbol)>; 180internal sealed class EqualityComparerForExternalIfaces : IEqualityComparer<(ComInterfaceInfo InterfaceInfo, INamedTypeSymbol Symbol)> 182public bool Equals((ComInterfaceInfo, INamedTypeSymbol) x, (ComInterfaceInfo, INamedTypeSymbol) y) => SymbolEqualityComparer.Default.Equals(x.Item2, y.Item2); 183public int GetHashCode((ComInterfaceInfo, INamedTypeSymbol) obj) => SymbolEqualityComparer.Default.GetHashCode(obj.Item2); 406public bool Equals(ComInterfaceInfo other)
ComMethodInfo.cs (3)
61public static SequenceEqualImmutableArray<DiagnosticOr<(ComMethodInfo ComMethod, IMethodSymbol Symbol)>> GetMethodsFromInterface((ComInterfaceInfo ifaceContext, INamedTypeSymbol ifaceSymbol) data, CancellationToken ct) 140ComInterfaceInfo ifaceContext, 245ComInterfaceInfo ifaceContext,