Как получить метрики из ICompilationUnit с помощью checkstyle - PullRequest
0 голосов
/ 07 января 2019

Я реализовал метод, который получает все 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?

...