Class VerifyingClassAdapter


  • public class VerifyingClassAdapter
    extends org.objectweb.asm.ClassVisitor
    This is a class writer that gets used in place of the existing ClassWriter, and verifies properties of the class getting written. Currently, it only checks to see if the methods are of the correct length for Java methods (<64K).
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  VerifyingClassAdapter.State
      An enum which indicates whether the class in question is verified.
    • Constructor Summary

      Constructors 
      Constructor Description
      VerifyingClassAdapter​(org.objectweb.asm.ClassWriter cw, byte[] original, String className)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean isVerified()
      Gets the verification state of this class.
      byte[] toByteArray()
      Returns the byte array that contains the byte code for this class.
      void visitEnd()
      org.objectweb.asm.MethodVisitor visitMethod​(int access, String name, String desc, String signature, String[] exceptions)
      In addition, the returned MethodVisitor will throw an exception if the method is greater than 64K in length.
      • Methods inherited from class org.objectweb.asm.ClassVisitor

        visit, visitAnnotation, visitAttribute, visitField, visitInnerClass, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitSource, visitTypeAnnotation
    • Constructor Detail

      • VerifyingClassAdapter

        public VerifyingClassAdapter​(org.objectweb.asm.ClassWriter cw,
                                     byte[] original,
                                     String className)
        Parameters:
        cw - A class writer that is wrapped by this class adapter
        original - the original bytecode
        className - the name of the class being examined.
    • Method Detail

      • visitMethod

        public org.objectweb.asm.MethodVisitor visitMethod​(int access,
                                                           String name,
                                                           String desc,
                                                           String signature,
                                                           String[] exceptions)
        In addition, the returned MethodVisitor will throw an exception if the method is greater than 64K in length.
        Overrides:
        visitMethod in class org.objectweb.asm.ClassVisitor
      • visitEnd

        public void visitEnd()
        Overrides:
        visitEnd in class org.objectweb.asm.ClassVisitor
      • isVerified

        public boolean isVerified()
        Gets the verification state of this class.
        Returns:
        true iff the class passed inspection.
      • toByteArray

        public byte[] toByteArray()
        Returns the byte array that contains the byte code for this class.
        Returns:
        a byte array.