-
Sub-task
-
Resolution: Fixed
-
P4
-
13
-
b27
the current definition of the record attribute is:
```
Record_attribute {
u2 attribute_name_index;
u4 attribute_length;
u2 components_count;
record_component_info components[components_count];
}
```
where record_component_info is:
```
record_component_info {
u2 name_index;
u2 descriptor_index;
u2 attributes_count;
attribute_info attributes[attributes_count];
}
```
If the component has a generic signature that is different from the erased descriptor, it is placed in a Signature attribute on the component, similarly as we do for field_info at present.
```
Record_attribute {
u2 attribute_name_index;
u4 attribute_length;
u2 components_count;
record_component_info components[components_count];
}
```
where record_component_info is:
```
record_component_info {
u2 name_index;
u2 descriptor_index;
u2 attributes_count;
attribute_info attributes[attributes_count];
}
```
If the component has a generic signature that is different from the erased descriptor, it is placed in a Signature attribute on the component, similarly as we do for field_info at present.
- relates to
-
JDK-8233595 JVM reflection support for records
-
- Closed
-
-
JDK-8225057 JLS changes for Records (Preview)
-
- Resolved
-
-
JDK-8246158 JVMS changes for Records (Second Preview)
-
- Resolved
-