Package org.python.core
Class AnnotationReader
java.lang.Object
org.objectweb.asm.ClassVisitor
org.python.core.AnnotationReader
public class AnnotationReader
extends org.objectweb.asm.ClassVisitor
This class reads a classfile from a byte array and pulls out the value of the class annotation
for APIVersion, which can then be retrieved by a call to getVersion().
Hopefully the use of ClassReader in this implementation is not too expensive. I suspect it is not
since EmptyVisitor is just a bag of empty methods so shouldn't cost too much. If it turns out to
cost too much, we will want to implement a special purpose ClassReader that only reads out the
APIVersion annotation I think.
-
Constructor Summary
ConstructorsConstructorDescriptionAnnotationReader(byte[] data) Reads the classfile bytecode in data and to extract the version. -
Method Summary
Modifier and TypeMethodDescriptionlonggetMTime()intorg.objectweb.asm.AnnotationVisitorvisitAnnotation(String desc, boolean visible) Methods inherited from class org.objectweb.asm.ClassVisitor
getDelegate, visit, visitAttribute, visitEnd, visitField, visitInnerClass, visitMethod, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource, visitTypeAnnotation
-
Constructor Details
-
AnnotationReader
Reads the classfile bytecode in data and to extract the version.- Throws:
IOException- - if the classfile is malformed.
-
-
Method Details
-
visitAnnotation
- Overrides:
visitAnnotationin classorg.objectweb.asm.ClassVisitor
-
getVersion
public int getVersion() -
getMTime
public long getMTime() -
getFilename
-