src/share/vm/oops/instanceKlass.hpp
Print this page
*** 752,761 ****
--- 752,766 ----
// subclass/subinterface checks
bool implements_interface(Klass* k) const;
bool is_same_or_direct_interface(Klass* k) const;
+ #ifdef ASSERT
+ // check whether this class or one of its superclasses was redefined
+ bool has_redefined_this_or_super() const;
+ #endif
+
// Access to the implementor of an interface.
Klass* implementor() const
{
Klass** k = adr_implementor();
if (k == NULL) {
*** 809,820 ****
void array_klasses_do(void f(Klass* k, TRAPS), TRAPS);
bool super_types_do(SuperTypeClosure* blk);
// Casting from Klass*
static InstanceKlass* cast(Klass* k) {
! assert(k->is_klass(), "must be");
! assert(k->oop_is_instance(), "cast to InstanceKlass");
return (InstanceKlass*) k;
}
InstanceKlass* java_super() const {
return (super() == NULL) ? NULL : cast(super());
--- 814,825 ----
void array_klasses_do(void f(Klass* k, TRAPS), TRAPS);
bool super_types_do(SuperTypeClosure* blk);
// Casting from Klass*
static InstanceKlass* cast(Klass* k) {
! assert(k == NULL || k->is_klass(), "must be");
! assert(k == NULL || k->oop_is_instance(), "cast to InstanceKlass");
return (InstanceKlass*) k;
}
InstanceKlass* java_super() const {
return (super() == NULL) ? NULL : cast(super());