Details
-
Type:
Sub-task
-
Status: Resolved
-
Priority:
P4
-
Resolution: Fixed
-
Affects Version/s: 13
-
Fix Version/s: 14
-
Component/s: specification
-
Labels:
-
Subcomponent:
-
Resolved In Build:b27
Description
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.
Attachments
Issue Links
- 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
-