Class DebugGenerators


  • public final class DebugGenerators
    extends java.lang.Object
    Utility class to generate bytecode instructions that help debug instrumented code.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  DebugGenerators.MarkerType
      Debug marker type.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private DebugGenerators()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static org.objectweb.asm.tree.InsnList debugMarker​(DebugGenerators.MarkerType markerType, java.lang.String text)
      Generates instructions for generating marker instructions.
      static org.objectweb.asm.tree.InsnList debugPrint​(org.objectweb.asm.tree.InsnList text)
      Generates instructions for printing out a string using System.out.
      • Methods inherited from class java.lang.Object

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

      • DebugGenerators

        private DebugGenerators()
    • Method Detail

      • debugMarker

        public static org.objectweb.asm.tree.InsnList debugMarker​(DebugGenerators.MarkerType markerType,
                                                                  java.lang.String text)
        Generates instructions for generating marker instructions. These marker instructions are meant to be is useful for debugging instrumented code. For example, you can spot a specific portion of instrumented code by looking for specific markers in the assembly output.
        Parameters:
        markerType - marker type (determines what kind of instructions are generated)
        text - text to print out
        Returns:
        instructions to call System.out.println with a string constant
        Throws:
        java.lang.NullPointerException - if any argument is null
      • debugPrint

        public static org.objectweb.asm.tree.InsnList debugPrint​(org.objectweb.asm.tree.InsnList text)
        Generates instructions for printing out a string using System.out. This is useful for debugging. For example, you can print out lines around your instrumented code to make sure that what you think is being run is actually being run.
        Parameters:
        text - debug text generation instruction list -- must leave a String on the stack
        Returns:
        instructions to call System.out.println with a string constant
        Throws:
        java.lang.NullPointerException - if any argument is null