Class KotlinPanacheClassOperationGenerationVisitor


  • public class KotlinPanacheClassOperationGenerationVisitor
    extends org.objectweb.asm.ClassVisitor
    kotlinc compiles default methods in to the implementing classes, so we need to elide them first, and then we can generate new methods like we do elsewhere.
    • Constructor Detail

      • KotlinPanacheClassOperationGenerationVisitor

        public KotlinPanacheClassOperationGenerationVisitor​(org.objectweb.asm.ClassVisitor outputClassVisitor,
                                                            org.jboss.jandex.ClassInfo classInfo,
                                                            org.jboss.jandex.IndexView indexView,
                                                            TypeBundle typeBundle,
                                                            ByteCodeType baseType,
                                                            List<PanacheMethodCustomizer> methodCustomizers)
    • Method Detail

      • recursivelyFindEntityTypeArguments

        public static List<ByteCodeType> recursivelyFindEntityTypeArguments​(org.jboss.jandex.IndexView indexView,
                                                                            org.jboss.jandex.DotName clazz,
                                                                            org.jboss.jandex.DotName repositoryDotName)
      • addNullityChecks

        protected void addNullityChecks​(org.objectweb.asm.MethodVisitor mv,
                                        org.jboss.jandex.MethodInfo method)
      • bridgeMethodDescriptor

        protected String bridgeMethodDescriptor​(org.jboss.jandex.MethodInfo method,
                                                Function<String,​String> mapper)
      • discoverTypeParameters

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

        protected void loadOperationsReference​(org.objectweb.asm.MethodVisitor mv)
      • visitMethod

        public org.objectweb.asm.MethodVisitor visitMethod​(int access,
                                                           String name,
                                                           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