public void getttt(TypeTable tt, ITokenCollection semi, DepenAnalysis dp, string file) { foreach (var elem in tt.table) { if (semi.contains(elem.Key)) { if (semi.contains("class") && semi.contains(":")) { decrease(elem.Value, tt, semi, dp, file); } if (!semi.contains("enum") && !semi.contains("class") && !semi.contains("struct") && !semi.contains("interface") && !semi.contains("delegate")) { decrease(elem.Value, tt, semi, dp, file); } else { continue; } } else { continue; } } }
static void Main(string[] args) { FileFinder filef = new FileFinder(); args = filef.get_cs(); DepenAnalysis dp = new DepenAnalysis(); dp = dp.DepenAnalysises(args); dp.show(); dp.showFormal(); Console.Write("\n\n"); Console.ReadKey(); }
//------<DepenAnalysises was used to compare semi with what inside typetable to get dependency relations>------ public DepenAnalysis DepenAnalysises(string[] args) { TypeTable tt = new TypeTable(); tt = tt.GetTable(args); DepenAnalysis dp = new DepenAnalysis(); foreach (string file in args) { ITokenCollection semi = Factory.create(); if (!semi.open(file)) { Console.Write("\n Can't open {0}\n\n", args[0]); break; } while (!semi.isDone()) { semi.get(); getttt(tt, semi, dp, file); } semi.close(); } return(dp); }
public void decrease(List <TypeItem> i, TypeTable tt, ITokenCollection semi, DepenAnalysis dp, string file) { foreach (var item in i) { if (item.file != System.IO.Path.GetFileName(file)) { if (!dp.DepTable.Keys.Contains(System.IO.Path.GetFileName(file))) { dp.add(System.IO.Path.GetFileName(file), item.file); } else { if (dp.DepTable[System.IO.Path.GetFileName(file)].Contains(item.file)) { break; } else { dp.DepTable[System.IO.Path.GetFileName(file)].Add(item.file); } } } } }