1 19 20 25 26 package soot.tagkit; 27 import soot.*; 28 import java.util.*; 29 30 35 36 public class VisibilityAnnotationTag implements Tag 37 { 38 39 private int visibility; 40 private ArrayList annotations; 41 42 public VisibilityAnnotationTag(int vis){ 43 this.visibility = vis; 44 } 45 46 public String toString() { 48 StringBuffer sb = new StringBuffer ("Visibility Annotation: level: "+(visibility == AnnotationConstants.RUNTIME_VISIBLE ? " runtime visible" : " runtime invisible") +"\n Annotations: "); 49 if (annotations != null){ 50 Iterator it = annotations.iterator(); 51 while (it.hasNext()){ 52 sb.append("\n"); 53 sb.append(((AnnotationTag)it.next()).toString()); 54 } 55 } 56 sb.append("\n"); 57 return sb.toString(); 58 } 59 60 61 public String getName() { 62 return "VisibilityAnnotationTag"; 63 } 64 65 public String getInfo(){ 66 return "VisibilityAnnotation"; 67 } 68 69 public int getVisibility(){ 70 return visibility; 71 } 72 73 74 public byte[] getValue() { 75 throw new RuntimeException ( "VisibilityAnnotationTag has no value for bytecode" ); 76 } 77 78 public void addAnnotation(AnnotationTag a){ 79 if (annotations == null){ 80 annotations = new ArrayList(); 81 } 82 annotations.add(a); 83 } 84 85 public ArrayList getAnnotations(){ 86 return annotations; 87 } 88 89 public boolean hasAnnotations(){ 90 return annotations == null ? false : true; 91 } 92 } 93 94 | Popular Tags |