--- old/src/share/classes/jdk/internal/org/objectweb/asm/Type.java Thu Apr 25 10:09:05 2013 +++ new/src/share/classes/jdk/internal/org/objectweb/asm/Type.java Thu Apr 25 10:09:05 2013 @@ -219,13 +219,16 @@ /** * Constructs a reference type. * - * @param sort the sort of the reference type to be constructed. - * @param buf a buffer containing the descriptor of the previous type. - * @param off the offset of this descriptor in the previous buffer. - * @param len the length of this descriptor. + * @param sort + * the sort of the reference type to be constructed. + * @param buf + * a buffer containing the descriptor of the previous type. + * @param off + * the offset of this descriptor in the previous buffer. + * @param len + * the length of this descriptor. */ - private Type(final int sort, final char[] buf, final int off, final int len) - { + private Type(final int sort, final char[] buf, final int off, final int len) { this.sort = sort; this.buf = buf; this.off = off; @@ -235,7 +238,8 @@ /** * Returns the Java type corresponding to the given type descriptor. * - * @param typeDescriptor a field or method type descriptor. + * @param typeDescriptor + * a field or method type descriptor. * @return the Java type corresponding to the given type descriptor. */ public static Type getType(final String typeDescriptor) { @@ -245,7 +249,8 @@ /** * Returns the Java type corresponding to the given internal name. * - * @param internalName an internal name. + * @param internalName + * an internal name. * @return the Java type corresponding to the given internal name. */ public static Type getObjectType(final String internalName) { @@ -257,7 +262,8 @@ * Returns the Java type corresponding to the given method descriptor. * Equivalent to Type.getType(methodDescriptor). * - * @param methodDescriptor a method descriptor. + * @param methodDescriptor + * a method descriptor. * @return the Java type corresponding to the given method descriptor. */ public static Type getMethodType(final String methodDescriptor) { @@ -268,11 +274,15 @@ * Returns the Java method type corresponding to the given argument and * return types. * - * @param returnType the return type of the method. - * @param argumentTypes the argument types of the method. - * @return the Java type corresponding to the given argument and return types. + * @param returnType + * the return type of the method. + * @param argumentTypes + * the argument types of the method. + * @return the Java type corresponding to the given argument and return + * types. */ - public static Type getMethodType(final Type returnType, final Type... argumentTypes) { + public static Type getMethodType(final Type returnType, + final Type... argumentTypes) { return getType(getMethodDescriptor(returnType, argumentTypes)); } @@ -279,7 +289,8 @@ /** * Returns the Java type corresponding to the given class. * - * @param c a class. + * @param c + * a class. * @return the Java type corresponding to the given class. */ public static Type getType(final Class c) { @@ -311,7 +322,8 @@ /** * Returns the Java method type corresponding to the given constructor. * - * @param c a {@link Constructor Constructor} object. + * @param c + * a {@link Constructor Constructor} object. * @return the Java method type corresponding to the given constructor. */ public static Type getType(final Constructor c) { @@ -321,7 +333,8 @@ /** * Returns the Java method type corresponding to the given method. * - * @param m a {@link Method Method} object. + * @param m + * a {@link Method Method} object. * @return the Java method type corresponding to the given method. */ public static Type getType(final Method m) { @@ -332,7 +345,8 @@ * Returns the Java types corresponding to the argument types of the given * method descriptor. * - * @param methodDescriptor a method descriptor. + * @param methodDescriptor + * a method descriptor. * @return the Java types corresponding to the argument types of the given * method descriptor. */ @@ -367,7 +381,8 @@ * Returns the Java types corresponding to the argument types of the given * method. * - * @param method a method. + * @param method + * a method. * @return the Java types corresponding to the argument types of the given * method. */ @@ -384,7 +399,8 @@ * Returns the Java type corresponding to the return type of the given * method descriptor. * - * @param methodDescriptor a method descriptor. + * @param methodDescriptor + * a method descriptor. * @return the Java type corresponding to the return type of the given * method descriptor. */ @@ -397,7 +413,8 @@ * Returns the Java type corresponding to the return type of the given * method. * - * @param method a method. + * @param method + * a method. * @return the Java type corresponding to the return type of the given * method. */ @@ -408,12 +425,13 @@ /** * Computes the size of the arguments and of the return value of a method. * - * @param desc the descriptor of a method. + * @param desc + * the descriptor of a method. * @return the size of the arguments of the method (plus one for the * implicit this argument), argSize, and the size of its return * value, retSize, packed into a single int i = - * (argSize << 2) | retSize (argSize is therefore equal - * to i >> 2, and retSize to i & 0x03). + * (argSize << 2) | retSize (argSize is therefore equal to + * i >> 2, and retSize to i & 0x03). */ public static int getArgumentsAndReturnSizes(final String desc) { int n = 1; @@ -448,52 +466,54 @@ * method descriptors, buf is supposed to contain nothing more than the * descriptor itself. * - * @param buf a buffer containing a type descriptor. - * @param off the offset of this descriptor in the previous buffer. + * @param buf + * a buffer containing a type descriptor. + * @param off + * the offset of this descriptor in the previous buffer. * @return the Java type corresponding to the given type descriptor. */ private static Type getType(final char[] buf, final int off) { int len; switch (buf[off]) { - case 'V': - return VOID_TYPE; - case 'Z': - return BOOLEAN_TYPE; - case 'C': - return CHAR_TYPE; - case 'B': - return BYTE_TYPE; - case 'S': - return SHORT_TYPE; - case 'I': - return INT_TYPE; - case 'F': - return FLOAT_TYPE; - case 'J': - return LONG_TYPE; - case 'D': - return DOUBLE_TYPE; - case '[': - len = 1; - while (buf[off + len] == '[') { - ++len; - } - if (buf[off + len] == 'L') { - ++len; - while (buf[off + len] != ';') { - ++len; - } - } - return new Type(ARRAY, buf, off, len + 1); - case 'L': - len = 1; + case 'V': + return VOID_TYPE; + case 'Z': + return BOOLEAN_TYPE; + case 'C': + return CHAR_TYPE; + case 'B': + return BYTE_TYPE; + case 'S': + return SHORT_TYPE; + case 'I': + return INT_TYPE; + case 'F': + return FLOAT_TYPE; + case 'J': + return LONG_TYPE; + case 'D': + return DOUBLE_TYPE; + case '[': + len = 1; + while (buf[off + len] == '[') { + ++len; + } + if (buf[off + len] == 'L') { + ++len; while (buf[off + len] != ';') { ++len; } - return new Type(OBJECT, buf, off + 1, len - 1); + } + return new Type(ARRAY, buf, off, len + 1); + case 'L': + len = 1; + while (buf[off + len] != ';') { + ++len; + } + return new Type(OBJECT, buf, off + 1, len - 1); // case '(': - default: - return new Type(METHOD, buf, 0, buf.length); + default: + return new Type(METHOD, buf, off, buf.length - off); } } @@ -504,11 +524,11 @@ /** * Returns the sort of this Java type. * - * @return {@link #VOID VOID}, {@link #BOOLEAN BOOLEAN}, - * {@link #CHAR CHAR}, {@link #BYTE BYTE}, {@link #SHORT SHORT}, - * {@link #INT INT}, {@link #FLOAT FLOAT}, {@link #LONG LONG}, - * {@link #DOUBLE DOUBLE}, {@link #ARRAY ARRAY}, - * {@link #OBJECT OBJECT} or {@link #METHOD METHOD}. + * @return {@link #VOID VOID}, {@link #BOOLEAN BOOLEAN}, {@link #CHAR CHAR}, + * {@link #BYTE BYTE}, {@link #SHORT SHORT}, {@link #INT INT}, + * {@link #FLOAT FLOAT}, {@link #LONG LONG}, {@link #DOUBLE DOUBLE}, + * {@link #ARRAY ARRAY}, {@link #OBJECT OBJECT} or {@link #METHOD + * METHOD}. */ public int getSort() { return sort; @@ -546,34 +566,34 @@ */ public String getClassName() { switch (sort) { - case VOID: - return "void"; - case BOOLEAN: - return "boolean"; - case CHAR: - return "char"; - case BYTE: - return "byte"; - case SHORT: - return "short"; - case INT: - return "int"; - case FLOAT: - return "float"; - case LONG: - return "long"; - case DOUBLE: - return "double"; - case ARRAY: - StringBuffer b = new StringBuffer(getElementType().getClassName()); - for (int i = getDimensions(); i > 0; --i) { - b.append("[]"); - } - return b.toString(); - case OBJECT: - return new String(buf, off, len).replace('/', '.'); - default: - return null; + case VOID: + return "void"; + case BOOLEAN: + return "boolean"; + case CHAR: + return "char"; + case BYTE: + return "byte"; + case SHORT: + return "short"; + case INT: + return "int"; + case FLOAT: + return "float"; + case LONG: + return "long"; + case DOUBLE: + return "double"; + case ARRAY: + StringBuffer b = new StringBuffer(getElementType().getClassName()); + for (int i = getDimensions(); i > 0; --i) { + b.append("[]"); + } + return b.toString(); + case OBJECT: + return new String(buf, off, len).replace('/', '.'); + default: + return null; } } @@ -615,9 +635,10 @@ * * @return the size of the arguments (plus one for the implicit this * argument), argSize, and the size of the return value, retSize, - * packed into a single int i = (argSize << 2) | retSize - * (argSize is therefore equal to i >> 2, and retSize to - * i & 0x03). + * packed into a single + * int i = (argSize << 2) | retSize + * (argSize is therefore equal to i >> 2, + * and retSize to i & 0x03). */ public int getArgumentsAndReturnSizes() { return getArgumentsAndReturnSizes(getDescriptor()); @@ -642,15 +663,15 @@ * Returns the descriptor corresponding to the given argument and return * types. * - * @param returnType the return type of the method. - * @param argumentTypes the argument types of the method. + * @param returnType + * the return type of the method. + * @param argumentTypes + * the argument types of the method. * @return the descriptor corresponding to the given argument and return * types. */ - public static String getMethodDescriptor( - final Type returnType, - final Type... argumentTypes) - { + public static String getMethodDescriptor(final Type returnType, + final Type... argumentTypes) { StringBuffer buf = new StringBuffer(); buf.append('('); for (int i = 0; i < argumentTypes.length; ++i) { @@ -665,11 +686,13 @@ * Appends the descriptor corresponding to this Java type to the given * string buffer. * - * @param buf the string buffer to which the descriptor must be appended. + * @param buf + * the string buffer to which the descriptor must be appended. */ private void getDescriptor(final StringBuffer buf) { if (this.buf == null) { - // descriptor is in byte 3 of 'off' for primitive types (buf == null) + // descriptor is in byte 3 of 'off' for primitive types (buf == + // null) buf.append((char) ((off & 0xFF000000) >>> 24)); } else if (sort == OBJECT) { buf.append('L'); @@ -690,7 +713,8 @@ * class is its fully qualified name, as returned by Class.getName(), where * '.' are replaced by '/'. * - * @param c an object or array class. + * @param c + * an object or array class. * @return the internal name of the given class. */ public static String getInternalName(final Class c) { @@ -700,7 +724,8 @@ /** * Returns the descriptor corresponding to the given Java type. * - * @param c an object class, a primitive class or an array class. + * @param c + * an object class, a primitive class or an array class. * @return the descriptor corresponding to the given class. */ public static String getDescriptor(final Class c) { @@ -712,7 +737,8 @@ /** * Returns the descriptor corresponding to the given constructor. * - * @param c a {@link Constructor Constructor} object. + * @param c + * a {@link Constructor Constructor} object. * @return the descriptor of the given constructor. */ public static String getConstructorDescriptor(final Constructor c) { @@ -728,7 +754,8 @@ /** * Returns the descriptor corresponding to the given method. * - * @param m a {@link Method Method} object. + * @param m + * a {@link Method Method} object. * @return the descriptor of the given method. */ public static String getMethodDescriptor(final Method m) { @@ -746,8 +773,10 @@ /** * Appends the descriptor of the given class to the given string buffer. * - * @param buf the string buffer to which the descriptor must be appended. - * @param c the class whose descriptor must be computed. + * @param buf + * the string buffer to which the descriptor must be appended. + * @param c + * the class whose descriptor must be computed. */ private static void getDescriptor(final StringBuffer buf, final Class c) { Class d = c; @@ -812,9 +841,10 @@ * Returns a JVM instruction opcode adapted to this Java type. This method * must not be used for method types. * - * @param opcode a JVM instruction opcode. This opcode must be one of ILOAD, - * ISTORE, IALOAD, IASTORE, IADD, ISUB, IMUL, IDIV, IREM, INEG, ISHL, - * ISHR, IUSHR, IAND, IOR, IXOR and IRETURN. + * @param opcode + * a JVM instruction opcode. This opcode must be one of ILOAD, + * ISTORE, IALOAD, IASTORE, IADD, ISUB, IMUL, IDIV, IREM, INEG, + * ISHL, ISHR, IUSHR, IAND, IOR, IXOR and IRETURN. * @return an opcode that is similar to the given opcode, but adapted to * this Java type. For example, if this type is float and * opcode is IRETURN, this method returns FRETURN. @@ -838,7 +868,8 @@ /** * Tests if the given object is equal to this type. * - * @param o the object to be compared to this type. + * @param o + * the object to be compared to this type. * @return true if the given object is equal to this type. */ @Override