# HG changeset patch # User Lubomir Nerad # Date 1358515398 -3600 # Node ID 1a73c6e08cc52fe77522f4cd27254de14ff1bb5a # Parent 83f638b1324261b1e08763c314b9532e8dfb85ae Signature array parsing fix diff -r 83f638b13242 -r 1a73c6e08cc5 javap/src/main/java/org/apidesign/javap/StackMapIterator.java --- a/javap/src/main/java/org/apidesign/javap/StackMapIterator.java Fri Dec 14 15:06:53 2012 +0100 +++ b/javap/src/main/java/org/apidesign/javap/StackMapIterator.java Fri Jan 18 14:23:18 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; } }