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); }
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); }
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); }
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); }