示例#1
0
        public override void Visit(Dependency dependency)
        {
            base.Visit(dependency);

            Externals.Assemble(dependency, this.ExternalDependencies);

            Links.Assemble(dependency, this.Linkings);

            SLOC.Assemble(dependency, this.SLOCs);

            Structure.Assemble(dependency, this.Linkings, this.Structures);
        }
示例#2
0
        private void Add(Externals externals)
        {
            foreach (var dep in externals.Merged)
            {
                this.Add(dep);
            }

            var num = externals.MaxInTree;

            if (this.MaxInTree < num)
            {
                this.MaxInTree = num;
            }
        }
示例#3
0
        public static void Assemble(Dependency dependency, Dictionary <Dependency, Externals> externals)
        {
            var ext = new Externals(dependency);

            externals[dependency] = ext;

            foreach (var dep in dependency.Dependencies)
            {
                ext.Add(dep);
            }

            ext.SetMax();

            foreach (var child in dependency.Children)
            {
                ext.Add(externals[child]);
            }
        }