diff -r eaf4e8387065 -r 62b514a70382 javap/src/main/java/org/apidesign/javap/StackMapIterator.java --- a/javap/src/main/java/org/apidesign/javap/StackMapIterator.java Wed Dec 12 11:04:02 2012 +0100 +++ b/javap/src/main/java/org/apidesign/javap/StackMapIterator.java Tue Feb 05 15:32:16 2013 +0100 @@ -123,7 +123,7 @@ } final int length = methodSignature.length(); - int skipType = 0; + boolean skipType = false; int argType; for (int i = 1; i < length; ++i) { switch (methodSignature.charAt(i)) { @@ -156,10 +156,10 @@ // not interested in the return value type return argTypes; case '[': - if (skipType == 0) { + if (!skipType) { argTypes.add(ITEM_Object); + skipType = true; } - ++skipType; continue; default: @@ -167,10 +167,10 @@ "Invalid method signature"); } - if (skipType == 0) { + if (!skipType) { argTypes.add(argType); } else { - --skipType; + skipType = false; } }