src/share/vm/oops/instanceKlass.cpp

Print this page

        

*** 1477,1486 **** --- 1477,1501 ---- dont_ignore_overpasses = false; // Ignore overpass methods in all superclasses. } return NULL; } + #ifdef ASSERT + // search through class hierarchy and return true if this class or + // one of the superclasses was redefined + bool InstanceKlass::has_redefined_this_or_super() const { + const InstanceKlass* klass = this; + while (klass != NULL) { + if (klass->has_been_redefined()) { + return true; + } + klass = InstanceKlass::cast(klass->super()); + } + return false; + } + #endif + // lookup a method in the default methods list then in all transitive interfaces // Do NOT return private or static methods Method* InstanceKlass::lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const { Method* m = NULL;