public MatchSymbols( IReadOnlyDictionary <AnonymousTypeKey, AnonymousTypeValue> anonymousTypeMap, SourceAssemblySymbol sourceAssembly, AssemblySymbol otherAssembly, ImmutableDictionary <Cci.ITypeDefinition, ImmutableArray <Cci.ITypeDefinitionMember> > otherSynthesizedMembersOpt, DeepTranslator deepTranslatorOpt) { _anonymousTypeMap = anonymousTypeMap; _sourceAssembly = sourceAssembly; _otherAssembly = otherAssembly; _otherSynthesizedMembersOpt = otherSynthesizedMembersOpt; _comparer = new SymbolComparer(this, deepTranslatorOpt); _matches = new ConcurrentDictionary <Symbol, Symbol>(ReferenceEqualityComparer.Instance); _otherTypeMembers = new ConcurrentDictionary <NamedTypeSymbol, IReadOnlyDictionary <string, ImmutableArray <Cci.ITypeDefinitionMember> > >(); }
public SymbolComparer(MatchSymbols matcher, DeepTranslator deepTranslatorOpt) { Debug.Assert(matcher != null); _matcher = matcher; _deepTranslatorOpt = deepTranslatorOpt; }