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}