src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java
Print this page
rev 1199 : 8072595: nashorn should not use obj.getClass() for null checks
Reviewed-by: hannesw, attila
*** 26,35 ****
--- 26,36 ----
package jdk.nashorn.api.scripting;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+ import java.util.Objects;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import jdk.nashorn.internal.runtime.Context;
import jdk.nashorn.internal.runtime.Version;
*** 175,185 ****
* @throws SecurityException
* if the security manager's {@code checkPermission}
* denies {@code RuntimePermission("nashorn.setConfig")}
*/
public ScriptEngine getScriptEngine(final ClassFilter classFilter) {
! classFilter.getClass(); // null check
return newEngine(DEFAULT_OPTIONS, getAppClassLoader(), classFilter);
}
/**
* Create a new Script engine initialized by given arguments.
--- 176,186 ----
* @throws SecurityException
* if the security manager's {@code checkPermission}
* denies {@code RuntimePermission("nashorn.setConfig")}
*/
public ScriptEngine getScriptEngine(final ClassFilter classFilter) {
! Objects.requireNonNull(classFilter);
return newEngine(DEFAULT_OPTIONS, getAppClassLoader(), classFilter);
}
/**
* Create a new Script engine initialized by given arguments.
*** 190,200 ****
* @throws SecurityException
* if the security manager's {@code checkPermission}
* denies {@code RuntimePermission("nashorn.setConfig")}
*/
public ScriptEngine getScriptEngine(final String... args) {
! args.getClass(); // null check
return newEngine(args, getAppClassLoader(), null);
}
/**
* Create a new Script engine initialized by given arguments.
--- 191,201 ----
* @throws SecurityException
* if the security manager's {@code checkPermission}
* denies {@code RuntimePermission("nashorn.setConfig")}
*/
public ScriptEngine getScriptEngine(final String... args) {
! Objects.requireNonNull(args);
return newEngine(args, getAppClassLoader(), null);
}
/**
* Create a new Script engine initialized by given arguments.
*** 206,216 ****
* @throws SecurityException
* if the security manager's {@code checkPermission}
* denies {@code RuntimePermission("nashorn.setConfig")}
*/
public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader) {
! args.getClass(); // null check
return newEngine(args, appLoader, null);
}
/**
* Create a new Script engine initialized by given arguments.
--- 207,217 ----
* @throws SecurityException
* if the security manager's {@code checkPermission}
* denies {@code RuntimePermission("nashorn.setConfig")}
*/
public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader) {
! Objects.requireNonNull(args);
return newEngine(args, appLoader, null);
}
/**
* Create a new Script engine initialized by given arguments.
*** 223,234 ****
* @throws SecurityException
* if the security manager's {@code checkPermission}
* denies {@code RuntimePermission("nashorn.setConfig")}
*/
public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter) {
! args.getClass(); // null check
! classFilter.getClass(); // null check
return newEngine(args, appLoader, classFilter);
}
private ScriptEngine newEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter) {
checkConfigPermission();
--- 224,235 ----
* @throws SecurityException
* if the security manager's {@code checkPermission}
* denies {@code RuntimePermission("nashorn.setConfig")}
*/
public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter) {
! Objects.requireNonNull(args);
! Objects.requireNonNull(classFilter);
return newEngine(args, appLoader, classFilter);
}
private ScriptEngine newEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter) {
checkConfigPermission();