6643627: JMX source code includes incorrect Java code

Javac compiler bug accepts incorrect code; JMX code inadvertently has such code

Reviewed-by: dfuchs
This commit is contained in:
Eamonn McManus 2008-03-21 18:07:57 +01:00
parent 86bf96a3b2
commit 4387f047bc
2 changed files with 9 additions and 9 deletions

View File

@ -1118,11 +1118,11 @@ public abstract class OpenConverter {
final Class<ConstructorProperties> propertyNamesClass = ConstructorProperties.class;
Class targetClass = getTargetClass();
Constructor[] constrs = targetClass.getConstructors();
Constructor<?>[] constrs = targetClass.getConstructors();
// Applicable if and only if there are any annotated constructors
List<Constructor> annotatedConstrList = newList();
for (Constructor constr : constrs) {
List<Constructor<?>> annotatedConstrList = newList();
for (Constructor<?> constr : constrs) {
if (Modifier.isPublic(constr.getModifiers())
&& constr.getAnnotation(propertyNamesClass) != null)
annotatedConstrList.add(constr);
@ -1152,7 +1152,7 @@ public abstract class OpenConverter {
// Also remember the set of properties in that constructor
// so we can test unambiguity.
Set<BitSet> getterIndexSets = newSet();
for (Constructor constr : annotatedConstrList) {
for (Constructor<?> constr : annotatedConstrList) {
String[] propertyNames =
constr.getAnnotation(propertyNamesClass).value();
@ -1309,10 +1309,10 @@ public abstract class OpenConverter {
}
private static class Constr {
final Constructor constructor;
final Constructor<?> constructor;
final int[] paramIndexes;
final BitSet presentParams;
Constr(Constructor constructor, int[] paramIndexes,
Constr(Constructor<?> constructor, int[] paramIndexes,
BitSet presentParams) {
this.constructor = constructor;
this.paramIndexes = paramIndexes;

View File

@ -1553,7 +1553,7 @@ class MetaData {
private static String[] getConstructorProperties(Class type) {
String[] names = null;
int length = 0;
for (Constructor constructor : type.getConstructors()) {
for (Constructor<?> constructor : type.getConstructors()) {
String[] value = getAnnotationValue(constructor);
if ((value != null) && (length < value.length) && isValid(constructor, value)) {
names = value;
@ -1563,14 +1563,14 @@ class MetaData {
return names;
}
private static String[] getAnnotationValue(Constructor constructor) {
private static String[] getAnnotationValue(Constructor<?> constructor) {
ConstructorProperties annotation = constructor.getAnnotation(ConstructorProperties.class);
return (annotation != null)
? annotation.value()
: null;
}
private static boolean isValid(Constructor constructor, String[] names) {
private static boolean isValid(Constructor<?> constructor, String[] names) {
Class[] parameters = constructor.getParameterTypes();
if (names.length != parameters.length) {
return false;