1 package com.sun.org.apache.bcel.internal.classfile; 2 3 56 57 import com.sun.org.apache.bcel.internal.Constants; 58 import java.io.*; 59 60 70 public final class ConstantNameAndType extends Constant { 71 private int name_index; private int signature_index; 74 77 public ConstantNameAndType(ConstantNameAndType c) { 78 this(c.getNameIndex(), c.getSignatureIndex()); 79 } 80 81 87 ConstantNameAndType(DataInputStream file) throws IOException 88 { 89 this((int)file.readUnsignedShort(), (int)file.readUnsignedShort()); 90 } 91 92 96 public ConstantNameAndType(int name_index, 97 int signature_index) 98 { 99 super(Constants.CONSTANT_NameAndType); 100 this.name_index = name_index; 101 this.signature_index = signature_index; 102 } 103 104 111 public void accept(Visitor v) { 112 v.visitConstantNameAndType(this); 113 } 114 115 121 public final void dump(DataOutputStream file) throws IOException 122 { 123 file.writeByte(tag); 124 file.writeShort(name_index); 125 file.writeShort(signature_index); 126 } 127 128 131 public final int getNameIndex() { return name_index; } 132 133 135 public final String getName(ConstantPool cp) { 136 return cp.constantToString(getNameIndex(), Constants.CONSTANT_Utf8); 137 } 138 139 142 public final int getSignatureIndex() { return signature_index; } 143 144 146 public final String getSignature(ConstantPool cp) { 147 return cp.constantToString(getSignatureIndex(), Constants.CONSTANT_Utf8); 148 } 149 150 153 public final void setNameIndex(int name_index) { 154 this.name_index = name_index; 155 } 156 157 160 public final void setSignatureIndex(int signature_index) { 161 this.signature_index = signature_index; 162 } 163 164 167 public final String toString() { 168 return super.toString() + "(name_index = " + name_index + 169 ", signature_index = " + signature_index + ")"; 170 } 171 } 172 | Popular Tags |