public class ClassFileParser extends ClassFileReaderAdapter implements ClassParser
Modifier | Constructor and Description |
---|---|
|
ClassFileParser(ClassFile cf) |
protected |
ClassFileParser(ClassFile cf,
JVMCodeBuilder cb) |
Modifier and Type | Method and Description |
---|---|
protected JVMCodeBuilder |
createCodeBuilder() |
void |
parse(ClassInfo ci) |
void |
setAnnotation(ClassFile cf,
Object tag,
int annotationIndex,
String annotationType) |
void |
setAnnotationCount(ClassFile cf,
Object tag,
int annotationCount) |
void |
setAnnotationsDone(ClassFile cf,
Object tag) |
void |
setAnnotationValueCount(ClassFile cf,
Object tag,
int annotationIndex,
int nValuePairs) |
void |
setAnnotationValueElementCount(ClassFile cf,
Object tag,
int annotationIndex,
int valueIndex,
String elementName,
int elementCount) |
void |
setAnnotationValueElementsDone(ClassFile cf,
Object tag,
int annotationIndex,
int valueIndex,
String elementName) |
void |
setClass(ClassFile cf,
String clsName,
String superClsName,
int flags,
int cpCount) |
void |
setClassAnnotationValue(ClassFile cf,
Object tag,
int annotationIndex,
int valueIndex,
String elementName,
int arrayIndex,
String typeName) |
void |
setClassAttribute(ClassFile cf,
int attrIndex,
String name,
int attrLength) |
void |
setCode(ClassFile cf,
Object tag,
int maxStack,
int maxLocals,
int codeLength) |
void |
setCodeAttribute(ClassFile cf,
Object tag,
int attrIndex,
String name,
int attrLength) |
void |
setConstantValue(ClassFile cf,
Object tag,
Object constVal) |
void |
setEnclosingMethod(ClassFile cf,
Object tag,
String enclosingClassName,
String enclosingMethodName,
String descriptor) |
void |
setEnumAnnotationValue(ClassFile cf,
Object tag,
int annotationIndex,
int valueIndex,
String elementName,
int arrayIndex,
String enumType,
String enumValue) |
void |
setException(ClassFile cf,
Object tag,
int exceptionIndex,
String exceptionType) |
void |
setExceptionCount(ClassFile cf,
Object tag,
int exceptionCount) |
void |
setExceptionHandler(ClassFile cf,
Object tag,
int handlerIndex,
int startPc,
int endPc,
int handlerPc,
String catchType) |
void |
setExceptionHandlerTableCount(ClassFile cf,
Object tag,
int exceptionTableCount) |
void |
setExceptionHandlerTableDone(ClassFile cf,
Object tag) |
void |
setExceptionsDone(ClassFile cf,
Object tag) |
void |
setField(ClassFile cf,
int fieldIndex,
int accessFlags,
String name,
String descriptor) |
void |
setFieldAttribute(ClassFile cf,
int fieldIndex,
int attrIndex,
String name,
int attrLength) |
void |
setFieldCount(ClassFile cf,
int fieldCount) |
void |
setFieldsDone(ClassFile cf) |
void |
setInnerClass(ClassFile cf,
Object tag,
int innerClsIndex,
String outerName,
String innerName,
String innerSimpleName,
int accessFlags) |
void |
setInnerClassCount(ClassFile cf,
Object tag,
int classCount) |
void |
setInnerClassesDone(ClassFile cf,
Object tag) |
void |
setInterface(ClassFile cf,
int ifcIndex,
String ifcName) |
void |
setInterfaceCount(ClassFile cf,
int ifcCount) |
void |
setInterfacesDone(ClassFile cf) |
void |
setLineNumber(ClassFile cf,
Object tag,
int lineIndex,
int lineNumber,
int startPc) |
void |
setLineNumberTableCount(ClassFile cf,
Object tag,
int lineNumberCount) |
void |
setLineNumberTableDone(ClassFile cf,
Object tag) |
void |
setLocalVar(ClassFile cf,
Object tag,
int localVarIndex,
String varName,
String descriptor,
int scopeStartPc,
int scopeEndPc,
int slotIndex) |
void |
setLocalVarTableCount(ClassFile cf,
Object tag,
int localVarCount) |
void |
setLocalVarTableDone(ClassFile cf,
Object tag) |
void |
setMethod(ClassFile cf,
int methodIndex,
int accessFlags,
String name,
String signature) |
void |
setMethodAttribute(ClassFile cf,
int methodIndex,
int attrIndex,
String name,
int attrLength) |
void |
setMethodCount(ClassFile cf,
int methodCount) |
void |
setMethodsDone(ClassFile cf) |
void |
setParameterAnnotation(ClassFile cf,
Object tag,
int annotationIndex,
String annotationType) |
void |
setParameterAnnotationCount(ClassFile cf,
Object tag,
int paramIndex,
int annotationCount) |
void |
setParameterCount(ClassFile cf,
Object tag,
int parameterCount) |
void |
setParametersDone(ClassFile cf,
Object tag) |
void |
setPrimitiveAnnotationValue(ClassFile cf,
Object tag,
int annotationIndex,
int valueIndex,
String elementName,
int arrayIndex,
Object val) |
void |
setSignature(ClassFile cf,
Object tag,
String signature) |
void |
setSourceFile(ClassFile cf,
Object tag,
String fileName) |
void |
setStringAnnotationValue(ClassFile cf,
Object tag,
int annotationIndex,
int valueIndex,
String elementName,
int arrayIndex,
String val) |
setAnnotationValuesDone, setClassAttributeCount, setClassAttributesDone, setCodeAttributeCount, setCodeAttributesDone, setFieldAttributeCount, setFieldAttributesDone, setFieldDone, setMethodAttributeCount, setMethodAttributesDone, setMethodDone, setParameterAnnotationsDone
public ClassFileParser(ClassFile cf)
protected ClassFileParser(ClassFile cf, JVMCodeBuilder cb)
protected JVMCodeBuilder createCodeBuilder()
public void parse(ClassInfo ci) throws ClassParseException
parse
in interface ClassParser
ClassParseException
public void setClass(ClassFile cf, String clsName, String superClsName, int flags, int cpCount) throws ClassParseException
setClass
in interface ClassFileReader
setClass
in class ClassFileReaderAdapter
ClassParseException
public void setClassAttribute(ClassFile cf, int attrIndex, String name, int attrLength)
setClassAttribute
in interface ClassFileReader
setClassAttribute
in class ClassFileReaderAdapter
public void setInnerClassCount(ClassFile cf, Object tag, int classCount)
setInnerClassCount
in interface ClassFileReader
setInnerClassCount
in class ClassFileReaderAdapter
public void setInnerClass(ClassFile cf, Object tag, int innerClsIndex, String outerName, String innerName, String innerSimpleName, int accessFlags)
setInnerClass
in interface ClassFileReader
setInnerClass
in class ClassFileReaderAdapter
public void setEnclosingMethod(ClassFile cf, Object tag, String enclosingClassName, String enclosingMethodName, String descriptor)
setEnclosingMethod
in interface ClassFileReader
setEnclosingMethod
in class ClassFileReaderAdapter
public void setInnerClassesDone(ClassFile cf, Object tag)
setInnerClassesDone
in interface ClassFileReader
setInnerClassesDone
in class ClassFileReaderAdapter
public void setSourceFile(ClassFile cf, Object tag, String fileName)
setSourceFile
in interface ClassFileReader
setSourceFile
in class ClassFileReaderAdapter
public void setInterfaceCount(ClassFile cf, int ifcCount)
setInterfaceCount
in interface ClassFileReader
setInterfaceCount
in class ClassFileReaderAdapter
public void setInterface(ClassFile cf, int ifcIndex, String ifcName)
setInterface
in interface ClassFileReader
setInterface
in class ClassFileReaderAdapter
public void setInterfacesDone(ClassFile cf)
setInterfacesDone
in interface ClassFileReader
setInterfacesDone
in class ClassFileReaderAdapter
public void setFieldCount(ClassFile cf, int fieldCount)
setFieldCount
in interface ClassFileReader
setFieldCount
in class ClassFileReaderAdapter
public void setField(ClassFile cf, int fieldIndex, int accessFlags, String name, String descriptor)
setField
in interface ClassFileReader
setField
in class ClassFileReaderAdapter
public void setFieldAttribute(ClassFile cf, int fieldIndex, int attrIndex, String name, int attrLength)
setFieldAttribute
in interface ClassFileReader
setFieldAttribute
in class ClassFileReaderAdapter
public void setConstantValue(ClassFile cf, Object tag, Object constVal)
setConstantValue
in interface ClassFileReader
setConstantValue
in class ClassFileReaderAdapter
public void setFieldsDone(ClassFile cf)
setFieldsDone
in interface ClassFileReader
setFieldsDone
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, String name, String signature)
setMethod
in interface ClassFileReader
setMethod
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, String name, int attrLength)
setMethodAttribute
in interface ClassFileReader
setMethodAttribute
in class ClassFileReaderAdapter
public void setExceptionCount(ClassFile cf, Object tag, int exceptionCount)
setExceptionCount
in interface ClassFileReader
setExceptionCount
in class ClassFileReaderAdapter
public void setException(ClassFile cf, Object tag, int exceptionIndex, String exceptionType)
setException
in interface ClassFileReader
setException
in class ClassFileReaderAdapter
public void setExceptionsDone(ClassFile cf, Object tag)
setExceptionsDone
in interface ClassFileReader
setExceptionsDone
in class ClassFileReaderAdapter
public void setExceptionHandlerTableCount(ClassFile cf, Object tag, int exceptionTableCount)
setExceptionHandlerTableCount
in interface ClassFileReader
setExceptionHandlerTableCount
in class ClassFileReaderAdapter
public void setExceptionHandler(ClassFile cf, Object tag, int handlerIndex, int startPc, int endPc, int handlerPc, String catchType)
setExceptionHandler
in interface ClassFileReader
setExceptionHandler
in class ClassFileReaderAdapter
public void setExceptionHandlerTableDone(ClassFile cf, Object tag)
setExceptionHandlerTableDone
in interface ClassFileReader
setExceptionHandlerTableDone
in class ClassFileReaderAdapter
public void setCode(ClassFile cf, Object tag, int maxStack, int maxLocals, int codeLength)
setCode
in interface ClassFileReader
setCode
in class ClassFileReaderAdapter
public void setCodeAttribute(ClassFile cf, Object tag, int attrIndex, String name, int attrLength)
setCodeAttribute
in interface ClassFileReader
setCodeAttribute
in class ClassFileReaderAdapter
public void setLineNumberTableCount(ClassFile cf, Object tag, int lineNumberCount)
setLineNumberTableCount
in interface ClassFileReader
setLineNumberTableCount
in class ClassFileReaderAdapter
public void setLineNumber(ClassFile cf, Object tag, int lineIndex, int lineNumber, int startPc)
setLineNumber
in interface ClassFileReader
setLineNumber
in class ClassFileReaderAdapter
public void setLineNumberTableDone(ClassFile cf, Object tag)
setLineNumberTableDone
in interface ClassFileReader
setLineNumberTableDone
in class ClassFileReaderAdapter
public void setLocalVarTableCount(ClassFile cf, Object tag, int localVarCount)
setLocalVarTableCount
in interface ClassFileReader
setLocalVarTableCount
in class ClassFileReaderAdapter
public void setLocalVar(ClassFile cf, Object tag, int localVarIndex, String varName, String descriptor, int scopeStartPc, int scopeEndPc, int slotIndex)
setLocalVar
in interface ClassFileReader
setLocalVar
in class ClassFileReaderAdapter
public void setLocalVarTableDone(ClassFile cf, Object tag)
setLocalVarTableDone
in interface ClassFileReader
setLocalVarTableDone
in class ClassFileReaderAdapter
public void setAnnotationCount(ClassFile cf, Object tag, int annotationCount)
setAnnotationCount
in interface ClassFileReader
setAnnotationCount
in class ClassFileReaderAdapter
public void setAnnotationsDone(ClassFile cf, Object tag)
setAnnotationsDone
in interface ClassFileReader
setAnnotationsDone
in class ClassFileReaderAdapter
public void setParameterCount(ClassFile cf, Object tag, int parameterCount)
setParameterCount
in interface ClassFileReader
setParameterCount
in class ClassFileReaderAdapter
public void setParameterAnnotationCount(ClassFile cf, Object tag, int paramIndex, int annotationCount)
setParameterAnnotationCount
in interface ClassFileReader
setParameterAnnotationCount
in class ClassFileReaderAdapter
public void setParameterAnnotation(ClassFile cf, Object tag, int annotationIndex, String annotationType)
setParameterAnnotation
in interface ClassFileReader
setParameterAnnotation
in class ClassFileReaderAdapter
public void setParametersDone(ClassFile cf, Object tag)
setParametersDone
in interface ClassFileReader
setParametersDone
in class ClassFileReaderAdapter
public void setAnnotation(ClassFile cf, Object tag, int annotationIndex, String annotationType)
setAnnotation
in interface ClassFileReader
setAnnotation
in class ClassFileReaderAdapter
public void setAnnotationValueCount(ClassFile cf, Object tag, int annotationIndex, int nValuePairs)
setAnnotationValueCount
in interface ClassFileReader
setAnnotationValueCount
in class ClassFileReaderAdapter
public void setPrimitiveAnnotationValue(ClassFile cf, Object tag, int annotationIndex, int valueIndex, String elementName, int arrayIndex, Object val)
setPrimitiveAnnotationValue
in interface ClassFileReader
setPrimitiveAnnotationValue
in class ClassFileReaderAdapter
public void setStringAnnotationValue(ClassFile cf, Object tag, int annotationIndex, int valueIndex, String elementName, int arrayIndex, String val)
setStringAnnotationValue
in interface ClassFileReader
setStringAnnotationValue
in class ClassFileReaderAdapter
public void setClassAnnotationValue(ClassFile cf, Object tag, int annotationIndex, int valueIndex, String elementName, int arrayIndex, String typeName)
setClassAnnotationValue
in interface ClassFileReader
setClassAnnotationValue
in class ClassFileReaderAdapter
public void setEnumAnnotationValue(ClassFile cf, Object tag, int annotationIndex, int valueIndex, String elementName, int arrayIndex, String enumType, String enumValue)
setEnumAnnotationValue
in interface ClassFileReader
setEnumAnnotationValue
in class ClassFileReaderAdapter
public void setAnnotationValueElementCount(ClassFile cf, Object tag, int annotationIndex, int valueIndex, String elementName, int elementCount)
setAnnotationValueElementCount
in interface ClassFileReader
setAnnotationValueElementCount
in class ClassFileReaderAdapter
public void setAnnotationValueElementsDone(ClassFile cf, Object tag, int annotationIndex, int valueIndex, String elementName)
setAnnotationValueElementsDone
in interface ClassFileReader
setAnnotationValueElementsDone
in class ClassFileReaderAdapter
public void setSignature(ClassFile cf, Object tag, String signature)
setSignature
in interface ClassFileReader
setSignature
in class ClassFileReaderAdapter