public Instance Build(XElement typeElement) { var members = (from m in typeElement.Descendants("Members").Descendants("Member") select fxCopMemberBuilder.Build(m)).ToList(); var nspace = typeElement.Parent.Parent.AttributeValue("Name"); var metrics = typeElement.Descendants("Metrics").Descendants("Metric"); var physicalfile = GetPhysicaFileFrom(typeElement); var codeBag = new CodeBag(nspace, CodeBagType.Namespace, Path.GetDirectoryName(physicalfile)); return(InstanceBuilder.Build(codeBag, typeElement.AttributeValue("Name"), physicalfile, GetMetricValue(metrics, "LinesOfCode"), GetMetricValue(metrics, "CyclomaticComplexity"), GetMetricValue(metrics, "DepthOfInheritance"), GetMetricValue(metrics, "ClassCoupling"), members)); }
private static Instance ParseClass(string fullFileName, IEnumerable <Member> members) { //TODO: Gross var parts = fullFileName.Split('\\').ToList(); var fileName = parts.Last(); var className = fileName.Split('.')[0]; parts.RemoveRange(parts.Count - 1, 1); var packageLocation = string.Join("\\", parts); parts.RemoveAt(0); var packageName = string.Join(".", parts); var codeBag = new CodeBag(packageName, CodeBagType.Package, packageLocation); return(InstanceBuilder.Build(codeBag, className, new Location(Path.Combine(packageLocation, fileName)), members)); }
public void SetUp() { Clock.Freeze(); sourceMember = new Member("mbr", 1, 2, 3) { MissingDefaultCase = 4, NoFallthrough = 5, NumberOfParameters = 6 }; var codeBag = new CodeBag("ns", CodeBagType.Package, @"c:\dev\src\java"); sourceInstance = new Instance(codeBag, "String", new Location(@"C:\dev\src\java\something.java")) { Toxicity = 6, Members = new List <Member> { sourceMember } }; }
public Plot(CodeBag codeBag, IEnumerable <Instance> classes, Rect3D bounds) { CodeBag = codeBag; Classes = classes; Bounds = bounds; }
private bool Equals(CodeBag other) { return(string.Equals(Name, other.Name)); }