Package edu.umd.cs.findbugs.visitclass
Class AnnotationVisitor
- java.lang.Object
-
- edu.umd.cs.findbugs.visitclass.BetterVisitor
-
- edu.umd.cs.findbugs.visitclass.PreorderVisitor
-
- edu.umd.cs.findbugs.visitclass.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 Summary
Constructors Constructor Description AnnotationVisitor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static java.lang.String
getAnnotationParameterAsString(java.util.Map<java.lang.String,org.apache.bcel.classfile.ElementValue> map, java.lang.String parameter)
protected static java.lang.String[]
getAnnotationParameterAsStringArray(java.util.Map<java.lang.String,org.apache.bcel.classfile.ElementValue> map, java.lang.String parameter)
void
visitAnnotation(java.lang.String annotationClass, java.util.Map<java.lang.String,org.apache.bcel.classfile.ElementValue> map, boolean runtimeVisible)
Visit annotation on a class, field or methodvoid
visitAnnotation(org.apache.bcel.classfile.Annotations arg0)
void
visitParameterAnnotation(int p, java.lang.String annotationClass, java.util.Map<java.lang.String,org.apache.bcel.classfile.ElementValue> map, boolean runtimeVisible)
Visit annotation on a method parametervoid
visitParameterAnnotation(org.apache.bcel.classfile.ParameterAnnotations arg0)
void
visitSyntheticParameterAnnotation(int p, boolean runtimeVisible)
-
Methods inherited from class edu.umd.cs.findbugs.visitclass.PreorderVisitor
amVisitingMainMethod, asUnsignedByte, doVisitMethod, getClassDescriptor, getClassName, getCode, getConstantPool, getDottedClassName, getDottedFieldSig, getDottedMethodSig, getDottedSuperclassName, getField, getFieldDescriptor, getFieldIsStatic, getFieldName, getFieldSig, getFullyQualifiedFieldName, getFullyQualifiedMethodName, getMethod, getMethodDescriptor, getMethodName, getMethodSig, getMethodVisitOrder, getNumberArguments, getNumberMethodArguments, getPackageName, getSizeOfSurroundingTryBlock, getSizeOfSurroundingTryBlock, getSourceFile, getStringFromIndex, getSuperclassName, getSurroundingCaughtExceptions, getSurroundingCaughtExceptions, getSurroundingTryBlock, getSurroundingTryBlock, getThisClass, getXClass, getXField, getXMethod, hasInterestingClass, hasInterestingMethod, isVisitMethodsInCallOrder, setupVisitorForClass, setVisitMethodsInCallOrder, shouldVisit, toString, visitAfter, visitAfter, visitAnnotationDefault, visitAnnotationEntry, visitBootstrapMethods, visitCode, visitConstantInvokeDynamic, visitConstantMethodHandle, visitConstantMethodType, visitConstantModule, visitConstantPackage, visitConstantPool, visitEnclosingMethod, visitingField, visitingMethod, visitInnerClasses, visitJavaClass, visitLineNumberTable, visitLocalVariableTable, visitMethodParameters, visitParameterAnnotationEntry, visitStackMap, visitStackMapEntry
-
Methods inherited from class edu.umd.cs.findbugs.visitclass.BetterVisitor
clone, report, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitCodeException, visitConstantClass, visitConstantDouble, visitConstantFieldref, visitConstantFloat, visitConstantInteger, visitConstantInterfaceMethodref, visitConstantLong, visitConstantMethodref, visitConstantNameAndType, visitConstantString, visitConstantUtf8, visitConstantValue, visitDeprecated, visitExceptionTable, visitField, visitInnerClass, visitLineNumber, visitLocalVariable, visitLocalVariableTypeTable, visitMethod, visitSignature, visitSourceFile, visitSynthetic, visitUnknown
-
-
-
-
Method Detail
-
visitAnnotation
public void visitAnnotation(@DottedClassName java.lang.String annotationClass, java.util.Map<java.lang.String,org.apache.bcel.classfile.ElementValue> map, boolean runtimeVisible)
Visit annotation on a class, field or method- Parameters:
annotationClass
- class of annotationmap
- map from names to valuesruntimeVisible
- true if annotation is runtime visible
-
getAnnotationParameterAsString
protected static java.lang.String getAnnotationParameterAsString(java.util.Map<java.lang.String,org.apache.bcel.classfile.ElementValue> map, java.lang.String parameter)
-
getAnnotationParameterAsStringArray
@CheckForNull protected static java.lang.String[] getAnnotationParameterAsStringArray(java.util.Map<java.lang.String,org.apache.bcel.classfile.ElementValue> map, java.lang.String parameter)
-
visitParameterAnnotation
public void visitParameterAnnotation(int p, @DottedClassName java.lang.String annotationClass, java.util.Map<java.lang.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 annotationmap
- map from names to valuesruntimeVisible
- 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 interfaceorg.apache.bcel.classfile.Visitor
- Overrides:
visitParameterAnnotation
in classPreorderVisitor
-
visitAnnotation
public void visitAnnotation(org.apache.bcel.classfile.Annotations arg0)
- Specified by:
visitAnnotation
in interfaceorg.apache.bcel.classfile.Visitor
- Overrides:
visitAnnotation
in classPreorderVisitor
-
-