2 instantiations of ComInterfaceInfo
Microsoft.Interop.ComInterfaceGenerator (2)
42 references to ComInterfaceInfo
Microsoft.Interop.ComInterfaceGenerator (42)
Analyzers\ComInterfaceGeneratorDiagnosticsAnalyzer.cs (17)
81var interfaceInfoCache = new ConcurrentDictionary<INamedTypeSymbol, DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)>>(SymbolEqualityComparer.Default);
114ConcurrentDictionary<INamedTypeSymbol, DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)>> interfaceInfoCache)
119DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)> ciiResult = interfaceInfoCache.GetOrAdd(
120typeSymbol, _ => ComInterfaceInfo.From(typeSymbol, ifaceSyntax, env, ct));
132(ComInterfaceInfo cii, INamedTypeSymbol _) = ciiResult.Value;
137ImmutableArray<ComInterfaceInfo> contextChain = BuildContextChain(
207private static ImmutableArray<ComInterfaceInfo> BuildContextChain(
209ComInterfaceInfo cii,
212ConcurrentDictionary<INamedTypeSymbol, DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)>> interfaceInfoCache,
217ImmutableArray<(ComInterfaceInfo, INamedTypeSymbol)> externalBases =
218ComInterfaceInfo.CreateInterfaceInfoForBaseInterfacesInOtherCompilations(typeSymbol);
225var ancestorChain = new List<ComInterfaceInfo>();
237ImmutableArray<(ComInterfaceInfo, INamedTypeSymbol)> externalInfos =
238ComInterfaceInfo.CreateInterfaceInfoForBaseInterfacesInOtherCompilations(current);
244DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)> baseResult = interfaceInfoCache.GetOrAdd(
250return DiagnosticOr<(ComInterfaceInfo, INamedTypeSymbol)>.From(
252return ComInterfaceInfo.From(sym, baseSyntax, env, ct);
ComInterfaceGenerator.cs (8)
50List<(ComInterfaceInfo, INamedTypeSymbol)> interfaceInfos = new();
51HashSet<(ComInterfaceInfo, INamedTypeSymbol)> externalIfaces = new(ComInterfaceInfo.EqualityComparerForExternalIfaces.Instance);
54var cii = ComInterfaceInfo.From(symbol, syntax, stubEnvironment, CancellationToken.None);
57var externalBase = ComInterfaceInfo.CreateInterfaceInfoForBaseInterfacesInOtherCompilations(symbol);
180ComInterfaceInfo owningInterfaceInfo,
347internal static IncrementalMethodStubGenerationContext CalculateStubInformation(MethodDeclarationSyntax? syntax, IMethodSymbol symbol, int index, StubEnvironment environment, ComInterfaceInfo owningInterface, CancellationToken ct)
505private static void WriteInterfaceInformation(IndentedTextWriter writer, ComInterfaceInfo interfaceInfo)