Description
Both BinaryComparisonOperatorNode and UnaryComparisonOperatorNode have a method called getNegation() with the following code:
/* Keep the compiler happy - this method should never be called.
- We should always be calling the method in a sub-class.
*/
if (SanityManager.DEBUG)
SanityManager.ASSERT(false,
"expected to call getNegation() for subclass " +
getClass().toString());
return this;
Instead of relying on asserts to detect missing method overrides at run-time, we should make the methods abstract so that such errors are detected by the compiler.