1 21 package proguard.classfile.constant; 22 23 import proguard.classfile.*; 24 import proguard.classfile.visitor.*; 25 26 import java.io.*; 27 28 33 public abstract class RefConstant extends Constant 34 { 35 public int u2classIndex; 36 public int u2nameAndTypeIndex; 37 38 44 public Clazz referencedClass; 45 46 52 public Member referencedMember; 53 54 55 protected RefConstant() 56 { 57 } 58 59 60 63 public int getClassIndex() 64 { 65 return u2classIndex; 66 } 67 68 71 public int getNameAndTypeIndex() 72 { 73 return u2nameAndTypeIndex; 74 } 75 76 79 public void setNameAndTypeIndex(int index) 80 { 81 u2nameAndTypeIndex = index; 82 } 83 84 87 public String getClassName(Clazz clazz) 88 { 89 return clazz.getClassName(u2classIndex); 90 } 91 92 95 public String getName(Clazz clazz) 96 { 97 return clazz.getName(u2nameAndTypeIndex); 98 } 99 100 103 public String getType(Clazz clazz) 104 { 105 return clazz.getType(u2nameAndTypeIndex); 106 } 107 108 109 112 public void referencedClassAccept(ClassVisitor classVisitor) 113 { 114 if (referencedClass != null) 115 { 116 referencedClass.accept(classVisitor); 117 } 118 } 119 120 121 124 public void referencedMemberAccept(MemberVisitor memberVisitor) 125 { 126 if (referencedMember != null) 127 { 128 referencedMember.accept(referencedClass, 129 memberVisitor); 130 } 131 } 132 } 133 | Popular Tags |