src/share/classes/java/lang/reflect/Executable.java
Print this page
*** 324,342 ****
// Otherwise, go to the JVM to get them
tmp = getParameters0();
// If we get back nothing, then synthesize parameters
! if (tmp == null)
tmp = synthesizeAllParams();
parameters = tmp;
}
return tmp;
}
private transient volatile Parameter[] parameters;
private native Parameter[] getParameters0();
/**
--- 324,356 ----
// Otherwise, go to the JVM to get them
tmp = getParameters0();
// If we get back nothing, then synthesize parameters
! if (tmp == null) {
! hasRealParameterData = false;
tmp = synthesizeAllParams();
+ } else {
+ hasRealParameterData = true;
+ }
parameters = tmp;
}
return tmp;
}
+ boolean hasRealParameterData() {
+ // If this somehow gets called before parameters gets
+ // initialized, force it into existence.
+ if (parameters == null)
+ privateGetParameters();
+
+ return hasRealParameterData;
+ }
+
+ private boolean hasRealParameterData;
private transient volatile Parameter[] parameters;
private native Parameter[] getParameters0();
/**