1 21 package proguard.classfile.attribute.annotation; 22 23 import proguard.classfile.*; 24 import proguard.classfile.attribute.annotation.visitor.ElementValueVisitor; 25 import proguard.classfile.visitor.ClassVisitor; 26 27 32 public class Annotation implements VisitorAccepter 33 { 34 public int u2typeIndex; 35 public int u2elementValuesCount; 36 public ElementValue[] elementValues; 37 38 45 public Clazz[] referencedClasses; 46 47 50 public Object visitorInfo; 51 52 53 56 public String getType(Clazz clazz) 57 { 58 return clazz.getString(u2typeIndex); 59 } 60 61 62 63 67 public void referencedClassAccept(ClassVisitor classVisitor) 68 { 69 if (referencedClasses != null) 70 { 71 Clazz referencedClass = referencedClasses[0]; 72 if (referencedClass != null) 73 { 74 referencedClass.accept(classVisitor); 75 } 76 } 77 } 78 79 80 83 public void referencedClassesAccept(ClassVisitor classVisitor) 84 { 85 if (referencedClasses != null) 86 { 87 for (int index = 0; index < referencedClasses.length; index++) 88 { 89 Clazz referencedClass = referencedClasses[index]; 90 if (referencedClass != null) 91 { 92 referencedClass.accept(classVisitor); 93 } 94 } 95 } 96 } 97 98 99 102 public void elementValuesAccept(Clazz clazz, ElementValueVisitor elementValueVisitor) 103 { 104 for (int index = 0; index < u2elementValuesCount; index++) 105 { 106 elementValues[index].accept(clazz, this, elementValueVisitor); 107 } 108 } 109 110 111 113 public Object getVisitorInfo() 114 { 115 return visitorInfo; 116 } 117 118 public void setVisitorInfo(Object visitorInfo) 119 { 120 this.visitorInfo = visitorInfo; 121 } 122 } 123
| Popular Tags
|