Beispiel #1
0
        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));
        }
Beispiel #3
0
        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
                }
            };
        }
Beispiel #4
0
 public Plot(CodeBag codeBag, IEnumerable <Instance> classes, Rect3D bounds)
 {
     CodeBag = codeBag;
     Classes = classes;
     Bounds  = bounds;
 }
Beispiel #5
0
 private bool Equals(CodeBag other)
 {
     return(string.Equals(Name, other.Name));
 }