private static void Code2Uml(IEnumerable<string> paths, string target)
{
foreach (string path in paths) {
Console.WriteLine (path);
Action<string> processFile = (filename) => {
if (!filename.Contains ("gen")) {
IParser parser = new CSharpParser ();
IEnumerable<IUmlObject> objects = parser.Parse (filename);
List<string> lines = new List<string> ();
foreach (IUmlObject obj in objects) {
lines.Add (obj.ToUmlCode ());
}
string umlfile = filename.Replace (".cs", ".uml");
if (target.Length > 0) {
umlfile = umlfile.ReplaceFirst (path, target + "/");
}
Console.WriteLine ("Write: " + umlfile);
Files.WriteLines (umlfile, lines);
}
};
Files.SearchFiles (path, new string[]{".cs"}, processFile);
}
}