void IDiffActions.ActivityOnlyInSecond(ClassRecord a) { Console.WriteLine(FORMAT_A2, a.Name); foreach (var p in a.Properties) { PrintProperty2(p); } AddActivityAdded(a); }
void IDiffActions.ActivityOnlyInFirst(ClassRecord a) { Console.WriteLine(FORMAT_A1, a.Name); foreach (var p in a.Properties) { PrintProperty1(p); } AddActivityDeleted(a); }
public void ReadFromAssembly(string filename, Action <Exception, string, string> action) { try { using (var ad = Mono.Cecil.AssemblyDefinition.ReadAssembly(filename)) { foreach (Mono.Cecil.ModuleDefinition md in ad.Modules) { if (Program.debug) { Console.WriteLine("# MODULE={0}", md.Name); } foreach (Mono.Cecil.TypeDefinition td in md.GetTypes()) { if (td.IsClass) { if (Program.debug) { Console.WriteLine("# TYPE={0} IsClass=T", td.Name); } var key = ClassRecord.GetSimpleName(td); if (!dict.TryGetValue(key, out ClassRecord a)) { a = new ClassRecord(td, md, this); dict.Add(key, a); if (!packages.Contains(md.Name)) { packages.Add(md.Name); } if (Program.debug) { Console.WriteLine("# Super={0} IsPublic={1}", a.SuperClassName, a.IsPublic); } } else if (Program.debug) { Console.WriteLine("# {0}: Duplicate.", key); Console.WriteLine("# {0}", a.PackageName); Console.WriteLine("# {0}", md.Name); } } else if (Program.debug) { Console.WriteLine("# TYPE={0} IsClass=F", td.Name); } } } } } catch (Exception ex) { action(ex, filename, currentPackageFileName); } }
private string DecoratePropertyName(Mono.Cecil.PropertyDefinition pd, ClassRecord cr) { if (cr.Name.StartsWith(Namespace)) { return(cr.Name.Substring(Namespace.Length) + "::" + pd.Name); } else { return(cr.Name + "::" + pd.Name); } }
private string FormatSuperClassName(string format, ClassRecord cr) { if (verboseLevel > 1) { var sb = new StringBuilder(); sb.Append(TypeString.Symplify(cr.SuperClassFullName)); bool found; do { found = false; foreach (var packageName in db.PackageNames) { try { var cr2 = db.SelectByPackageName(packageName).Single((cr1) => cr1.FullName == cr.SuperClassFullName); if (cr2 != null) { cr = cr2; sb.Append(" : "); sb.Append(TypeString.Symplify(cr.SuperClassFullName)); found = true; break; } } catch (Exception) { } } }while (found); return(string.Format(format, sb.ToString())); } else if (verboseLevel == 1) { return(string.Format(format, TypeString.Symplify(cr.SuperClassFullName))); } else { return(string.Empty); } }
private void AddActivityAdded(ClassRecord a) { _activitiesAdded.Add(a); _currentActivityName = null; _modified = false; }
public bool FindClass(string name, out ClassRecord cr) { return(dict.TryGetValue(name, out cr)); }