1 21 package proguard.classfile.attribute; 22 23 import proguard.classfile.*; 24 import proguard.classfile.attribute.visitor.AttributeVisitor; 25 import proguard.classfile.visitor.*; 26 27 import java.io.*; 28 29 34 public class EnclosingMethodAttribute extends Attribute 35 { 36 public int u2classIndex; 37 public int u2nameAndTypeIndex; 38 39 45 public Clazz referencedClass; 46 47 53 public Method referencedMethod; 54 55 56 59 public EnclosingMethodAttribute() 60 { 61 } 62 63 64 67 public String getClassName(Clazz clazz) 68 { 69 return clazz.getClassName(u2classIndex); 70 } 71 72 75 public String getName(Clazz clazz) 76 { 77 return clazz.getName(u2nameAndTypeIndex); 78 } 79 80 83 public String getType(Clazz clazz) 84 { 85 return clazz.getType(u2nameAndTypeIndex); 86 } 87 88 89 92 public void referencedClassAccept(ClassVisitor classVisitor) 93 { 94 if (referencedClass != null) 95 { 96 referencedClass.accept(classVisitor); 97 } 98 } 99 100 101 104 public void referencedMethodAccept(MemberVisitor memberVisitor) 105 { 106 if (referencedMethod != null) 107 { 108 referencedMethod.accept(referencedClass, 109 memberVisitor); 110 } 111 } 112 113 114 116 public void accept(Clazz clazz, AttributeVisitor attributeVisitor) 117 { 118 attributeVisitor.visitEnclosingMethodAttribute(clazz, this); 119 } 120 } 121 | Popular Tags |