在inria Spoon中建立模型的更快方法



我使用inria Spoon解析Java项目,然后提取有关类、接口、字段和方法及其所有引用的信息。

我正在使用下面的代码来构建一个输入项目的模型。

SpoonAPI spoonAPI = new Launcher();
spoonAPI.addInputResource(projectDirectory);
spoonAPI.buildModel();
CtModel ctModel = spoonAPI.getModel();

但是,buildModel((大型项目中非常耗时。

附言:我使用JavaParser使用下面的代码,它比Spoon更快。

Path pathToSource = Paths.get(projectDirectory);
SourceRoot sourceRoot = new SourceRoot(pathToSource);
sourceRoot.tryToParse();
List<CompilationUnit> compilations = sourceRoot.getCompilationUnits();

我想知道是否有更快的方法在Spoon中创建CtModel

您可以只为需要分析或转换的文件构建模型,而不是解析完整的源目录:

spoonAPI.addInputResource("path/Foo.java"); 
spoonAPI.addInputResource("path/Bar.java"); 

相关内容

  • 没有找到相关文章

最新更新