java.lang.Object
com.github.mcollovati.quarkus.hilla.deployment.asm.AsmUtils

public class AsmUtils extends Object
  • Constructor Details

    • AsmUtils

      public AsmUtils()
  • Method Details

    • hasMethodInsnSignature

      public static boolean hasMethodInsnSignature(MethodSignature srcMethod, org.objectweb.asm.tree.MethodInsnNode methodNode)
    • hasMethodInsnSignature

      public static boolean hasMethodInsnSignature(MethodSignature srcMethod, String owner, String name, String descriptor)
    • findNextInsnNode

      public static <T extends org.objectweb.asm.tree.AbstractInsnNode> T findNextInsnNode(ListIterator<org.objectweb.asm.tree.AbstractInsnNode> iterator, Predicate<T> predicate, Class<T> clazz)
    • findNextInsnNode

      public static org.objectweb.asm.tree.AbstractInsnNode findNextInsnNode(ListIterator<org.objectweb.asm.tree.AbstractInsnNode> iterator, Predicate<org.objectweb.asm.tree.AbstractInsnNode> predicate)
    • deleteStatement

      public static void deleteStatement(ListIterator<org.objectweb.asm.tree.AbstractInsnNode> iterator, boolean keepStartLabel)
      It is expected, that the last call to the iterator was next(), otherwise the previous bytecode block is deleted if pointing at a LabelNode.
      Parameters:
      iterator - the iterator
      keepStartLabel - should the start label be kept, e.g. for try-catch blocks