1 /* |
1 /* |
2 * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
44 import com.sun.tools.classfile.Exceptions_attribute; |
44 import com.sun.tools.classfile.Exceptions_attribute; |
45 import com.sun.tools.classfile.InnerClasses_attribute; |
45 import com.sun.tools.classfile.InnerClasses_attribute; |
46 import com.sun.tools.classfile.LineNumberTable_attribute; |
46 import com.sun.tools.classfile.LineNumberTable_attribute; |
47 import com.sun.tools.classfile.LocalVariableTable_attribute; |
47 import com.sun.tools.classfile.LocalVariableTable_attribute; |
48 import com.sun.tools.classfile.LocalVariableTypeTable_attribute; |
48 import com.sun.tools.classfile.LocalVariableTypeTable_attribute; |
|
49 import com.sun.tools.classfile.MethodParameters_attribute; |
49 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute; |
50 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute; |
50 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute; |
51 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute; |
51 import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute; |
52 import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute; |
52 import com.sun.tools.classfile.RuntimeVisibleParameterAnnotations_attribute; |
53 import com.sun.tools.classfile.RuntimeVisibleParameterAnnotations_attribute; |
53 import com.sun.tools.classfile.Signature_attribute; |
54 import com.sun.tools.classfile.Signature_attribute; |
384 } |
385 } |
385 indent(-1); |
386 indent(-1); |
386 return null; |
387 return null; |
387 } |
388 } |
388 |
389 |
|
390 private static final String format = "%-31s%s"; |
|
391 |
|
392 public Void visitMethodParameters(MethodParameters_attribute attr, |
|
393 Void ignore) { |
|
394 |
|
395 final String header = String.format(format, "Name", "Flags"); |
|
396 println("MethodParameters:"); |
|
397 indent(+1); |
|
398 println(header); |
|
399 for (MethodParameters_attribute.Entry entry : |
|
400 attr.method_parameter_table) { |
|
401 String flagstr = |
|
402 (0 != (entry.flags & ACC_FINAL) ? " final" : "") + |
|
403 (0 != (entry.flags & ACC_SYNTHETIC) ? " synthetic" : ""); |
|
404 println(String.format(format, |
|
405 constantWriter.stringValue(entry.name_index), |
|
406 flagstr)); |
|
407 } |
|
408 indent(-1); |
|
409 return null; |
|
410 } |
|
411 |
389 public Void visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, Void ignore) { |
412 public Void visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, Void ignore) { |
390 println("RuntimeVisibleAnnotations:"); |
413 println("RuntimeVisibleAnnotations:"); |
391 indent(+1); |
414 indent(+1); |
392 for (int i = 0; i < attr.annotations.length; i++) { |
415 for (int i = 0; i < attr.annotations.length; i++) { |
393 print(i + ": "); |
416 print(i + ": "); |