/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* A writer for writing Attributes as text.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
{
return instance;
}
super(context);
}
// null checks
this.constant_pool = constant_pool;
}
}
// null checks
this.constant_pool = constant_pool;
}
}
int i = 0;
int j = 0;
print(" ");
try {
} catch (ConstantPoolException e) {
report(e);
}
print(": ");
print(" ");
j++;
if (j == 16) {
println();
print(" ");
j = 0;
} else {
print(" ");
}
i++;
}
println();
return null;
}
println("AnnotationDefault:");
indent(+1);
print("default_value: ");
indent(-1);
return null;
}
indent(+1);
indent(+1);
println("Method arguments:");
indent(+1);
}
indent(-3);
}
return null;
}
println("CharacterRangeTable:");
indent(+1);
e.flags));
tab();
print(", statement");
print(", block");
print(", assignment");
print(", flow-controller");
print(", flow-target");
print(", invoke");
print(", create");
print(", branch-true");
print(", branch-false");
println();
}
indent(-1);
return null;
}
return null;
}
return null;
}
print("Constant value: ");
else
print("ConstantValue: ");
println();
return null;
}
println("Deprecated: true");
return null;
}
tab();
println();
return null;
}
try {
} catch (ConstantPoolException e) {
return report(e);
}
}
try {
return a.getMethodName(constant_pool);
} catch (ConstantPoolException e) {
return report(e);
}
}
println("Exceptions:");
indent(+1);
print("throws ");
if (i > 0)
print(", ");
}
println();
indent(-1);
return null;
}
try {
} catch (ConstantPoolException e) {
return report(e);
}
}
boolean first = true;
first = false;
}
//access
// BUG 6622215: javap ignores certain relevant access flags
access_flags = access_flags.ignore(ACC_STATIC | ACC_PROTECTED | ACC_PRIVATE | ACC_INTERFACE | ACC_SYNTHETIC | ACC_ENUM);
// BUG 6622232: javap gets whitespace confused
print(" ");
}
if (first) {
first = false;
}
print(" ");
}
}
print("; //");
}
print(" of ");
}
println();
}
}
if (!first)
indent(-1);
return null;
}
try {
} catch (ConstantPoolException e) {
return report(e);
}
}
private void writeInnerClassHeader() {
print("InnerClass");
else
print("InnerClasses");
println(":");
indent(+1);
}
println("LineNumberTable:");
indent(+1);
}
indent(-1);
return null;
}
println("LocalVariableTable:");
indent(+1);
println("Start Length Slot Name Signature");
}
indent(-1);
return null;
}
println("LocalVariableTypeTable:");
indent(+1);
println("Start Length Slot Name Signature");
}
indent(-1);
return null;
}
println("RuntimeVisibleAnnotations:");
indent(+1);
print(i + ": ");
println();
}
indent(-1);
return null;
}
public Void visitRuntimeInvisibleAnnotations(RuntimeInvisibleAnnotations_attribute attr, Void ignore) {
println("RuntimeInvisibleAnnotations:");
indent(+1);
print(i + ": ");
println();
}
indent(-1);
return null;
}
public Void visitRuntimeVisibleParameterAnnotations(RuntimeVisibleParameterAnnotations_attribute attr, Void ignore) {
println("RuntimeVisibleParameterAnnotations:");
indent(+1);
indent(+1);
print(i + ": ");
println();
}
indent(-1);
}
indent(-1);
return null;
}
public Void visitRuntimeInvisibleParameterAnnotations(RuntimeInvisibleParameterAnnotations_attribute attr, Void ignore) {
println("RuntimeInvisibleParameterAnnotations:");
indent(+1);
indent(+1);
print(i + ": ");
println();
}
indent(-1);
}
indent(-1);
return null;
}
tab();
return null;
}
try {
} catch (ConstantPoolException e) {
return report(e);
}
}
return null;
}
return null;
}
try {
} catch (ConstantPoolException e) {
return report(e);
}
}
return null;
}
indent(+1);
StackMapTableWriter w = new StackMapTableWriter();
}
println();
indent(-1);
return null;
}
indent(+1);
StackMapTableWriter w = new StackMapTableWriter();
}
println();
indent(-1);
return null;
}
}
println(" /* same */");
return null;
}
public Void visit_same_locals_1_stack_item_frame(StackMapTable_attribute.same_locals_1_stack_item_frame frame, Void p) {
println(" /* same_locals_1_stack_item */");
indent(+1);
indent(-1);
return null;
}
public Void visit_same_locals_1_stack_item_frame_extended(StackMapTable_attribute.same_locals_1_stack_item_frame_extended frame, Void p) {
println(" /* same_locals_1_stack_item_frame_extended */");
indent(+1);
indent(-1);
return null;
}
println(" /* chop */");
indent(+1);
indent(-1);
return null;
}
println(" /* same_frame_extended */");
indent(+1);
indent(-1);
return null;
}
println(" /* append */");
return null;
}
indent(+1);
} else {
println(" /* full_frame */");
indent(+1);
}
indent(-1);
return null;
}
}
switch (tag) {
print(" ");
break;
break;
default:
}
}
println("]");
}
switch (tag) {
return "top";
return "int";
return "float";
return "long";
return "double";
return "null";
return "this";
return "CP";
return "uninitialized";
default:
}
}
}
println("Synthetic: true");
return null;
}
}
return toHex((int) b, w);
else
return toHex(b & 0xff, w);
}
}
while (s.length() < w)
s = "0" + s;
return s.toUpperCase();
}
}