codes[pc + 3], codes[pc + 4]);
jcfaCode.getComment().getCommentList()
.add(" TODO skipping operands: why?: " + result);
+ System.out.println("skipBytes: " + result);
int lookupOp = pc + 5;
int loopCount = JcfaUtil
.byte2Int(codes[lookupOp++], codes[lookupOp++],
codes[lookupOp++], codes[lookupOp++]);
+ System.out.println("count: " + loopCount);
+
// switch table on loopCount.
short diff2 = JcfaUtil.byte2UnsignedByte(codes[lookupOp++]);
case Constants.LOOKUPSWITCH:
int skipBytes = JcfaUtil.byte2Int(codes[1], codes[2], codes[3],
codes[4]);
+
jcfaCode.getComment().getCommentList()
.add(" TODO skipping bytes: " + (skipBytes));
--- /dev/null
+package test;
+
+/** TODO import func. is missing. */
+public class TestJavaClass032 {
+ /** Default constructor. */
+ public TestJavaClass032() {
+ /*
+ * 0: aload_0 TODO unsupported opcode
+ */
+
+ /*
+ * 1: invokespecial java/lang/Object#<init>()V
+ */
+
+ /* 4: return */
+ }
+
+ /** Method. */
+ public void switchSample() {
+ /*
+ * 0: iconst_5 TODO unsupported opcode
+ */
+
+ /*
+ * 1: istore_1 TODO unsupported opcode
+ */
+
+ /*
+ * 2: iload_1 TODO unsupported opcode
+ */
+
+ /*
+ * 3: tableswitch TODO no support opecode and operands TODO unsupported
+ * opcode
+ */
+ }
+}
\ No newline at end of file
--- /dev/null
+package test;
+
+/**
+ * Simple test class for JavaClassFileAnalyzer.
+ *
+ * @author Toshiki Iga
+ */
+public class TestJavaClass032 {
+ public void switchSample() {
+ int i = 5;
+ switch (i) {
+ case 1:
+ System.out.println("Test: " + i);
+ break;
+ case 100:
+ System.out.println("Test: " + i);
+ break;
+ default:
+ System.out.println("Default: " + i);
+ break;
+ }
+ }
+}