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