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(); /**