1.1 --- a/src/share/classes/com/sun/tools/javap/AttributeWriter.java Fri Dec 28 22:25:21 2012 -0800 1.2 +++ b/src/share/classes/com/sun/tools/javap/AttributeWriter.java Sat Dec 29 17:33:17 2012 -0800 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -46,6 +46,7 @@ 1.11 import com.sun.tools.classfile.LineNumberTable_attribute; 1.12 import com.sun.tools.classfile.LocalVariableTable_attribute; 1.13 import com.sun.tools.classfile.LocalVariableTypeTable_attribute; 1.14 +import com.sun.tools.classfile.MethodParameters_attribute; 1.15 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute; 1.16 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute; 1.17 import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute; 1.18 @@ -386,6 +387,28 @@ 1.19 return null; 1.20 } 1.21 1.22 + private static final String format = "%-31s%s"; 1.23 + 1.24 + public Void visitMethodParameters(MethodParameters_attribute attr, 1.25 + Void ignore) { 1.26 + 1.27 + final String header = String.format(format, "Name", "Flags"); 1.28 + println("MethodParameters:"); 1.29 + indent(+1); 1.30 + println(header); 1.31 + for (MethodParameters_attribute.Entry entry : 1.32 + attr.method_parameter_table) { 1.33 + String flagstr = 1.34 + (0 != (entry.flags & ACC_FINAL) ? " final" : "") + 1.35 + (0 != (entry.flags & ACC_SYNTHETIC) ? " synthetic" : ""); 1.36 + println(String.format(format, 1.37 + constantWriter.stringValue(entry.name_index), 1.38 + flagstr)); 1.39 + } 1.40 + indent(-1); 1.41 + return null; 1.42 + } 1.43 + 1.44 public Void visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, Void ignore) { 1.45 println("RuntimeVisibleAnnotations:"); 1.46 indent(+1);