< 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 >