Class PanacheEntityClassOperationGenerationVisitor

java.lang.Object
org.objectweb.asm.ClassVisitor
io.quarkus.panache.common.deployment.visitors.PanacheEntityClassOperationGenerationVisitor

public class PanacheEntityClassOperationGenerationVisitor extends org.objectweb.asm.ClassVisitor
A visitor that adds Panache operations to a Panache entity type.
  • Field Details

    • thisClass

      protected org.objectweb.asm.Type thisClass
    • typeBundle

      protected TypeBundle typeBundle
    • panacheEntityBaseClassInfo

      protected final org.jboss.jandex.ClassInfo panacheEntityBaseClassInfo
    • entityInfo

      protected org.jboss.jandex.ClassInfo entityInfo
    • methodCustomizers

      protected List<PanacheMethodCustomizer> methodCustomizers
    • typeArguments

      protected final Map<String,ByteCodeType> typeArguments
    • argMapper

      protected final Function<String,org.jboss.jandex.Type> argMapper
    • entityUpperBound

      protected final ByteCodeType entityUpperBound
  • Constructor Details

    • PanacheEntityClassOperationGenerationVisitor

      public PanacheEntityClassOperationGenerationVisitor(org.objectweb.asm.ClassVisitor outputClassVisitor, TypeBundle typeBundle, org.jboss.jandex.ClassInfo entityInfo, List<PanacheMethodCustomizer> methodCustomizers, org.jboss.jandex.IndexView indexView)
  • Method Details

    • visitMethod

      public org.objectweb.asm.MethodVisitor visitMethod(int access, String methodName, String descriptor, String signature, String[] exceptions)
      Overrides:
      visitMethod in class org.objectweb.asm.ClassVisitor
    • visitEnd

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

      protected void discoverTypeParameters(org.jboss.jandex.ClassInfo classInfo, org.jboss.jandex.IndexView indexView, TypeBundle types, ByteCodeType baseType)
    • generateMethod

      protected void generateMethod(org.jboss.jandex.MethodInfo method, org.jboss.jandex.AnnotationValue targetReturnTypeErased, org.jboss.jandex.AnnotationValue callSuperMethod)
    • injectModel

      protected void injectModel(org.objectweb.asm.MethodVisitor mv)