org.objectweb.speedo.generation.enhancer
Class CodeDuplicator
java.lang.Object
org.objectweb.speedo.generation.enhancer.LoggedClass
org.objectweb.speedo.generation.enhancer.CodeDuplicator
- All Implemented Interfaces:
- CodeVisitor
- public class CodeDuplicator
- extends LoggedClass
- implements CodeVisitor
Creates several copies of a method.
Method Summary |
void |
visitAttribute(Attribute attribute)
|
void |
visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
|
void |
visitIincInsn(int var,
int increment)
|
void |
visitInsn(int opcode)
|
void |
visitIntInsn(int opcode,
int operand)
|
void |
visitJumpInsn(int opcode,
Label label)
|
void |
visitLabel(Label label)
|
void |
visitLdcInsn(java.lang.Object cst)
|
void |
visitLineNumber(int line,
Label start)
|
void |
visitLocalVariable(java.lang.String name,
java.lang.String desc,
Label start,
Label end,
int index)
|
void |
visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels)
|
void |
visitMaxs(int maxStack,
int maxLocals)
|
void |
visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
|
void |
visitMultiANewArrayInsn(java.lang.String desc,
int dims)
|
void |
visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels)
|
void |
visitTryCatchBlock(Label start,
Label end,
Label handler,
java.lang.String type)
|
void |
visitTypeInsn(int opcode,
java.lang.String desc)
|
void |
visitVarInsn(int opcode,
int var)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CodeDuplicator
public CodeDuplicator(Logger logger)
CodeDuplicator
public CodeDuplicator(java.util.List cvs)
- Constructs a
CodeDuplicator
.
- Parameters:
cvs
- a list of code visitors, to be used to generate the copies.
CodeDuplicator
public CodeDuplicator(CodeVisitor[] cvs)
- Constructs a
CodeDuplicator
.
- Parameters:
cvs
- an array of code visitors, to be used to generate the copies.
visitInsn
public void visitInsn(int opcode)
- Specified by:
visitInsn
in interface CodeVisitor
visitIntInsn
public void visitIntInsn(int opcode,
int operand)
- Specified by:
visitIntInsn
in interface CodeVisitor
visitVarInsn
public void visitVarInsn(int opcode,
int var)
- Specified by:
visitVarInsn
in interface CodeVisitor
visitTypeInsn
public void visitTypeInsn(int opcode,
java.lang.String desc)
- Specified by:
visitTypeInsn
in interface CodeVisitor
visitFieldInsn
public void visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
- Specified by:
visitFieldInsn
in interface CodeVisitor
visitMethodInsn
public void visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
- Specified by:
visitMethodInsn
in interface CodeVisitor
visitJumpInsn
public void visitJumpInsn(int opcode,
Label label)
- Specified by:
visitJumpInsn
in interface CodeVisitor
visitLabel
public void visitLabel(Label label)
- Specified by:
visitLabel
in interface CodeVisitor
visitLdcInsn
public void visitLdcInsn(java.lang.Object cst)
- Specified by:
visitLdcInsn
in interface CodeVisitor
visitIincInsn
public void visitIincInsn(int var,
int increment)
- Specified by:
visitIincInsn
in interface CodeVisitor
visitTableSwitchInsn
public void visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels)
- Specified by:
visitTableSwitchInsn
in interface CodeVisitor
visitLookupSwitchInsn
public void visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels)
- Specified by:
visitLookupSwitchInsn
in interface CodeVisitor
visitMultiANewArrayInsn
public void visitMultiANewArrayInsn(java.lang.String desc,
int dims)
- Specified by:
visitMultiANewArrayInsn
in interface CodeVisitor
visitTryCatchBlock
public void visitTryCatchBlock(Label start,
Label end,
Label handler,
java.lang.String type)
- Specified by:
visitTryCatchBlock
in interface CodeVisitor
visitMaxs
public void visitMaxs(int maxStack,
int maxLocals)
- Specified by:
visitMaxs
in interface CodeVisitor
visitLocalVariable
public void visitLocalVariable(java.lang.String name,
java.lang.String desc,
Label start,
Label end,
int index)
- Specified by:
visitLocalVariable
in interface CodeVisitor
visitLineNumber
public void visitLineNumber(int line,
Label start)
- Specified by:
visitLineNumber
in interface CodeVisitor
visitAttribute
public void visitAttribute(Attribute attribute)
- Specified by:
visitAttribute
in interface CodeVisitor