protected NumericType evaluate(NumericType firstNumber)
    {
        // If the argument is a real number, then use real number arithmetic, otherwise use integer arithmetic.
        if (firstNumber.isInteger())
        {
            return new IntLiteral(-firstNumber.intValue());
        }
        else
        {
            return new DoubleLiteral(-firstNumber.doubleValue());
        }
    }
protected NumericType evaluate(NumericType firstNumber)
    {
        
        if (firstNumber.isInteger())
        {
            return new IntLiteral(-firstNumber.intValue());
        }
        else
        {
            return new DoubleLiteral(-firstNumber.doubleValue());
        }
    }
protected NumericType evaluate ( NumericType firstNumber ) { // If the argument is a real number, then use real number arithmetic, otherwise use integer arithmetic. if ( firstNumber . isInteger ( ) ) { return new IntLiteral ( - firstNumber . intValue ( ) ) ; } else { return new DoubleLiteral ( - firstNumber . doubleValue ( ) ) ; } }
Evaluates the arithmetic operator on its numeric argument.

@param  firstNumber The first argument.

@return The result of performing the arithmetic operator on its argument.
Evaluates the arithmetic operator on its numeric argument .