public TypeManager(ResourceTypeRegistrar resourceTypeRegistrar, IReadOnlyDictionary <SyntaxBase, Symbol> bindings, IReadOnlyDictionary <SyntaxBase, ImmutableArray <DeclaredSymbol> > cyclesBySyntax) { // bindings will be modified by name binding after this object is created // so we can't make an immutable copy here // (using the IReadOnlyDictionary to prevent accidental mutation) this.typeAssignmentVisitor = new TypeAssignmentVisitor(resourceTypeRegistrar, this, bindings, cyclesBySyntax); }
public TypeAssignmentVisitor(ResourceTypeRegistrar resourceTypeRegistrar, IReadOnlyDictionary <SyntaxBase, Symbol> bindings, IReadOnlyDictionary <SyntaxBase, ImmutableArray <DeclaredSymbol> > cyclesBySyntax) { this.resourceTypeRegistrar = resourceTypeRegistrar; // bindings will be modified by name binding after this object is created // so we can't make an immutable copy here // (using the IReadOnlyDictionary to prevent accidental mutation) this.bindings = bindings; this.cyclesBySyntax = cyclesBySyntax; this.assignedTypes = new Dictionary <SyntaxBase, TypeSymbol>(); }