示例#1
0
        public TypeMeasure MeasureType(TypeDefinition type)
        {
            TypeMeasure typeMeasure = new TypeMeasure(type);

            typeMeasure.LinesPerMethod        = CalculateLinesPerMethod(type);
            typeMeasure.ParametersPerMethod   = CalculateParametersPerMethod(type);
            typeMeasure.MaxLinesInMethod      = CalculateMaxLinesInMethod(type);
            typeMeasure.MaxParametersInMethod = CalculateMaxParametersInMethod(type);
            typeMeasure.Fields = CountFields(type);
            return(typeMeasure);
        }
示例#2
0
        public object Clone()
        {
            TypeMeasure typeMeasure = new TypeMeasure(type);

            typeMeasure.MaxParametersInMethod = MaxParametersInMethod;
            typeMeasure.MaxLinesInMethod      = MaxLinesInMethod;
            typeMeasure.MethodMeasures        = MethodMeasures;
            typeMeasure.ParametersPerMethod   = ParametersPerMethod;
            typeMeasure.LinesPerMethod        = LinesPerMethod;
            typeMeasure.Fields = Fields;
            return(typeMeasure);
        }
示例#3
0
        public IEnumerable ProcessMeasures(AssemblyDefinition assembly)
        {
            ArrayList arrayList = new ArrayList();

            foreach (TypeDefinition type in assembly.MainModule.Types)
            {
                TypeMeasure typeMeasure       = MeasureType(type);
                ArrayList   methodMeasureList = new ArrayList();
                foreach (MethodDefinition method in type.Methods)
                {
                    methodMeasureList.Add(MeasureMethod(method));
                }
                typeMeasure.MethodMeasures = methodMeasureList;
                arrayList.Add(typeMeasure);
            }
            return(arrayList);
        }
示例#4
0
        public IEnumerable FindByNumberOfParameters(IEnumerable measures, int minimumValue)
        {
            ArrayList arrayList = new ArrayList();

            foreach (TypeMeasure typeMeasure in measures)
            {
                ArrayList methodMeasures = new ArrayList();
                foreach (MethodMeasure methodMeasure in typeMeasure.MethodMeasures)
                {
                    if (methodMeasure.Parameters >= minimumValue)
                    {
                        methodMeasures.Add(methodMeasure);
                    }
                }
                if (methodMeasures.Count != 0)
                {
                    TypeMeasure resultTypeMeasure = (TypeMeasure)typeMeasure.Clone();
                    resultTypeMeasure.MethodMeasures = methodMeasures;
                    arrayList.Add(resultTypeMeasure);
                }
            }
            return(arrayList);
        }