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,10 +26,11 @@
 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,11 +176,11 @@
      * @throws SecurityException
      *         if the security manager's {@code checkPermission}
      *         denies {@code RuntimePermission("nashorn.setConfig")}
      */
     public ScriptEngine getScriptEngine(final ClassFilter classFilter) {
-        classFilter.getClass(); // null check
+        Objects.requireNonNull(classFilter);
         return newEngine(DEFAULT_OPTIONS, getAppClassLoader(), classFilter);
     }
 
     /**
      * Create a new Script engine initialized by given arguments.

@@ -190,11 +191,11 @@
      * @throws SecurityException
      *         if the security manager's {@code checkPermission}
      *         denies {@code RuntimePermission("nashorn.setConfig")}
      */
     public ScriptEngine getScriptEngine(final String... args) {
-        args.getClass(); // null check
+        Objects.requireNonNull(args);
         return newEngine(args, getAppClassLoader(), null);
     }
 
     /**
      * Create a new Script engine initialized by given arguments.

@@ -206,11 +207,11 @@
      * @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
+        Objects.requireNonNull(args);
         return newEngine(args, appLoader, null);
     }
 
     /**
      * Create a new Script engine initialized by given arguments.

@@ -223,12 +224,12 @@
      * @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
+        Objects.requireNonNull(args);
+        Objects.requireNonNull(classFilter);
         return newEngine(args, appLoader, classFilter);
     }
 
     private ScriptEngine newEngine(final String[] args, final ClassLoader appLoader, final ClassFilter classFilter) {
         checkConfigPermission();