I'm trying to determine if a particular method is canonical (e.g. toString, equals or hashCode). For example,
Then super.toString() refers to java.lang.Object's toString() method.
I believe that
used to return all supermethods of the method, even if they were in java.lang.Object. (The new syntax for Demetra is "method.findSuperMethods()" but it appears to work the same as the old syntax.) So if "method" was the psiMethod for class A's toString() method, an array of one PsiMethod (java.lang.Object's toString method) was returned. But this is no longer happening.
In fact, it appears that now the top level class is no longer java.lang.Object; i.e. given a method in a top-level class like "A" above,
returns null but used to return the PsiClass for java.lang.Object.
I thought all classes were supposed to extend java.lang.Object. Anybody know if this is a bug? Or has the PSI tree design been changed?