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 Summary
FieldsModifier and TypeFieldDescriptionprotected org.jboss.jandex.ClassInfoprotected final ByteCodeTypeprotected List<PanacheMethodCustomizer> protected final org.jboss.jandex.ClassInfoprotected org.objectweb.asm.Typeprotected final Map<String, ByteCodeType> protected TypeBundleFields inherited from class org.objectweb.asm.ClassVisitor
api, cv -
Constructor Summary
ConstructorsConstructorDescriptionPanacheEntityClassOperationGenerationVisitor(org.objectweb.asm.ClassVisitor outputClassVisitor, TypeBundle typeBundle, org.jboss.jandex.ClassInfo entityInfo, List<PanacheMethodCustomizer> methodCustomizers, org.jboss.jandex.IndexView indexView) -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddiscoverTypeParameters(org.jboss.jandex.ClassInfo classInfo, org.jboss.jandex.IndexView indexView, TypeBundle types, ByteCodeType baseType) protected voidgenerateMethod(org.jboss.jandex.MethodInfo method, org.jboss.jandex.AnnotationValue targetReturnTypeErased, org.jboss.jandex.AnnotationValue callSuperMethod) protected voidinjectModel(org.objectweb.asm.MethodVisitor mv) voidvisitEnd()org.objectweb.asm.MethodVisitorvisitMethod(int access, String methodName, String descriptor, String signature, String[] exceptions) Methods inherited from class org.objectweb.asm.ClassVisitor
getDelegate, visit, visitAnnotation, visitAttribute, visitField, visitInnerClass, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource, visitTypeAnnotation
-
Field Details
-
thisClass
protected org.objectweb.asm.Type thisClass -
typeBundle
-
panacheEntityBaseClassInfo
protected final org.jboss.jandex.ClassInfo panacheEntityBaseClassInfo -
entityInfo
protected org.jboss.jandex.ClassInfo entityInfo -
methodCustomizers
-
typeArguments
-
argMapper
-
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:
visitMethodin classorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()- Overrides:
visitEndin classorg.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)
-