微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在Inria Spoon中建立模型的更快方法

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

我正在使用以下代码构建输入项目的模型。

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

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

PS:我使用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"); 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。