public string Generate(string source) { var sb = new SourceBuilder(); foreach (var name in DeltaCore.GetNamespaces()) { sb += $"using {name};"; } var startLength = sb.Length; var root = CSharpSyntaxTree.ParseText(source).GetCompilationUnitRoot(); var classDeclarations = root.DescendantNodes().OfType <ClassDeclarationSyntax>(); foreach (var classDeclaration in classDeclarations) { GenerateClass(classDeclaration, sb); } return(startLength == sb.Length ? null : sb.ToString()); }