* @version $Revision$
*/
public interface BirthmarkElementBuilder {
- public BirthmarkElement[] buildBirthmarkElements(List<Opcode> opcodes, BirthmarkContext context);
+ public BirthmarkElement[] buildElements(List<Opcode> opcodes, BirthmarkContext context);
}
import org.objectweb.asm.Label;
/**
- *
+ *
* @author Haruaki Tamada
* @version $Revision$
*/
private String name;
private int argumentCount;
private int act;
- private int weight;
private Category category;
private List<Label> labels = new ArrayList<Label>();
this.category = category;
}
- Opcode(int opcode, String name, int argumentCount, int act, Category category, int weight){
- this(opcode, name, argumentCount, act, category);
- setWeight(weight);
- }
-
public int getOpcode(){
return opcode;
}
return category;
}
- public void setWeight(int weight){
- this.weight = weight;
- }
-
- public int getWeight(){
- return weight;
- }
-
public String toString(){
- return String.format("%d:%s:%d:%f(%s)", getOpcode(), getName(), getAct(), getWeight(), getCategory());
+ return String.format("%d:%s:%f(%s)", getOpcode(), getName(), getAct(), getCategory());
}
}
import org.objectweb.asm.Type;
/**
- *
+ *
* @author Haruaki TAMADA
- * @version $Revision$
+ * @version $Revision$
*/
public class OpcodeExtractMethodVisitor extends MethodAdapter{
private List<Opcode> opcodes;
this.opcodes = opcodes;
}
- public void addOpcodeExtractListener(OpcodeExtractionFinishListener listener){
+ public void addOpcodeExtractListener(OpcodeExtractListener listener){
listeners.add(listener);
}
- public void removeOpcodeExtractListener(OpcodeExtractionFinishListener listener){
+ public void removeOpcodeExtractListener(OpcodeExtractListener listener){
listeners.add(listener);
}
Opcode lookupSwitch = new Opcode(manager.getOpcode(Opcodes.LOOKUPSWITCH));
lookupSwitch.setLabels(labels);
lookupSwitch.addLabel(defaultHandle);
-
+
opcodes.add(lookupSwitch);
super.visitLookupSwitchInsn(defaultHandle, keys, labels);
}
@Override
public void visitEnd(){
- for(OpcodeExtractionFinishListener listener: listeners){
- listener.extractionOpcodesFinished(opcodes);
+ for(OpcodeExtractListener listener: listeners){
+ listener.extractOpcodesFinished(opcodes);
}
}
}
import jp.sourceforge.stigmata.Birthmark;
import jp.sourceforge.stigmata.BirthmarkContext;
import jp.sourceforge.stigmata.BirthmarkElement;
-import jp.sourceforge.stigmata.birthmarks.BirthmarkExtractVisitor;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.MethodVisitor;
}
public void visitEnd(){
- BirthmarkElement[] elements = builder.buildBirthmarkElements(opcodeList, getContext());
+ BirthmarkElement[] elements = builder.buildElements(opcodeList, getContext());
for(BirthmarkElement element: elements){
addElement(element);
}