private void Stats(string msg) { if (tracer != null) { var nAssemblies = 0; var nTypes = 0; var nMembers = 0; var nValidTypes = 0; var nValidMembers = 0; var nUsedTypes = 0; var nUsedMembers = 0; foreach (var assemblyDef in Global.Assemblies) { nAssemblies++; foreach (var typeDef in assemblyDef.Types) { nTypes++; if (typeDef.Invalid == null) { nValidTypes++; } if (typeDef.IsUsed) { nUsedTypes++; } foreach (var memberDef in typeDef.Members) { nMembers++; if (memberDef.Invalid == null) { nValidMembers++; } if (memberDef.IsUsed) { nUsedMembers++; } } } } tracer.AppendLine(String.Format("{0}: {1} assemblies, {2} types ({3} valid, {4} used), {5} members ({6} valid, {7} used)", msg, nAssemblies, nTypes, nValidTypes, nUsedTypes, nMembers, nValidMembers, nUsedMembers)); } }