Hello, Please review this patch which fixes issues that arise with getGenericParameterTypes() and getAnnotatedParameterTypes() when there are generic signatures and synthetic parameters.
Please note that a complete fix is not possible for all cases. See discussion on https://bugs.openjdk.java.net/browse/JDK-8062582 for details. This patch will cause Executable.getAnnotatedParameterTypes(), Parameter.getAnnotatedType(), and Parameter.getParameterizedType() to report the correct types in the following cases: * No generic signature is present. * Both a generic signature and method parameters information are present * A generic signature is present, but method parameters information is not present, but the number of parameters in the generic signature and the number of parameters in the method descriptor are the same. In the problematic case, where there is a generic signature, no method parameters information, and the generic signature does not match the method descriptor, these methods will return the correct /non/-generic type, as there is no general way of associating parameters in the generic signature with those in the method descriptor in this case. Please also note that there is currently a bug in javac which causes type annotations' parameter indexes to be wrong when synthetic parameters are generated: https://bugs.openjdk.java.net/browse/JDK-8029012. The bug report is here: https://bugs.openjdk.java.net/browse/JDK-8055063 The webrev is here: http://cr.openjdk.java.net/~emc/8055063/
