<modelVersion>4.0.0</modelVersion>\r
<groupId>jp.sourceforge.stigmata.plugins</groupId>\r
<artifactId>wsp</artifactId>\r
- <name>wsp</name>\r
+ <name>Weighted Stack Pattern Birthmark</name>\r
<version>1.0.1-SNAPSHOT</version>\r
<url>http://stigmata.sourceforge.jp/plugins/wsp/</url>\r
\r
import jp.sourceforge.stigmata.birthmarks.AbstractBirthmarkPreprocessor;
import jp.sourceforge.stigmata.digger.ClassFileArchive;
import jp.sourceforge.stigmata.digger.ClassFileEntry;
+import jp.sourceforge.stigmata.plugins.Opcode;
+import jp.sourceforge.stigmata.plugins.OpcodeExtractMethodVisitor;
import jp.sourceforge.stigmata.spi.BirthmarkSpi;
import org.objectweb.asm.ClassAdapter;
import org.objectweb.asm.MethodVisitor;
/**
- *
+ *
* @author Haruaki Tamada
* @version $Revision$
*/
ClassAdapter opcodeExtractVisitor = new ClassAdapter(writer){
@Override
public MethodVisitor visitMethod(int arg0, String arg1, String arg2, String arg3, String[] arg4){
- OpcodeExtractionMethodVisitor visitor =
- new OpcodeExtractionMethodVisitor(super.visitMethod(arg0, arg1, arg2, arg3, arg4), opcodes);
+ OpcodeExtractMethodVisitor visitor =
+ new OpcodeExtractMethodVisitor(super.visitMethod(arg0, arg1, arg2, arg3, arg4), opcodes);
return visitor;
}
};
import jp.sourceforge.stigmata.ExtractionUnit;
import jp.sourceforge.stigmata.birthmarks.ASMBirthmarkExtractor;
import jp.sourceforge.stigmata.birthmarks.BirthmarkExtractVisitor;
+import jp.sourceforge.stigmata.plugins.LabelOpcode;
+import jp.sourceforge.stigmata.plugins.Opcode;
+import jp.sourceforge.stigmata.plugins.OpcodeExtractMethodVisitor;
import jp.sourceforge.stigmata.spi.BirthmarkSpi;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.MethodVisitor;
/**
- *
+ *
* @author Haruaki Tamada
* @version $Revision$
*/
return elements.toArray(new BirthmarkElement[elements.size()]);
}
-
+
@SuppressWarnings("unchecked")
- private List<CurrentDepth> buildStackPattern(List<Opcode> opcodes, BirthmarkContext context){
+ private List<CurrentDepth> buildStackPattern(List<Opcode> opcodes, BirthmarkContext context){
Map<Label, Integer> tableMap = new HashMap<Label, Integer>();
List<CurrentDepth> pattern = new ArrayList<CurrentDepth>();
Map<Integer, Integer> weights = (Map<Integer, Integer>)context.getProperty("birthmarks.wsp.weights");
currentDepth += opcode.getAct();
}
else{
- currentDepth = forwardedStatus + opcode.getAct();
+ currentDepth = forwardedStatus + opcode.getAct();
}
forwardedStatus = null;
@Override
public MethodVisitor visitMethod(int arg0, String arg1, String arg2, String arg3, String[] arg4){
MethodVisitor visitor = super.visitMethod(arg0, arg1, arg2, arg3, arg4);
- OpcodeExtractionMethodVisitor opcodeVisitor = new OpcodeExtractionMethodVisitor(visitor, opcodeList);
+ OpcodeExtractMethodVisitor opcodeVisitor = new OpcodeExtractMethodVisitor(visitor, opcodeList);
return opcodeVisitor;
}
\r
<body>\r
<menu name="WSP" inherit="top">\r
- <item name="Introduction" href="index.html"/>\r
+ <item name="Introduction" href="wsp/index.html"/>\r
+ <item name="How to install" href="install.html" />\r
+ <item name="Download" href="download.html"/>\r
</menu>\r
\r
<menu ref="reports"/>\r