我实现了一种从选定的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?