00001 package de.fub.bytecode.classfile;
00002
00003 import de.fub.bytecode.Constants;
00004 import java.io.*;
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 public final class ConstantClass extends Constant {
00016 private int name_index;
00017
00018
00019
00020
00021 public ConstantClass(int name_index) {
00022 super(CONSTANT_Class);
00023 this.name_index = name_index;
00024 }
00025
00026
00027
00028 public ConstantClass(ConstantClass c) {
00029 this(c.getNameIndex());
00030 }
00031
00032
00033
00034
00035
00036
00037 ConstantClass(DataInputStream file) throws IOException
00038 {
00039 this(file.readUnsignedShort());
00040 }
00041
00042
00043
00044
00045
00046
00047
00048 public void accept(Visitor v) {
00049 v.visitConstantClass(this);
00050 }
00051
00052
00053
00054
00055
00056
00057 public final void dump(DataOutputStream file) throws IOException
00058 {
00059 file.writeByte(tag);
00060 file.writeShort(name_index);
00061 }
00062
00063
00064
00065 public final int getNameIndex() { return name_index; }
00066
00067
00068
00069 public final void setNameIndex(int name_index) {
00070 this.name_index = name_index;
00071 }
00072
00073
00074
00075 public final String toString() {
00076 return super.toString() + "(name_index = " + name_index + ")";
00077 }
00078 }