Class AnnotationVisitor

All Implemented Interfaces:
org.apache.bcel.classfile.Visitor
Direct Known Subclasses:
AnnotationDetector, BuildCheckReturnAnnotationDatabase, BuildNonNullAnnotationDatabase, DismantleBytecode, NoteAnnotationRetention, NoteJCIPAnnotation, NoteSuppressedWarnings

public class AnnotationVisitor extends PreorderVisitor
Subclass of PreorderVisitor that visits annotations on classes, fields, methods, and method parameters.
Author:
William Pugh
  • Constructor Details

    • AnnotationVisitor

      public AnnotationVisitor()
  • Method Details

    • visitAnnotation

      public void visitAnnotation(@DottedClassName String annotationClass, Map<String,org.apache.bcel.classfile.ElementValue> map, boolean runtimeVisible)
      Visit annotation on a class, field or method
      Parameters:
      annotationClass - class of annotation
      map - map from names to values
      runtimeVisible - true if annotation is runtime visible
    • getAnnotationParameterAsString

      protected static String getAnnotationParameterAsString(Map<String,org.apache.bcel.classfile.ElementValue> map, String parameter)
    • getAnnotationParameterAsStringArray

      @CheckForNull protected static String[] getAnnotationParameterAsStringArray(Map<String,org.apache.bcel.classfile.ElementValue> map, String parameter)
    • visitParameterAnnotation

      public void visitParameterAnnotation(int p, @DottedClassName String annotationClass, Map<String,org.apache.bcel.classfile.ElementValue> map, boolean runtimeVisible)
      Visit annotation on a method parameter
      Parameters:
      p - parameter number, starting at zero ("this" parameter is not counted)
      annotationClass - class of annotation
      map - map from names to values
      runtimeVisible - true if annotation is runtime visible
    • visitSyntheticParameterAnnotation

      public void visitSyntheticParameterAnnotation(int p, boolean runtimeVisible)
    • visitParameterAnnotation

      public void visitParameterAnnotation(org.apache.bcel.classfile.ParameterAnnotations arg0)
      Specified by:
      visitParameterAnnotation in interface org.apache.bcel.classfile.Visitor
      Overrides:
      visitParameterAnnotation in class PreorderVisitor
    • visitAnnotation

      public void visitAnnotation(org.apache.bcel.classfile.Annotations arg0)
      Specified by:
      visitAnnotation in interface org.apache.bcel.classfile.Visitor
      Overrides:
      visitAnnotation in class PreorderVisitor