Class VerifyingClassAdapter

java.lang.Object
org.objectweb.asm.ClassVisitor
com.google.monitoring.runtime.instrumentation.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 enum 
    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

    Modifier and Type
    Method
    Description
    boolean
    Gets the verification state of this class.
    byte[]
    Returns the byte array that contains the byte code for this class.
    void
    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

    getDelegate, visit, visitAnnotation, visitAttribute, visitField, visitInnerClass, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource, visitTypeAnnotation

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • 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 Details

    • 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.