src/share/vm/oops/instanceKlass.hpp
Print this page
@@ -752,10 +752,15 @@
// 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,12 +814,12 @@
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");
+ 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());