src/java.base/share/classes/jdk/internal/org/objectweb/asm/TypePath.java

Print this page

        

*** 179,188 **** --- 179,191 ---- int typeArg = c - '0'; while (i < n && (c = typePath.charAt(i)) >= '0' && c <= '9') { typeArg = typeArg * 10 + c - '0'; i += 1; } + if (i < n && typePath.charAt(i) == ';') { + i += 1; + } out.put11(TYPE_ARGUMENT, typeArg); } } out.data[0] = (byte) (out.length / 2); return new TypePath(out.data, 0);
*** 191,201 **** /** * Returns a string representation of this type path. {@link #ARRAY_ELEMENT * ARRAY_ELEMENT} steps are represented with '[', {@link #INNER_TYPE * INNER_TYPE} steps with '.', {@link #WILDCARD_BOUND WILDCARD_BOUND} steps * with '*' and {@link #TYPE_ARGUMENT TYPE_ARGUMENT} steps with their type ! * argument index in decimal form. */ @Override public String toString() { int length = getLength(); StringBuilder result = new StringBuilder(length * 2); --- 194,204 ---- /** * Returns a string representation of this type path. {@link #ARRAY_ELEMENT * ARRAY_ELEMENT} steps are represented with '[', {@link #INNER_TYPE * INNER_TYPE} steps with '.', {@link #WILDCARD_BOUND WILDCARD_BOUND} steps * with '*' and {@link #TYPE_ARGUMENT TYPE_ARGUMENT} steps with their type ! * argument index in decimal form followed by ';'. */ @Override public String toString() { int length = getLength(); StringBuilder result = new StringBuilder(length * 2);
*** 209,219 **** break; case WILDCARD_BOUND: result.append('*'); break; case TYPE_ARGUMENT: ! result.append(getStepArgument(i)); break; default: result.append('_'); } } --- 212,222 ---- break; case WILDCARD_BOUND: result.append('*'); break; case TYPE_ARGUMENT: ! result.append(getStepArgument(i)).append(';'); break; default: result.append('_'); } }