direct_message(?Class, ?Op, ?Name, ?Arity)
Name/Arity is an Op message directly understood (defined rather than inherited) by instances of Class. This predicate is used to test whether a message is defined for a class.
Op is one of
<<, specifying the kind of message.
This predicate violates the principle of information hiding by telling whether the method for a message is defined within a class or inherited. Hence its use in ordinary programs is discouraged. It may be useful, however, during debugging or in developing programming support tools.