Beispiel #1
0
 public DslModel(
     IDslParser dslParser,
     ILogProvider logProvider,
     DslContainer dslContainer,
     IIndex <Type, IEnumerable <IConceptMacro> > macros,
     IEnumerable <IConceptMacro> macroPrototypes,
     IEnumerable <IConceptInfo> conceptPrototypes,
     IMacroOrderRepository macroOrderRepository,
     IDslModelFile dslModelFile)
 {
     _dslParser               = dslParser;
     _performanceLogger       = logProvider.GetLogger("Performance");
     _logger                  = logProvider.GetLogger("DslModel");
     _evaluatorsOrderLogger   = logProvider.GetLogger("MacroEvaluatorsOrder");
     _dslModelConceptsLogger  = logProvider.GetLogger("DslModelConcepts");
     _initializedDslContainer = new Lazy <DslContainer>(() => Initialize(dslContainer));
     _macros                  = macros;
     _macroTypes              = macroPrototypes.Select(macro => macro.GetType());
     _conceptTypes            = conceptPrototypes.Select(conceptInfo => conceptInfo.GetType());
     _macroOrderRepository    = macroOrderRepository;
     _dslModelFile            = dslModelFile;
 }