I can't understand why.
In the expression if (a++ > 0) {...} a++ can't be a Statement but since a++ is a CtUnaryOperator then it's also a CtStatement.
How can I differentiate between a++; and i = a++; since in both cases a++ will be a CtStatement?
to differentiate between both, one looks at the parent. One class encapsulates this logic: