如何使用Checkstyle从ICompilationUnit获取指标

时间:2019-01-07 00:10:23

标签: java eclipse eclipse-plugin checkstyle

我实现了一种从选定的Eclipse项目中获取所有ICompilationUnit的方法。但是我需要获取这些文件的指标,例如方法有几行。

我被赋予了获取样式的检查样式,但是我不知道如何获取那些度量。

我正在使用Checkstyle来获取指标,但是我不确定如何获取这些指标。

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的列表的代码。

使用checkstyle从其中一个ICompilationUnit获取指标的最佳方法是什么?

编辑:如何使用现有的checkstyle方法来生成获得的IJavaProject来解析AST?

0 个答案:

没有答案