The indentiation levels are off in this block of code in classFileParser.cpp:
} else if (_major_version >= JAVA_16_VERSION) {
if (tag == vmSymbols::tag_record()) {
// Skip over Record attribute if super class is not java.lang.Record.
if (cp->klass_name_at(_super_class_index) == vmSymbols::java_lang_Record()) {
if (parsed_record_attribute) {
classfile_parse_error("Multiple Record attributes in class file %s", THREAD);
return;
}
// Check that class is final and not abstract.
if (!_access_flags.is_final() || _access_flags.is_abstract()) {
classfile_parse_error("Record attribute in non-final or abstract class file %s", THREAD);
return;
}
parsed_record_attribute = true;
record_attribute_start = cfs->current();
record_attribute_length = attribute_length;
} else if (log_is_enabled(Info, class, record)) {
ResourceMark rm(THREAD);
log_info(class, record)(
"Ignoring Record attribute in class %s because super type is not java.lang.Record",
_class_name->as_C_string());
}
}
cfs->skip_u1(attribute_length, CHECK);
} else {