< prev index next >
src/hotspot/share/oops/instanceKlass.cpp
Print this page
rev 55090 : secret-sfac
@@ -1432,11 +1432,11 @@
static int call_class_initializer_counter = 0; // for debugging
Method* InstanceKlass::class_initializer() const {
Method* clinit = find_method(
vmSymbols::class_initializer_name(), vmSymbols::void_method_signature());
- if (clinit != NULL && clinit->has_valid_initializer_flags()) {
+ if (clinit != NULL && clinit->is_class_initializer()) {
return clinit;
}
return NULL;
}
@@ -1911,10 +1911,13 @@
find_static,
private_mode);
if (method != NULL) {
return method;
}
+ if (name == vmSymbols::object_initializer_name()) {
+ break; // <init> is never inherited, not even as a static factory
+ }
klass = klass->super();
overpass_local_mode = skip_overpass; // Always ignore overpass methods in superclasses
}
return NULL;
}
< prev index next >