org.objectweb.speedo.generation.enhancer
Class CodeDuplicator

org.objectweb.speedo.generation.enhancer.CodeDuplicator

public class CodeDuplicator

Creates several copies of a method.


Constructor Summary
CodeDuplicator(org.objectweb.asm.CodeVisitor[] cvs)
          Constructs a CodeDuplicator.
CodeDuplicator(java.util.List cvs)
          Constructs a CodeDuplicator.
CodeDuplicator(org.objectweb.util.monolog.api.Logger logger)
           
 
Method Summary
 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, org.objectweb.asm.Label label)
           
 void visitLabel(org.objectweb.asm.Label label)
           
 void visitLdcInsn(java.lang.Object cst)
           
 void visitLineNumber(int line, org.objectweb.asm.Label start)
           
 void visitLocalVariable(java.lang.String name, java.lang.String desc, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index)
           
 void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.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, org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels)
           
 void visitTryCatchBlock(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, java.lang.String type)
           
 void visitTypeInsn(int opcode, java.lang.String desc)
           
 void visitVarInsn(int opcode, int var)
           
 

Constructor Detail

CodeDuplicator

public CodeDuplicator(org.objectweb.util.monolog.api.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(org.objectweb.asm.CodeVisitor[] cvs)
Constructs a CodeDuplicator.
Parameters:
cvs - an array of code visitors, to be used to generate the copies.
Method Detail

visitInsn

public void visitInsn(int opcode)

visitIntInsn

public void visitIntInsn(int opcode,
                         int operand)

visitVarInsn

public void visitVarInsn(int opcode,
                         int var)

visitTypeInsn

public void visitTypeInsn(int opcode,
                          java.lang.String desc)

visitFieldInsn

public void visitFieldInsn(int opcode,
                           java.lang.String owner,
                           java.lang.String name,
                           java.lang.String desc)

visitMethodInsn

public void visitMethodInsn(int opcode,
                            java.lang.String owner,
                            java.lang.String name,
                            java.lang.String desc)

visitJumpInsn

public void visitJumpInsn(int opcode,
                          org.objectweb.asm.Label label)

visitLabel

public void visitLabel(org.objectweb.asm.Label label)

visitLdcInsn

public void visitLdcInsn(java.lang.Object cst)

visitIincInsn

public void visitIincInsn(int var,
                          int increment)

visitTableSwitchInsn

public void visitTableSwitchInsn(int min,
                                 int max,
                                 org.objectweb.asm.Label dflt,
                                 org.objectweb.asm.Label[] labels)

visitLookupSwitchInsn

public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt,
                                  int[] keys,
                                  org.objectweb.asm.Label[] labels)

visitMultiANewArrayInsn

public void visitMultiANewArrayInsn(java.lang.String desc,
                                    int dims)

visitTryCatchBlock

public void visitTryCatchBlock(org.objectweb.asm.Label start,
                               org.objectweb.asm.Label end,
                               org.objectweb.asm.Label handler,
                               java.lang.String type)

visitMaxs

public void visitMaxs(int maxStack,
                      int maxLocals)

visitLocalVariable

public void visitLocalVariable(java.lang.String name,
                               java.lang.String desc,
                               org.objectweb.asm.Label start,
                               org.objectweb.asm.Label end,
                               int index)

visitLineNumber

public void visitLineNumber(int line,
                            org.objectweb.asm.Label start)