Esempio n. 1
0
        public MixinLevelCodeGeneratorPipelineState(TargetLevelCodeGeneratorPipelineState baseState)
        {
            CommonState = baseState.CommonState;
            CreateCodeGenerationPlanPipeline = baseState.CreateCodeGenerationPlanPipeline;
            CodeBehindSyntaxTree             = baseState.CodeBehindSyntaxTree;

            TargetLevelCodeGeneratorPipelineState = baseState;
        }
        public bool PerformTask(IGenerateCodePipelineState manager)
        {
            foreach (var target in manager.CommonState.SourcePartialClassDefinitions)
            {
                var targetLevelCodeGeneratorPipeline =
                    new TargetLevelCodeGeneratorPipelineState(manager)
                {
                    TargetSourceTypeDeclaration = target,
                    CodeGenerationPlan          = manager.CreateCodeGenerationPlanPipeline.CodeGenerationPlans[target]
                };

                new TargetLevelCodeGenerator().PerformTask(targetLevelCodeGeneratorPipeline);
            }

            return(true);
        }