001package io.ebean.enhance.querybean; 002 003import io.ebean.enhance.asm.AnnotationVisitor; 004import io.ebean.enhance.asm.Attribute; 005import io.ebean.enhance.asm.Handle; 006import io.ebean.enhance.asm.Label; 007import io.ebean.enhance.asm.MethodVisitor; 008import io.ebean.enhance.asm.Opcodes; 009import io.ebean.enhance.asm.TypePath; 010 011/** 012 * Changes the existing constructor removing all the existing code to be replaced via visitCode() implementation. 013 */ 014public abstract class BaseConstructorAdapter extends MethodVisitor implements Opcodes { 015 016 /** 017 * Construct for a query bean class given its associated entity bean domain class and a class visitor. 018 */ 019 public BaseConstructorAdapter() { 020 super(Opcodes.ASM7, null); 021 } 022 023 @Override 024 public abstract void visitCode(); 025 026 027 @Override 028 public void visitParameter(String name, int access) { 029 // do nothing / consume existing 030 } 031 032 @Override 033 public AnnotationVisitor visitAnnotationDefault() { 034 // do nothing / consume existing 035 return null; 036 } 037 038 @Override 039 public AnnotationVisitor visitAnnotation(String desc, boolean visible) { 040 // do nothing / consume existing 041 return null; 042 } 043 044 @Override 045 public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) { 046 // do nothing / consume existing 047 return null; 048 } 049 050 @Override 051 public AnnotationVisitor visitParameterAnnotation(int parameter, String desc, boolean visible) { 052 // do nothing / consume existing 053 return null; 054 } 055 056 @Override 057 public void visitAttribute(Attribute attr) { 058 // do nothing / consume existing 059 } 060 061 @Override 062 public void visitFrame(int type, int nLocal, Object[] local, int nStack, Object[] stack) { 063 // do nothing / consume existing 064 } 065 066 @Override 067 public void visitInsn(int opcode) { 068 // do nothing / consume existing 069 } 070 071 @Override 072 public void visitIntInsn(int opcode, int operand) { 073 // do nothing / consume existing 074 } 075 076 @Override 077 public void visitVarInsn(int opcode, int var) { 078 // do nothing / consume existing 079 } 080 081 @Override 082 public void visitTypeInsn(int opcode, String type) { 083 // do nothing / consume existing 084 } 085 086 @Override 087 public void visitFieldInsn(int opcode, String owner, String name, String desc) { 088 // do nothing / consume existing 089 } 090 091 @Override 092 public void visitMethodInsn(int opcode, String owner, String name, String desc) { 093 // do nothing / consume existing 094 } 095 096 @Override 097 public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) { 098 // do nothing / consume existing 099 } 100 101 @Override 102 public void visitInvokeDynamicInsn(String name, String desc, Handle bsm, Object... bsmArgs) { 103 // do nothing / consume existing 104 } 105 106 @Override 107 public void visitJumpInsn(int opcode, Label label) { 108 // do nothing / consume existing 109 } 110 111 @Override 112 public void visitLabel(Label label) { 113 // do nothing / consume existing 114 } 115 116 @Override 117 public void visitLdcInsn(Object cst) { 118 // do nothing / consume existing 119 } 120 121 @Override 122 public void visitIincInsn(int var, int increment) { 123 // do nothing / consume existing 124 } 125 126 @Override 127 public void visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) { 128 // do nothing / consume existing 129 } 130 131 @Override 132 public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) { 133 // do nothing / consume existing 134 } 135 136 @Override 137 public void visitMultiANewArrayInsn(String desc, int dims) { 138 // do nothing / consume existing 139 } 140 141 @Override 142 public AnnotationVisitor visitInsnAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) { 143 // do nothing / consume existing 144 return null; 145 } 146 147 @Override 148 public void visitTryCatchBlock(Label start, Label end, Label handler, String type) { 149 // do nothing / consume existing 150 } 151 152 @Override 153 public AnnotationVisitor visitTryCatchAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) { 154 // do nothing / consume existing 155 return null; 156 } 157 158 @Override 159 public void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index) { 160 // do nothing / consume existing 161 } 162 163 @Override 164 public AnnotationVisitor visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String desc, boolean visible) { 165 // do nothing / consume existing 166 return null; 167 } 168 169 @Override 170 public void visitLineNumber(int line, Label start) { 171 // do nothing / consume existing 172 } 173 174 @Override 175 public void visitMaxs(int maxStack, int maxLocals) { 176 // do nothing / consume existing 177 } 178 179 @Override 180 public void visitEnd() { 181 // do nothing / consume existing 182 } 183}