/** Parses a {@code RuntimeInvisibleAnnotations} attribute. */ private Attribute runtimeInvisibleAnnotations( DirectClassFile cf, int offset, int length, ParseObserver observer) { if (length < 2) { throwSeverelyTruncated(); } AnnotationParser ap = new AnnotationParser(cf, offset, length, observer); Annotations annotations = ap.parseAnnotationAttribute(AnnotationVisibility.BUILD); return new AttRuntimeInvisibleAnnotations(annotations, length); }
/** Parses a {@code RuntimeVisibleParameterAnnotations} attribute. */ private Attribute runtimeVisibleParameterAnnotations( DirectClassFile cf, int offset, int length, ParseObserver observer) { if (length < 2) { throwSeverelyTruncated(); } AnnotationParser ap = new AnnotationParser(cf, offset, length, observer); AnnotationsList list = ap.parseParameterAttribute(AnnotationVisibility.RUNTIME); return new AttRuntimeVisibleParameterAnnotations(list, length); }
/** Parses an {@code AnnotationDefault} attribute. */ private Attribute annotationDefault( DirectClassFile cf, int offset, int length, ParseObserver observer) { if (length < 2) { throwSeverelyTruncated(); } AnnotationParser ap = new AnnotationParser(cf, offset, length, observer); Constant cst = ap.parseValueAttribute(); return new AttAnnotationDefault(cst, length); }