问题标签 [inria-spoon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
26 浏览

inria-spoon - getParent() 返回意外节点

我有以下代码要分析

现在,我有以下方法 isToBeProcessed 的实现

问题是,当第一次调用此方法时,该a++方法getParent()应该返回a++;,但它返回的是整个块。为什么?

0 投票
2 回答
33 浏览

inria-spoon - CtUnaryOperator 扩展了 CtStatement

我不明白为什么。

在表达式if (a++ > 0) {...} a++中不能是 Statement 但因为a++是 a CtUnaryOperatorthen 它也是 a CtStatement

我如何区分a++;i = a++;因为在这两种情况下a++都是 a CtStatement

0 投票
2 回答
976 浏览

java - 如何使用 SPOON API 创建调用图

如果有人使用 SPOON API,你能给我一些线索如何创建调用图以及我需要做什么吗?

我认为我需要像这样创建一些处理器:

然后使用 Launcher 进行运行分析

但我不确定......我想问一下我是否需要一些特殊的依赖项才能使用 Launcher?

我认为我错了,因为当我执行它时会抛出这个错误:

0 投票
1 回答
370 浏览

java - 使用 Spoon Gradle 插件创建自定义注释处理器

我正在尝试使用SPOON在 android 中编写注释处理器在 android 中编写注释处理器。

所以我的问题是,当我编写了注释处理器类时,如何向编译器指示它。

假设我的班级位于 com.craftman.spoonprocessor.CustomProcessor

0 投票
0 回答
66 浏览

java - 如何更改 CtTypedElement 的类型

我正在尝试编写方法来更改类型化元素的类型。localVar我有需要更改的 CtLocalVariable 。

我的方法是:

LineTypeMapping.getSubstituteClass(type.getActualClass());只返回当前局部变量类型的替代类型。当然typedElem.setType(newType);有编译错误。

然后我尝试了这个,它也给出了编译错误:

现在我不知道这是正确的路径还是我应该尝试更改局部变量的声明并更改整个局部变量而不仅仅是现有的类型。

编译的唯一示例是:

但这对我来说在语义上是不正确的,因为它们是两种不同的类型(typenewType)。

0 投票
1 回答
693 浏览

runtime-error - 对于一个大项目的源码,spoon源码分析中出现“xxx类型已经定义”怎么处理?

当我们用spoon分析Hadoop这种大项目的源码时,经常会出现“类型xxx已经定义”的问题,因为不同子项目中可能存在类名相同、包目录相同的Java类.

运行“java -cp xx spoon.Launcher -i ~/hadoop-0.23.3-src/ -p myspoon.CatchProcessor”时出现以下错误。

我发现同一个子项目“hadoop-mapreduce-project”中有两个 JobInProgress.java

那么如何解决这个问题??????我已经发现我们似乎无法同时移开其中一个来运行勺子分析,因为它会导致另一个“丢失文件”的问题

对问题有任何意见吗?谢谢。

0 投票
1 回答
188 浏览

inria-spoon - 我们可以使 Spoon 的输出遵循与原始目录相同的目录路径吗?

目前,Spoon 的输出目录结构将遵循写在 *.java 文件中的包路径。其实还有很多其他的文件,甚至是 *.java 文件,它们的真实文件路径和包路径是不同的。所以,我的 Spoon 的输出文件夹是无序的。

0 投票
1 回答
111 浏览

java - 将 Spoon 模型转换为其他模型

我正在尝试将Spoon representationJava 代码转换为其他代码;让我们说一个JSONXML表示或进入其他Java model

我不知道如何以及从哪里开始。

  • 我是否必须为 Spoon 元模型processor的每一片叶子编写一个(要编写很多处理器)?
  • 我是否必须编写一个处理器来分析每个并具有自上而下的方法(其中将包含大量instanceof检查)?
  • 我必须写一个Scanner基于树的表示吗?

最后一个问题:当转换一个元素(比如说 a )时,如何以一种独特的方式CtIf识别它的父元素(a )?CtBlock

假设它将输出以下内容:

我有点迷茫,需要一些帮助:) 谢谢!

0 投票
1 回答
228 浏览

jsp - Spoon 和 JDT 之类的 JSP 脚本代码解析工具?

我使用 Eclipse JDT API 通过制作代码的 AST 树来分析和处理几个 Java 类的 Java 代码。我还为我的一个项目使用了 Spoon 代码解析工具,并成功处理了 Java 类文件。

是否有任何类似的工具可用于 JSP 文件?我想自动解析、分析和可能修改代码。

请建议我可以用来实现这一目标的方法。

0 投票
1 回答
200 浏览

java - 自动解析代码分析的依赖关系

我有简单scala的库代码Spoon

我已经从 github 克隆了开源项目,但我无法编译它。

我找不到任何自动解决依赖关系的方法?如何为一般项目修复它们——不仅仅是这个特定的项目?