analyze method
Future<List<ProjectClass> >
analyze(
- List<
ClassElement> classElements, - ProjectConfiguration configuration
override
Implementation
@override
Future<List<ProjectClass>> analyze(List<ClassElement> classElements,
ProjectConfiguration configuration) async {
final projectClasses = <ProjectClass>[];
var errorsCount = 0;
for (var i = 0; i < classElements.length; i++) {
final element = classElements[i];
final elementPath = _getElementPath(element);
final elementLayer = _findPathLayer(elementPath, configuration.layers);
final errors = <ArchitectureError>{};
for (var analyzer in analyzers) {
errors
.addAll(analyzer.findErrors(element, elementLayer, configuration));
}
final currentClass = ProjectClass(
classElement: element,
filePath: elementPath,
layer: elementLayer,
errors: errors,
);
errorsCount += currentClass.errors.length;
projectClasses.add(currentClass);
}
projectClasses.sort(_compareClasses);
print('Analyze completed. $errorsCount errors found');
return projectClasses;
}