public class JVMAnnotationParser extends ClassFileReaderAdapter implements AnnotationParser
Modifier and Type | Field and Description |
---|---|
protected java.util.LinkedList<AnnotationInfo> |
annotationStack |
protected AnnotationInfo |
curAi |
protected java.util.LinkedList<java.lang.Object[]> |
valuesStack |
Constructor and Description |
---|
JVMAnnotationParser(ClassFile cf) |
Modifier and Type | Method and Description |
---|---|
void |
parse(AnnotationInfo ai) |
void |
setAnnotation(ClassFile cf,
java.lang.Object tag,
int annotationIndex,
java.lang.String annotationType) |
void |
setAnnotationFieldValue(ClassFile cf,
java.lang.Object tag,
int annotationIndex,
int valueIndex,
java.lang.String elementName,
int arrayIndex) |
void |
setAnnotationValueElementCount(ClassFile cf,
java.lang.Object tag,
int annotationIndex,
int valueIndex,
java.lang.String elementName,
int elementCount) |
void |
setAnnotationValueElementsDone(ClassFile cf,
java.lang.Object tag,
int annotationIndex,
int valueIndex,
java.lang.String elementName) |
void |
setClass(ClassFile cf,
java.lang.String clsName,
java.lang.String superClsName,
int flags,
int cpCount) |
void |
setClassAnnotationValue(ClassFile cf,
java.lang.Object tag,
int annotationIndex,
int valueIndex,
java.lang.String elementName,
int arrayIndex,
java.lang.String typeName) |
void |
setClassAttribute(ClassFile cf,
int attrIndex,
java.lang.String name,
int attrLength) |
void |
setEnumAnnotationValue(ClassFile cf,
java.lang.Object tag,
int annotationIndex,
int valueIndex,
java.lang.String elementName,
int arrayIndex,
java.lang.String enumType,
java.lang.String enumValue) |
void |
setInterface(ClassFile cf,
int ifcIndex,
java.lang.String ifcName) |
void |
setMethod(ClassFile cf,
int methodIndex,
int accessFlags,
java.lang.String name,
java.lang.String descriptor) |
void |
setMethodAttribute(ClassFile cf,
int methodIndex,
int attrIndex,
java.lang.String name,
int attrLength) |
void |
setMethodCount(ClassFile cf,
int methodCount) |
void |
setMethodDone(ClassFile cf,
int methodIndex) |
void |
setMethodsDone(ClassFile cf) |
void |
setPrimitiveAnnotationValue(ClassFile cf,
java.lang.Object tag,
int annotationIndex,
int valueIndex,
java.lang.String elementName,
int arrayIndex,
java.lang.Object val) |
void |
setStringAnnotationValue(ClassFile cf,
java.lang.Object tag,
int annotationIndex,
int valueIndex,
java.lang.String elementName,
int arrayIndex,
java.lang.String val) |
setAnnotationCount, setAnnotationsDone, setAnnotationValueCount, setAnnotationValuesDone, setBootstrapMethod, setBootstrapMethodCount, setBootstrapMethodsDone, setBytecodeAnnotation, setBytecodeTypeParameterAnnotation, setClassAttributeCount, setClassAttributesDone, setCode, setCodeAttribute, setCodeAttributeCount, setCodeAttributesDone, setConstantValue, setEnclosingMethod, setException, setExceptionCount, setExceptionHandler, setExceptionHandlerTableCount, setExceptionHandlerTableDone, setExceptionParameterAnnotation, setExceptionsDone, setField, setFieldAttribute, setFieldAttributeCount, setFieldAttributesDone, setFieldCount, setFieldDone, setFieldsDone, setFormalParameterAnnotation, setInnerClass, setInnerClassCount, setInnerClassesDone, setInterfaceCount, setInterfacesDone, setLineNumber, setLineNumberTableCount, setLineNumberTableDone, setLocalVar, setLocalVarTableCount, setLocalVarTableDone, setMethodAttributeCount, setMethodAttributesDone, setParameterAnnotation, setParameterAnnotationCount, setParameterAnnotationsDone, setParameterCount, setParametersDone, setSignature, setSourceFile, setSuperTypeAnnotation, setThrowsAnnotation, setTypeAnnotation, setTypeAnnotationCount, setTypeAnnotationsDone, setTypeParameterAnnotation, setTypeParameterBoundAnnotation, setVariableAnnotation
protected java.util.LinkedList<AnnotationInfo> annotationStack
protected AnnotationInfo curAi
protected java.util.LinkedList<java.lang.Object[]> valuesStack
public JVMAnnotationParser(ClassFile cf)
public void parse(AnnotationInfo ai) throws ClassParseException
parse
in interface AnnotationParser
ClassParseException
public void setClass(ClassFile cf, java.lang.String clsName, java.lang.String superClsName, int flags, int cpCount) throws ClassParseException
setClass
in interface ClassFileReader
setClass
in class ClassFileReaderAdapter
ClassParseException
public void setInterface(ClassFile cf, int ifcIndex, java.lang.String ifcName)
setInterface
in interface ClassFileReader
setInterface
in class ClassFileReaderAdapter
public void setMethodCount(ClassFile cf, int methodCount)
setMethodCount
in interface ClassFileReader
setMethodCount
in class ClassFileReaderAdapter
public void setMethod(ClassFile cf, int methodIndex, int accessFlags, java.lang.String name, java.lang.String descriptor)
setMethod
in interface ClassFileReader
setMethod
in class ClassFileReaderAdapter
public void setMethodDone(ClassFile cf, int methodIndex)
setMethodDone
in interface ClassFileReader
setMethodDone
in class ClassFileReaderAdapter
public void setMethodsDone(ClassFile cf)
setMethodsDone
in interface ClassFileReader
setMethodsDone
in class ClassFileReaderAdapter
public void setMethodAttribute(ClassFile cf, int methodIndex, int attrIndex, java.lang.String name, int attrLength)
setMethodAttribute
in interface ClassFileReader
setMethodAttribute
in class ClassFileReaderAdapter
public void setClassAttribute(ClassFile cf, int attrIndex, java.lang.String name, int attrLength)
setClassAttribute
in interface ClassFileReader
setClassAttribute
in class ClassFileReaderAdapter
public void setAnnotation(ClassFile cf, java.lang.Object tag, int annotationIndex, java.lang.String annotationType)
setAnnotation
in interface ClassFileReader
setAnnotation
in class ClassFileReaderAdapter
public void setAnnotationFieldValue(ClassFile cf, java.lang.Object tag, int annotationIndex, int valueIndex, java.lang.String elementName, int arrayIndex)
setAnnotationFieldValue
in interface ClassFileReader
setAnnotationFieldValue
in class ClassFileReaderAdapter
public void setPrimitiveAnnotationValue(ClassFile cf, java.lang.Object tag, int annotationIndex, int valueIndex, java.lang.String elementName, int arrayIndex, java.lang.Object val)
setPrimitiveAnnotationValue
in interface ClassFileReader
setPrimitiveAnnotationValue
in class ClassFileReaderAdapter
public void setStringAnnotationValue(ClassFile cf, java.lang.Object tag, int annotationIndex, int valueIndex, java.lang.String elementName, int arrayIndex, java.lang.String val)
setStringAnnotationValue
in interface ClassFileReader
setStringAnnotationValue
in class ClassFileReaderAdapter
public void setClassAnnotationValue(ClassFile cf, java.lang.Object tag, int annotationIndex, int valueIndex, java.lang.String elementName, int arrayIndex, java.lang.String typeName)
setClassAnnotationValue
in interface ClassFileReader
setClassAnnotationValue
in class ClassFileReaderAdapter
public void setEnumAnnotationValue(ClassFile cf, java.lang.Object tag, int annotationIndex, int valueIndex, java.lang.String elementName, int arrayIndex, java.lang.String enumType, java.lang.String enumValue)
setEnumAnnotationValue
in interface ClassFileReader
setEnumAnnotationValue
in class ClassFileReaderAdapter
public void setAnnotationValueElementCount(ClassFile cf, java.lang.Object tag, int annotationIndex, int valueIndex, java.lang.String elementName, int elementCount)
setAnnotationValueElementCount
in interface ClassFileReader
setAnnotationValueElementCount
in class ClassFileReaderAdapter
public void setAnnotationValueElementsDone(ClassFile cf, java.lang.Object tag, int annotationIndex, int valueIndex, java.lang.String elementName)
setAnnotationValueElementsDone
in interface ClassFileReader
setAnnotationValueElementsDone
in class ClassFileReaderAdapter