Hello,

Another part of an on-going cleanup of library serialization usage ahead of augmented javac -Xlint warnings (JDK-8160675), the non-serializable instance fields of serializable types in the jdk.scripting.nashorn module should have their serial warnings suppressed. The analogous issue in core libs is JDK-8231202.

Please review:

    JDK-8231557: Suppress warnings on non-serializable instance fields in jdk.scripting.nashorn module
    http://cr.openjdk.java.net/~darcy/8231557.0/

Patch below. I'll update copyright years before a push.

Thanks,

-Joe

--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Property.java 2019-09-26 15:28:51.764610000 -0700 +++ new/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Property.java 2019-09-26 15:28:51.572514000 -0700
@@ -103,6 +103,7 @@
     public static final int IS_ACCESSOR_PROPERTY    = 1 << 12;

     /** Property key. */
+    @SuppressWarnings("serial") // Not statically typed as Serializable
     private final Object key;

     /** Property flags. */
--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java 2019-09-26 15:28:52.300877999 -0700 +++ new/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java 2019-09-26 15:28:52.108782000 -0700
@@ -118,11 +118,13 @@
      * Opaque object representing parser state at the end of the function. Used when reparsing outer function
      * to help with skipping parsing inner functions.
      */
+    @SuppressWarnings("serial") // Not statically typed as Serializable
     private final Object endParserState;

     /** Code installer used for all further recompilation/specialization of this ScriptFunction */
     private transient CodeInstaller installer;

+    @SuppressWarnings("serial") // Not statically typed as Serializable
     private final Map<Integer, RecompilableScriptFunctionData> nestedFunctions;

     /** Id to parent function if one exists */
@@ -135,8 +137,10 @@

     private transient DebugLogger log;

+    @SuppressWarnings("serial") // Not statically typed as Serializable
     private final Map<String, Integer> externalScopeDepths;

+    @SuppressWarnings("serial") // Not statically typed as Serializable
     private final Set<String> internalSymbols;

     private static final int GET_SET_PREFIX_LENGTH = "*et ".length();
--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SharedPropertyMap.java 2019-09-26 15:28:52.861157999 -0700 +++ new/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SharedPropertyMap.java 2019-09-26 15:28:52.657056000 -0700
@@ -40,6 +40,7 @@
  */
 public final class SharedPropertyMap extends PropertyMap {

+    @SuppressWarnings("serial") // Not statically typed as Serializable
     private SwitchPoint switchPoint;

     private static final long serialVersionUID = 2166297719721778876L;
--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/StoredScript.java 2019-09-26 15:28:53.357406000 -0700 +++ new/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/StoredScript.java 2019-09-26 15:28:53.157306000 -0700
@@ -42,12 +42,15 @@
     private final String mainClassName;

     /** Map of class names to class bytes. */
+    @SuppressWarnings("serial") // Not statically typed as Serializable
     private final Map<String, byte[]> classBytes;

     /** Constants array. */
+    @SuppressWarnings("serial") // Not statically typed as Serializable
     private final Object[] constants;

     /** Function initializers */
+    @SuppressWarnings("serial") // Not statically typed as Serializable
     private final Map<Integer, FunctionInitializer> initializers;

     private static final long serialVersionUID = 2958227232195298340L;

Reply via email to