/** Only valid for T_ARRAY; throws unspecified exception otherwise */ public ArrayInfo getArrayInfo() { int index = 1; int dim = 1; index = skipOptionalSize(signature, index); while (signature.getByteAt(index) == '[') { index++; dim++; skipOptionalSize(signature, index); } int elementType = BasicType.charToType((char) signature.getByteAt(index)); return new ArrayInfo(dim, elementType); }