Kilon
Kilon

Reputation: 2002

How to find if a class is super class of my class instance

I have tried and failed to find a way in Pharo to find if a specific class instance has specific class as super class. By super class I am not referring only on the class that is a subclass of, but also all other classes that are up its inheritance line.

I thought that there would be a message in Object >> isSubclassOf: but alas i cant located such message

Upvotes: 2

Views: 378

Answers (2)

MartinW
MartinW

Reputation: 5041

Only a class can be the subclass of another class. Thus you must first get the class of your object:

String inheritsFrom: Collection "prints: true"
'Pharo is cool' class inheritsFrom: Collection "prints: true"

Upvotes: 1

Uko
Uko

Reputation: 13386

I'm not clearly sure what do you want to find, but if you want to see if anObject is and instance of aClass or it's superclasses, you can use:

anObject isKindOf: aClass

If you want to see if anObject (class) inherits from aClass, then you use:

anObject inheritsFrom: aClass

Upvotes: 3

Related Questions