1 30 31 41 package jbet; 42 import java.io.*; 43 44 class CpClass extends CpEntry { 45 int nameIndex = -1; 46 String str; 47 48 public String toString() { 49 return string(); 50 } 51 52 public String string() { 53 return str; 54 } 55 56 CpClass(int i, CPInterface cp, int ni) { 57 super(i, CPInterface.CONSTANT_Class, cp); 58 nameIndex = ni; 59 } 60 61 CpClass(int i, CPInterface cp) { 62 super(i, CPInterface.CONSTANT_Class, cp); 63 } 64 65 CpClass(CPInterface cp, String s) { 66 super(cp.poolCount(), CPInterface.CONSTANT_Class, cp); 67 str = s; 68 } 69 70 void setup() throws ClassFileException { 71 if (str==null); 72 str = constantPool.cpUtf8At(nameIndex).string; 73 } 74 75 public boolean equals(Object o) { 76 if (!(o instanceof CpClass)) 77 return false; 78 return toString().equals( o.toString() ); 79 } 80 81 public int hashCode() { 82 return string().hashCode() + 1; 83 } 84 85 boolean isAnon() { 86 return Util.isAnon(string()); 87 } 88 89 void write(DataOutputStream dataOut) throws IOException { 90 dataOut.writeByte(tag); 91 dataOut.writeShort(nameIndex); 92 } 93 94 } 95 | Popular Tags |