< prev index next >

src/jdk.jdeps/share/classes/com/sun/tools/javap/AttributeWriter.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 33,42 **** --- 33,43 ---- import com.sun.tools.classfile.CharacterRangeTable_attribute; import com.sun.tools.classfile.CharacterRangeTable_attribute.Entry; import com.sun.tools.classfile.Code_attribute; import com.sun.tools.classfile.CompilationID_attribute; import com.sun.tools.classfile.ConstantPool; + import com.sun.tools.classfile.ConstantPool.CONSTANT_Class_info; import com.sun.tools.classfile.ConstantPoolException; import com.sun.tools.classfile.ConstantValue_attribute; import com.sun.tools.classfile.DefaultAttribute; import com.sun.tools.classfile.Deprecated_attribute; import com.sun.tools.classfile.EnclosingMethod_attribute;
*** 51,60 **** --- 52,63 ---- import com.sun.tools.classfile.ModuleHashes_attribute; import com.sun.tools.classfile.ModuleMainClass_attribute; import com.sun.tools.classfile.ModulePackages_attribute; import com.sun.tools.classfile.ModuleResolution_attribute; import com.sun.tools.classfile.ModuleTarget_attribute; + import com.sun.tools.classfile.NestHost_attribute; + import com.sun.tools.classfile.NestMembers_attribute; import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute; import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute; import com.sun.tools.classfile.RuntimeInvisibleTypeAnnotations_attribute; import com.sun.tools.classfile.RuntimeParameterAnnotations_attribute; import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute;
*** 395,404 **** --- 398,415 ---- } indent(-1); return null; } + @Override + public Void visitNestHost(NestHost_attribute attr, Void aVoid) { + print("NestHost: "); + constantWriter.write(attr.top_index); + println(); + return null; + } + private String getJavaClassName(ModuleMainClass_attribute a) { try { return getJavaName(a.getMainClassName(constant_pool)); } catch (ConstantPoolException e) { return report(e);
*** 685,694 **** --- 696,721 ---- return report(e); } } @Override + public Void visitNestMembers(NestMembers_attribute attr, Void aVoid) { + println("NestMembers:"); + indent(+1); + try { + CONSTANT_Class_info[] children = attr.getChildren(constant_pool); + for (int i = 0; i < attr.members_indexes.length; i++) { + println(constantWriter.stringValue(children[i])); + } + indent(-1); + } catch (ConstantPoolException ex) { + throw new AssertionError(ex); + } + return null; + } + + @Override public Void visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, Void ignore) { println("RuntimeVisibleAnnotations:"); indent(+1); for (int i = 0; i < attr.annotations.length; i++) { print(i + ": ");
< prev index next >