Classes that only inherit a macro don't have a macro

Prior to this commit, a class that inherited a macro from another
class was considered having a macro. Now, only classes that
explicitly define a macro are considered as having a macro.