Я реализовал метод, который получает все ICompilationUnit из выбранного проекта затмения. но мне нужно получить метрики этих файлов, например, сколько строк имеет метод.
Мне дали контрольный стиль для получения метрик, но я не знаю, как получить эти метрики.
Я использую контрольный стиль для получения метрик, но я не уверен, как получить эти метрики.
public List<ICompilationUnit> getCompilationUnits(IJavaProject javaProject) throws NullPointerException {
List<ICompilationUnit> units = new LinkedList<ICompilationUnit>();
try {
IPackageFragmentRoot[] packageFragmentRoots = javaProject.getAllPackageFragmentRoots();
for(int i = 0; i < packageFragmentRoots.length; i++) {
IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[i];
IJavaElement[] fragments = packageFragmentRoot.getChildren();
for(int j = 0; j < fragments.length; j++) {
IPackageFragment fragment = (IPackageFragment)fragments[j];
IJavaElement[] javaElements = fragment.getChildren();
for(int k = 0; k < javaElements.length; k++) {
IJavaElement javaElement = javaElements[k];
if(javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
units.add( (ICompilationUnit)javaElement);
}
}
}
}
}
catch(Exception e) {
}
return units;
}
}
Это код, который я использую для получения списка со всем ICompilationUnit проекта.
Как лучше всего получить метрики от одного из этих ICompilationUnit, используя checkstyle?.
Редактировать: Как я могу сгенерировать AST, используя существующие методы checkstyle для анализа полученного IJavaProject?