CtUnaryOperator扩展了CtStatement

时间:2017-01-19 01:58:54

标签: inria-spoon

我无法理解为什么。

在表达式if (a++ > 0) {...} a++中,不能成为一个声明,但由于a++CtUnaryOperator,因此它也是CtStatement }。

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

2 个答案:

答案 0 :(得分:0)

区分两者,一看父母。一个类封装了这个逻辑:

// does element act as a statement?
boolean hasStatementRole = new LineFilter().matches(element)

答案 1 :(得分:0)

由于此问题中的问题来自Spoon工具中的设计决策,因此无法正确回答。