/// <summary> /// Creates and validates any enqueued base-class generators that were enqueued. /// </summary> public void CreateBaseClassGenerators(ModuleWeaver weaver) { var injectedTypes = new HashSet <TypeDefinition>(InjectGenerators.Select(gen => gen.InjectedType)); while (baseGeneratorQueue.Count > 0) { var typedef = baseGeneratorQueue.Dequeue(); if (!injectedTypes.Add(typedef)) { continue; } var gen = new InjectBindingGenerator(moduleDefinition, references, typedef, false); gen.Weaver = weaver; gen.Validate(errorReporter); InjectGenerators.Add(gen); } }
public CompilerBinding(InjectBindingGenerator generator) : base(generator.Key, generator.MembersKey, generator.IsSingleton, generator.InjectedType.FullName) { this.generator = generator; }