public void Add(IContextStatistics stats)
        {
            NumRepositories                      += stats.NumRepositories;
            NumUsers                             += stats.NumUsers;
            NumSolutions                         += stats.NumSolutions;
            EstimatedLinesOfCode                 += stats.EstimatedLinesOfCode;
            NumTypeDeclTopLevel                  += stats.NumTypeDeclTopLevel;
            NumTypeDeclNested                    += stats.NumTypeDeclNested;
            NumPartial                           += stats.NumPartial;
            NumClasses                           += stats.NumClasses;
            NumInterfaces                        += stats.NumInterfaces;
            NumDelegates                         += stats.NumDelegates;
            NumStructs                           += stats.NumStructs;
            NumEnums                             += stats.NumEnums;
            NumUnusualType                       += stats.NumUnusualType;
            NumTypeDeclExtendsOrImplements       += stats.NumTypeDeclExtendsOrImplements;
            NumMethodDeclsTotal                  += stats.NumMethodDeclsTotal;
            NumMethodDeclsOverrideOrImplement    += stats.NumMethodDeclsOverrideOrImplement;
            NumMethodDeclsOverrideOrImplementAsm += stats.NumMethodDeclsOverrideOrImplementAsm;
            NumValidInvocations                  += stats.NumValidInvocations;
            NumUnknownInvocations                += stats.NumUnknownInvocations;
            NumAsmCalls                          += stats.NumAsmCalls;
            NumAsmDelegateCalls                  += stats.NumAsmDelegateCalls;
            NumAsmFieldRead                      += stats.NumAsmFieldRead;
            NumAsmPropertyRead                   += stats.NumAsmPropertyRead;

            UniqueTypeDecl.AddAll(stats.UniqueTypeDecl);
            UniqueMethodDeclsOverrideOrImplementAsm.AddAll(stats.UniqueMethodDeclsOverrideOrImplementAsm);
            UniqueAssemblies.AddAll(stats.UniqueAssemblies);
            UniqueAsmMethods.AddAll(stats.UniqueAsmMethods);
            UniqueAsmFields.AddAll(stats.UniqueAsmFields);
            UniqueAsmProperties.AddAll(stats.UniqueAsmProperties);
        }
Exemplo n.º 2
0
 private void StoreResult(string zip, IContextStatistics stats)
 {
     lock (Lock)
     {
         _results.Add(stats);
         _asmCounter.Count(stats.UniqueAssemblies);
     }
 }
        public void Results(IContextStatistics stats, IDictionary <IAssemblyName, int> counts)
        {
            lock (Lock)
            {
                Log("done!");

                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine("UniqueTypeDecl.Count: {0}", stats.UniqueTypeDecl.Count);
                Console.WriteLine(
                    "UniqueMethodDeclsOverrideOrImplementAsm.Count: {0}",
                    stats.UniqueMethodDeclsOverrideOrImplementAsm.Count);
                Console.WriteLine("UniqueAssemblies.Count: {0}", stats.UniqueAssemblies.Count);
                Console.WriteLine("UniqueAsmMethods.Count: {0}", stats.UniqueAsmMethods.Count);
                Console.WriteLine("UniqueAsmFields.Count: {0}", stats.UniqueAsmFields.Count);
                Console.WriteLine("UniqueAsmProperties.Count: {0}", stats.UniqueAsmProperties.Count);
                Console.WriteLine();
                Console.WriteLine("(clearing sets now ...)");
                Console.WriteLine();

                stats.UniqueTypeDecl.Clear();
                stats.UniqueMethodDeclsOverrideOrImplementAsm.Clear();
                stats.UniqueAssemblies.Clear();
                stats.UniqueAsmMethods.Clear();
                stats.UniqueAsmFields.Clear();
                stats.UniqueAsmProperties.Clear();

                // getter-only is not printed.
                Console.WriteLine("NumTypeDeclTotal = {0}", stats.NumTypeDeclTotal);
                Console.WriteLine(
                    "NumInvocationExprTotal = {0}",
                    stats.NumUnknownInvocations + stats.NumValidInvocations);
                Console.WriteLine(stats.ToString());

                Console.WriteLine("\n## Histogram ##");
                for (var i = 1; i < 20; i++)
                {
                    LogAsms(counts, i);
                }
                for (var i = 20; i < 60; i += 2)
                {
                    LogAsms(counts, i);
                }
                for (var i = 60; i <= 150; i += 10)
                {
                    LogAsms(counts, i);
                }

                Console.WriteLine("\n## Assembly Occurrences ##");
                foreach (var asm in counts.OrderBy(p => p.Value).Reverse())
                {
                    Console.WriteLine("count({0}) = {1}", asm.Key, asm.Value);
                }
            }
        }
Exemplo n.º 4
0
        public void Run()
        {
            _results    = new ContextStatistics();
            _asmCounter = new AssemblyCounter();

            _log.StartUp(_cf);

            FindZips();
            InParallel(CreateStatistics);

            _log.Results(_results, _asmCounter.Counts);
        }
 protected static void AssertUniqueAsmMethods(IContextStatistics actual, params string[] ids)
 {
     Assert.AreEqual(Sets.NewHashSetFrom(ids.Select(id => Names.Method(id))), actual.UniqueAsmMethods);
 }