473 // The modifier for an objectArray is the same as its element |
473 // The modifier for an objectArray is the same as its element |
474 if (element_klass() == NULL) { |
474 if (element_klass() == NULL) { |
475 assert(Universe::is_bootstrapping(), "partial objArray only at startup"); |
475 assert(Universe::is_bootstrapping(), "partial objArray only at startup"); |
476 return JVM_ACC_ABSTRACT | JVM_ACC_FINAL | JVM_ACC_PUBLIC; |
476 return JVM_ACC_ABSTRACT | JVM_ACC_FINAL | JVM_ACC_PUBLIC; |
477 } |
477 } |
478 // Recurse down the element list |
478 // Return the flags of the bottom element type. |
479 jint element_flags = Klass::cast(element_klass())->compute_modifier_flags(CHECK_0); |
479 jint element_flags = Klass::cast(bottom_klass())->compute_modifier_flags(CHECK_0); |
480 |
480 |
481 return (element_flags & (JVM_ACC_PUBLIC | JVM_ACC_PRIVATE | JVM_ACC_PROTECTED)) |
481 return (element_flags & (JVM_ACC_PUBLIC | JVM_ACC_PRIVATE | JVM_ACC_PROTECTED)) |
482 | (JVM_ACC_ABSTRACT | JVM_ACC_FINAL); |
482 | (JVM_ACC_ABSTRACT | JVM_ACC_FINAL); |
483 } |
483 } |
484 |
484 |