equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2007, 2018, 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 |
33 import com.sun.tools.classfile.CharacterRangeTable_attribute; |
33 import com.sun.tools.classfile.CharacterRangeTable_attribute; |
34 import com.sun.tools.classfile.CharacterRangeTable_attribute.Entry; |
34 import com.sun.tools.classfile.CharacterRangeTable_attribute.Entry; |
35 import com.sun.tools.classfile.Code_attribute; |
35 import com.sun.tools.classfile.Code_attribute; |
36 import com.sun.tools.classfile.CompilationID_attribute; |
36 import com.sun.tools.classfile.CompilationID_attribute; |
37 import com.sun.tools.classfile.ConstantPool; |
37 import com.sun.tools.classfile.ConstantPool; |
|
38 import com.sun.tools.classfile.ConstantPool.CONSTANT_Class_info; |
38 import com.sun.tools.classfile.ConstantPoolException; |
39 import com.sun.tools.classfile.ConstantPoolException; |
39 import com.sun.tools.classfile.ConstantValue_attribute; |
40 import com.sun.tools.classfile.ConstantValue_attribute; |
40 import com.sun.tools.classfile.DefaultAttribute; |
41 import com.sun.tools.classfile.DefaultAttribute; |
41 import com.sun.tools.classfile.Deprecated_attribute; |
42 import com.sun.tools.classfile.Deprecated_attribute; |
42 import com.sun.tools.classfile.EnclosingMethod_attribute; |
43 import com.sun.tools.classfile.EnclosingMethod_attribute; |
51 import com.sun.tools.classfile.ModuleHashes_attribute; |
52 import com.sun.tools.classfile.ModuleHashes_attribute; |
52 import com.sun.tools.classfile.ModuleMainClass_attribute; |
53 import com.sun.tools.classfile.ModuleMainClass_attribute; |
53 import com.sun.tools.classfile.ModulePackages_attribute; |
54 import com.sun.tools.classfile.ModulePackages_attribute; |
54 import com.sun.tools.classfile.ModuleResolution_attribute; |
55 import com.sun.tools.classfile.ModuleResolution_attribute; |
55 import com.sun.tools.classfile.ModuleTarget_attribute; |
56 import com.sun.tools.classfile.ModuleTarget_attribute; |
|
57 import com.sun.tools.classfile.NestHost_attribute; |
|
58 import com.sun.tools.classfile.NestMembers_attribute; |
56 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute; |
59 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute; |
57 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute; |
60 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute; |
58 import com.sun.tools.classfile.RuntimeInvisibleTypeAnnotations_attribute; |
61 import com.sun.tools.classfile.RuntimeInvisibleTypeAnnotations_attribute; |
59 import com.sun.tools.classfile.RuntimeParameterAnnotations_attribute; |
62 import com.sun.tools.classfile.RuntimeParameterAnnotations_attribute; |
60 import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute; |
63 import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute; |
395 } |
398 } |
396 indent(-1); |
399 indent(-1); |
397 return null; |
400 return null; |
398 } |
401 } |
399 |
402 |
|
403 @Override |
|
404 public Void visitNestHost(NestHost_attribute attr, Void aVoid) { |
|
405 print("NestHost: "); |
|
406 constantWriter.write(attr.top_index); |
|
407 println(); |
|
408 return null; |
|
409 } |
|
410 |
400 private String getJavaClassName(ModuleMainClass_attribute a) { |
411 private String getJavaClassName(ModuleMainClass_attribute a) { |
401 try { |
412 try { |
402 return getJavaName(a.getMainClassName(constant_pool)); |
413 return getJavaName(a.getMainClassName(constant_pool)); |
403 } catch (ConstantPoolException e) { |
414 } catch (ConstantPoolException e) { |
404 return report(e); |
415 return report(e); |
682 try { |
693 try { |
683 return constant_pool.getUTF8Value(attr.target_platform_index); |
694 return constant_pool.getUTF8Value(attr.target_platform_index); |
684 } catch (ConstantPoolException e) { |
695 } catch (ConstantPoolException e) { |
685 return report(e); |
696 return report(e); |
686 } |
697 } |
|
698 } |
|
699 |
|
700 @Override |
|
701 public Void visitNestMembers(NestMembers_attribute attr, Void aVoid) { |
|
702 println("NestMembers:"); |
|
703 indent(+1); |
|
704 try { |
|
705 CONSTANT_Class_info[] children = attr.getChildren(constant_pool); |
|
706 for (int i = 0; i < attr.members_indexes.length; i++) { |
|
707 println(constantWriter.stringValue(children[i])); |
|
708 } |
|
709 indent(-1); |
|
710 } catch (ConstantPoolException ex) { |
|
711 throw new AssertionError(ex); |
|
712 } |
|
713 return null; |
687 } |
714 } |
688 |
715 |
689 @Override |
716 @Override |
690 public Void visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, Void ignore) { |
717 public Void visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, Void ignore) { |
691 println("RuntimeVisibleAnnotations:"); |
718 println("RuntimeVisibleAnnotations:"); |