public TypeManager(IFeatureProvider features, IBinder binder, IFileResolver fileResolver) { // 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(this, features, binder, fileResolver); this.declaredTypeManager = new DeclaredTypeManager(this, binder); }
public TypeManager(IResourceTypeProvider resourceTypeProvider, IReadOnlyDictionary <SyntaxBase, Symbol> bindings, IReadOnlyDictionary <DeclaredSymbol, ImmutableArray <DeclaredSymbol> > cyclesBySymbol, SyntaxHierarchy hierarchy, ResourceScopeType targetScope) { this.ResourceTypeProvider = resourceTypeProvider; // 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(resourceTypeProvider, this, bindings, cyclesBySymbol, hierarchy, targetScope); this.declaredTypeManager = new DeclaredTypeManager(hierarchy, this, resourceTypeProvider, bindings, cyclesBySymbol, targetScope); }