1 19 20 25 26 package soot.tagkit; 27 import soot.*; 28 import java.util.*; 29 30 35 36 public class VisibilityParameterAnnotationTag implements Tag 37 { 38 39 private int num_params; 40 private int kind; 41 private ArrayList visibilityAnnotations; 42 43 public VisibilityParameterAnnotationTag(int num, int kind){ 44 this.num_params = num; 45 this.kind = kind; 46 } 47 48 public String toString() { 50 StringBuffer sb = new StringBuffer ("Visibility Param Annotation: num params: "+num_params+" kind: "+kind); 51 if (visibilityAnnotations != null){ 52 Iterator it = visibilityAnnotations.iterator(); 53 while (it.hasNext()){ 54 sb.append("\n"); 55 sb.append(((VisibilityAnnotationTag)it.next()).toString()); 56 } 57 } 58 sb.append("\n"); 59 return sb.toString(); 60 } 61 62 63 public String getName() { 64 return "VisibilityParameterAnnotationTag"; 65 } 66 67 public String getInfo(){ 68 return "VisibilityParameterAnnotation"; 69 } 70 71 72 public byte[] getValue() { 73 throw new RuntimeException ( "VisibilityParameterAnnotationTag has no value for bytecode" ); 74 } 75 76 public void addVisibilityAnnotation(VisibilityAnnotationTag a){ 77 if (visibilityAnnotations == null){ 78 visibilityAnnotations = new ArrayList(); 79 } 80 visibilityAnnotations.add(a); 81 } 82 83 public ArrayList getVisibilityAnnotations(){ 84 return visibilityAnnotations; 85 } 86 87 public int getKind(){ 88 return kind; 89 } 90 } 91 92 | Popular Tags |