Fix top-level class superclass condition

* there was twice the condition `full_name == 'Object' and defined?(::BasicObject)`,
  therefore making the first instruction useless as overwritten by the second.

* The logical behavior, which is also explained in the comment upper is now correctly implemented.