// TODO Error / Warning Logging public IEnumerable<CodeGenerationResult> Generate(CodeGenerationUnit codeGenerationUnit) { // TODO Diagnostic check foreach(var taskDefinition in codeGenerationUnit.TaskDefinitions) { var result = Generate(taskDefinition); yield return result; } }
protected ImmutableList<string> GetCodeUsingNamespaces(CodeGenerationUnit codeGenerationUnit) { if(codeGenerationUnit == null) { return ImmutableList<string>.Empty; } var namespaces = codeGenerationUnit.Syntax .CodeUsings .Select(cu => cu.Namespace?.Text) .Where(ns => ns != null) .Distinct() .OrderBy(ns => ns.Length); return namespaces.ToImmutableList(); }