< prev index next >
src/hotspot/share/runtime/reflection.cpp
Print this page
@@ -964,16 +964,17 @@
java_lang_reflect_Field::set_slot(rh(), fd->index());
java_lang_reflect_Field::set_name(rh(), name());
java_lang_reflect_Field::set_type(rh(), type());
// Note the ACC_ANNOTATION bit, which is a per-class access flag, is never set here.
int modifiers = fd->access_flags().as_int() & JVM_RECOGNIZED_FIELD_MODIFIERS;
+ if (fd->is_flattenable()) {
+ modifiers |= JVM_ACC_FLATTENABLE;
+ }
if (fd->is_flattened()) {
- java_lang_reflect_Field::set_modifiers(rh(), modifiers | JVM_ACC_FIELD_FLATTENED);
- } else {
- java_lang_reflect_Field::set_modifiers(rh(), modifiers);
+ modifiers |= JVM_ACC_FIELD_FLATTENED;
}
-
+ java_lang_reflect_Field::set_modifiers(rh(), modifiers);
java_lang_reflect_Field::set_override(rh(), false);
if (java_lang_reflect_Field::has_signature_field() &&
fd->has_generic_signature()) {
Symbol* gs = fd->generic_signature();
Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL);
< prev index next >