javap/src/main/java/sun/tools/javap/ClassData.java
branchjavap
changeset 152 2cda429aeb49
parent 151 40f95fe90cdc
child 157 0d8b472b9047
     1.1 --- a/javap/src/main/java/sun/tools/javap/ClassData.java	Sun Nov 11 13:23:52 2012 +0100
     1.2 +++ b/javap/src/main/java/sun/tools/javap/ClassData.java	Mon Nov 12 00:07:34 2012 +0100
     1.3 @@ -373,9 +373,16 @@
     1.4      /**
     1.5       * Returns list of attributes.
     1.6       */
     1.7 -    public AttrData[] getAttributes(){
     1.8 +    final AttrData[] getAttributes(){
     1.9          return attrs;
    1.10      }
    1.11 +    
    1.12 +    public byte[] findAnnotationData(boolean classRetention) {
    1.13 +        String n = classRetention ?
    1.14 +            "RuntimeInvisibleAnnotations" : // NOI18N
    1.15 +            "RuntimeVisibleAnnotations"; // NOI18N
    1.16 +        return findAttr(n, attrs);
    1.17 +    }
    1.18  
    1.19      /**
    1.20       * Returns true if superbit is set.
    1.21 @@ -695,4 +702,13 @@
    1.22          arr[0] = getClassName(c2.cpx1);
    1.23          return getNameAndType(c2.cpx2, 1, arr);
    1.24      }
    1.25 +
    1.26 +    static byte[] findAttr(String n, AttrData[] attrs) {
    1.27 +        for (AttrData ad : attrs) {
    1.28 +            if (n.equals(ad.getAttrName())) {
    1.29 +                return ad.getData();
    1.30 +            }
    1.31 +        }
    1.32 +        return null;
    1.33 +    }
    1.34  }