CtUnaryOperator расширяет CtStatement
Я не могу понять почему.
В выражении if (a++ > 0) {...}
a++
не может быть заявлением, но так как a++
это CtUnaryOperator
тогда это тоже CtStatement
,
Как я могу различить a++;
а также i = a++;
так как в обоих случаях a++
будет CtStatement
?
2 ответа
Поскольку проблемы в этих вопросах связаны с проектными решениями в инструменте Spoon, на него нельзя ответить должным образом.
Чтобы различать оба, нужно смотреть на родителя. Один класс инкапсулирует эту логику:
// does element act as a statement?
boolean hasStatementRole = new LineFilter().matches(element)