| 1 21 package proguard.classfile.attribute.annotation; 22 23 import proguard.classfile.*; 24 import proguard.classfile.visitor.MemberVisitor; 25 import proguard.classfile.attribute.annotation.visitor.ElementValueVisitor; 26 27 import java.io.*; 28 29 36 public abstract class ElementValue implements VisitorAccepter 37 { 38 42 public int u2elementNameIndex; 43 44 49 public Clazz referencedClass; 50 51 56 public Method referencedMethod; 57 58 61 public Object visitorInfo; 62 63 64 67 public String getMethodName(Clazz clazz) 68 { 69 return clazz.getString(u2elementNameIndex); 70 } 71 72 73 75 78 public abstract int getTag(); 79 80 81 84 public abstract void accept(Clazz clazz, Annotation annotation, ElementValueVisitor elementValueVisitor); 85 86 87 88 91 public void referencedMethodAccept(MemberVisitor memberVisitor) 92 { 93 if (referencedMethod != null) 94 { 95 referencedMethod.accept(referencedClass, memberVisitor); 96 } 97 } 98 99 100 102 public Object getVisitorInfo() 103 { 104 return visitorInfo; 105 } 106 107 public void setVisitorInfo(Object visitorInfo) 108 { 109 this.visitorInfo = visitorInfo; 110 } 111 } 112 | Popular Tags |