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
ConstructorDescriptionAnnotationReader
(byte[] data) Reads the classfile bytecode in data and to extract the version. -
Method Summary
Modifier and TypeMethodDescriptionlong
getMTime()
int
org.objectweb.asm.AnnotationVisitor
visitAnnotation
(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:
visitAnnotation
in classorg.objectweb.asm.ClassVisitor
-
getVersion
public int getVersion() -
getMTime
public long getMTime() -
getFilename
-