public InitializationManager(TypeAnalyzer typeAnalyzer, PrimitiveExpressionGenerator primitiveExpressionGenerator, DictionaryExpressionGenerator dictionaryExpressionGenerator, ComplexTypeInitializationGenerator complexTypeInitializationGenerator, ArrayInitializationGenerator arrayInitializationGenerator, AssignmentExpressionGenerator assignmentExpressionGenerator, ArgumentListManager argumentListManager, EnumExpressionGenerator enumExpressionGenerator, ImmutableInitializationGenerator immutableInitializationGenerator, ObjectInicializationExpressionGenerator objectInicializationExpressionGenerator, GuidInitializationManager guidInitializationManager, RegexInitializationManager regexInitializationManager, PrimitiveNullableExpressionGenerator primitiveNullableExpressionGenerator) { _typeAnalyzer = typeAnalyzer; _primitiveExpressionGenerator = primitiveExpressionGenerator; _dictionaryExpressionGenerator = dictionaryExpressionGenerator; _complexTypeInitializationGenerator = complexTypeInitializationGenerator; _arrayInitializationGenerator = arrayInitializationGenerator; _assignmentExpressionGenerator = assignmentExpressionGenerator; _argumentListManager = argumentListManager; _enumExpressionGenerator = enumExpressionGenerator; _immutableInitializationGenerator = immutableInitializationGenerator; _objectInicializationExpressionGenerator = objectInicializationExpressionGenerator; _guidInitializationManager = guidInitializationManager; _regexInitializationManager = regexInitializationManager; _primitiveNullableExpressionGenerator = primitiveNullableExpressionGenerator; }
public static CodeGeneratorManager Create(Dictionary <string, IReadOnlyList <string> > readonlyObjects, bool useConcreteType) { var argumentListManager = new ArgumentListManager(readonlyObjects, new ConcreteTypeAnalyzer(), new DumpStackToCSharpCode.ObjectInitializationGeneration.Constructor.ConstructorsManager()); var initializationManager = new InitializationManager(new TypeAnalyzer(), new PrimitiveExpressionGenerator(), new DictionaryExpressionGenerator(), new ComplexTypeInitializationGenerator(new TypeAnalyzer()), new ArrayInitializationGenerator(new TypeAnalyzer()), new AssignmentExpressionGenerator(), argumentListManager, new EnumExpressionGenerator(), new ImmutableInitializationGenerator(), new DumpStackToCSharpCode.ObjectInitializationGeneration.Expression.ObjectInicializationExpressionGenerator(new TypeAnalyzer()), new DumpStackToCSharpCode.ObjectInitializationGeneration.Initialization.GuidInitializationManager(new ComplexTypeInitializationGenerator(new TypeAnalyzer()), new PrimitiveExpressionGenerator()), new DumpStackToCSharpCode.ObjectInitializationGeneration.Initialization.RegexInitializationManager(new ComplexTypeInitializationGenerator(new TypeAnalyzer()), new PrimitiveExpressionGenerator()), new DumpStackToCSharpCode.ObjectInitializationGeneration.Expression.PrimitiveNullableExpressionGenerator(new DumpStackToCSharpCode.ObjectInitializationGeneration.Expression.ObjectInicializationExpressionGenerator(new TypeAnalyzer()))); return(new CodeGeneratorManager(new TypeAnalyzer(), initializationManager, new ArrayCodeGenerator(new VariableDeclarationManager(useConcreteType)), new VariableDeclarationManager(useConcreteType))); }