Signature array parsing fix registers
authorLubomir Nerad <lubomir.nerad@oracle.com>
Fri, 18 Jan 2013 14:23:18 +0100
branchregisters
changeset 4721a73c6e08cc5
parent 319 83f638b13242
child 473 95b68e21a53f
Signature array parsing fix
javap/src/main/java/org/apidesign/javap/StackMapIterator.java
     1.1 --- a/javap/src/main/java/org/apidesign/javap/StackMapIterator.java	Fri Dec 14 15:06:53 2012 +0100
     1.2 +++ b/javap/src/main/java/org/apidesign/javap/StackMapIterator.java	Fri Jan 18 14:23:18 2013 +0100
     1.3 @@ -123,7 +123,7 @@
     1.4          }
     1.5  
     1.6          final int length = methodSignature.length();
     1.7 -        int skipType = 0;
     1.8 +        boolean skipType = false;
     1.9          int argType;
    1.10          for (int i = 1; i < length; ++i) {
    1.11              switch (methodSignature.charAt(i)) {
    1.12 @@ -156,10 +156,10 @@
    1.13                      // not interested in the return value type
    1.14                      return argTypes;
    1.15                  case '[':
    1.16 -                    if (skipType == 0) {
    1.17 +                    if (!skipType) {
    1.18                          argTypes.add(ITEM_Object);
    1.19 +                        skipType = true;
    1.20                      }
    1.21 -                    ++skipType;
    1.22                      continue;
    1.23  
    1.24                  default:
    1.25 @@ -167,10 +167,10 @@
    1.26                                    "Invalid method signature");
    1.27              }
    1.28  
    1.29 -            if (skipType == 0) {
    1.30 +            if (!skipType) {
    1.31                  argTypes.add(argType);
    1.32              } else {
    1.33 -                --skipType;
    1.34 +                skipType = false;
    1.35              }
    1.36          }
    1.37