Class Util


  • public class Util
    extends java.lang.Object
    Some useful utilities for generating code using ASM. Nothing in here should be specific to the classfile enhancer for tracing.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean debug  
      private int verbose  
    • Constructor Summary

      Constructors 
      Constructor Description
      Util​(boolean debug, int verbose)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String augmentInfoMethodDescriptor​(java.lang.String desc)  
      void emitIntConstant​(org.objectweb.asm.MethodVisitor mv, int val)  
      void error​(java.lang.String str)  
      boolean getDebug()  
      java.lang.String getFullMethodDescriptor​(java.lang.reflect.Method method)  
      java.lang.String getFullMethodDescriptor​(java.lang.String name, java.lang.String desc)  
      java.lang.String getFullMethodDescriptor​(org.objectweb.asm.tree.MethodInsnNode mn)  
      java.lang.String getFullMethodDescriptor​(org.objectweb.asm.tree.MethodNode mn)  
      boolean hasAccess​(int access, int flag)  
      void info​(int level, java.lang.String str)  
      void initLocal​(org.objectweb.asm.MethodVisitor mv, org.objectweb.asm.tree.LocalVariableNode var)  
      void loadFromXReturn​(org.objectweb.asm.MethodVisitor mv, int returnOpcode, org.objectweb.asm.tree.LocalVariableNode holder)  
      void msg​(java.lang.String str)  
      void newWithSimpleConstructor​(org.objectweb.asm.MethodVisitor mv, java.lang.Class<?> cls)  
      static java.lang.String opcodeToString​(int opcode)  
      void storeFromXReturn​(org.objectweb.asm.MethodVisitor mv, int returnOpcode, org.objectweb.asm.tree.LocalVariableNode holder)  
      byte[] transform​(boolean debug, byte[] cls, java.util.function.Function<org.objectweb.asm.ClassVisitor,​org.objectweb.asm.ClassVisitor> factory)  
      private void verify​(byte[] cls)  
      int wrapArg​(org.objectweb.asm.MethodVisitor mv, int argIndex, org.objectweb.asm.Type atype)  
      void wrapArgs​(org.objectweb.asm.MethodVisitor mv, int access, java.lang.String desc)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • debug

        private final boolean debug
      • verbose

        private final int verbose
    • Constructor Detail

      • Util

        public Util​(boolean debug,
                    int verbose)
    • Method Detail

      • getDebug

        public boolean getDebug()
      • info

        public void info​(int level,
                         java.lang.String str)
      • msg

        public void msg​(java.lang.String str)
      • error

        public void error​(java.lang.String str)
      • initLocal

        public void initLocal​(org.objectweb.asm.MethodVisitor mv,
                              org.objectweb.asm.tree.LocalVariableNode var)
      • getFullMethodDescriptor

        public java.lang.String getFullMethodDescriptor​(java.lang.String name,
                                                        java.lang.String desc)
      • getFullMethodDescriptor

        public java.lang.String getFullMethodDescriptor​(org.objectweb.asm.tree.MethodNode mn)
      • getFullMethodDescriptor

        public java.lang.String getFullMethodDescriptor​(org.objectweb.asm.tree.MethodInsnNode mn)
      • getFullMethodDescriptor

        public java.lang.String getFullMethodDescriptor​(java.lang.reflect.Method method)
      • newWithSimpleConstructor

        public void newWithSimpleConstructor​(org.objectweb.asm.MethodVisitor mv,
                                             java.lang.Class<?> cls)
      • augmentInfoMethodDescriptor

        public java.lang.String augmentInfoMethodDescriptor​(java.lang.String desc)
      • emitIntConstant

        public void emitIntConstant​(org.objectweb.asm.MethodVisitor mv,
                                    int val)
      • wrapArg

        public int wrapArg​(org.objectweb.asm.MethodVisitor mv,
                           int argIndex,
                           org.objectweb.asm.Type atype)
      • wrapArgs

        public void wrapArgs​(org.objectweb.asm.MethodVisitor mv,
                             int access,
                             java.lang.String desc)
      • storeFromXReturn

        public void storeFromXReturn​(org.objectweb.asm.MethodVisitor mv,
                                     int returnOpcode,
                                     org.objectweb.asm.tree.LocalVariableNode holder)
      • loadFromXReturn

        public void loadFromXReturn​(org.objectweb.asm.MethodVisitor mv,
                                    int returnOpcode,
                                    org.objectweb.asm.tree.LocalVariableNode holder)
      • verify

        private void verify​(byte[] cls)
      • hasAccess

        public boolean hasAccess​(int access,
                                 int flag)
      • opcodeToString

        public static java.lang.String opcodeToString​(int opcode)
      • transform

        public byte[] transform​(boolean debug,
                                byte[] cls,
                                java.util.function.Function<org.objectweb.asm.ClassVisitor,​org.objectweb.asm.ClassVisitor> factory)