8006345: Report Synthesized Parameters in java.lang.reflect.Parameter API

8006896: ClassReader doesn't see MethodParameters attr for method of anon inner class
8007098: Output Synthesized Parameters to MethodParameters Attributes

Correctly report synthesized and mandated parameters

Reviewed-by: mcimadamore, jjg
This commit is contained in:
Eric Mccorkle 2013-02-13 17:04:21 +00:00 committed by Maurizio Cimadamore
parent 14c0c8eed8
commit 8ccde1a96e
7 changed files with 93 additions and 36 deletions

View file

@ -400,12 +400,14 @@ public class AttributeWriter extends BasicWriter
println(header);
for (MethodParameters_attribute.Entry entry :
attr.method_parameter_table) {
String namestr =
entry.name_index != 0 ?
constantWriter.stringValue(entry.name_index) : "<no name>";
String flagstr =
(0 != (entry.flags & ACC_FINAL) ? " final" : "") +
(0 != (entry.flags & ACC_SYNTHETIC) ? " synthetic" : "");
println(String.format(format,
constantWriter.stringValue(entry.name_index),
flagstr));
(0 != (entry.flags & ACC_FINAL) ? "final " : "") +
(0 != (entry.flags & ACC_MANDATED) ? "mandated " : "") +
(0 != (entry.flags & ACC_SYNTHETIC) ? "synthetic" : "");
println(String.format(format, namestr, flagstr));
}
indent(-1);
return null;