Update to javac9-r4023

PiperOrigin-RevId: 154078281
diff --git a/src/BUILD b/src/BUILD
index 6fc3aea..ba5735b 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -130,7 +130,7 @@
         "//tools:embedded_tools_srcs",
         "//third_party:gpl-srcs",
         "//third_party/java/jarjar:embedded_tools_srcs",
-        "//third_party/java/jdk/langtools:test-srcs",
+        "//third_party/java/jdk/langtools:test-srcs-9-dev-r4023-1",
         "//third_party/py/concurrent:srcs",
         "//third_party/py/gflags:srcs",
         "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:srcs",
diff --git a/src/create_embedded_tools.sh b/src/create_embedded_tools.sh
index fdaf0e1..da55a70 100755
--- a/src/create_embedded_tools.sh
+++ b/src/create_embedded_tools.sh
@@ -37,7 +37,7 @@
     *JavaBuilder*_deploy.jar) OUTPUT_PATH=tools/jdk/${i##*/} ;;
     *JacocoCoverage*_deploy.jar) OUTPUT_PATH=tools/jdk/JacocoCoverage_deploy.jar ;;
     *turbine_deploy.jar) OUTPUT_PATH=tools/jdk/turbine_deploy.jar ;;
-    *javac-9-dev-r3297-4.jar) OUTPUT_PATH=third_party/java/jdk/langtools/javac-9-dev-r3297-4.jar ;;
+    *javac-9-dev-r4023-1.jar) OUTPUT_PATH=third_party/java/jdk/langtools/javac-9-dev-r4023-1.jar ;;
     *javac7.jar) OUTPUT_PATH=third_party/java/jdk/langtools/javac7.jar ;;
     *SingleJar_deploy.jar) OUTPUT_PATH=tools/jdk/SingleJar_deploy.jar ;;
     *GenClass_deploy.jar) OUTPUT_PATH=tools/jdk/GenClass_deploy.jar ;;
@@ -76,9 +76,9 @@
   mv ${PACKAGE_DIR}/zulu* ${PACKAGE_DIR}/jdk
 fi
 
-if [ ! -f ${PACKAGE_DIR}/third_party/java/jdk/langtools/javac-9-dev-r3297-4.jar ]; then
+if [ ! -f ${PACKAGE_DIR}/third_party/java/jdk/langtools/javac-9-dev-r4023-1.jar ]; then
   cp ${PACKAGE_DIR}/third_party/java/jdk/langtools/javac7.jar \
-      ${PACKAGE_DIR}/third_party/java/jdk/langtools/javac-9-dev-r3297-4.jar
+      ${PACKAGE_DIR}/third_party/java/jdk/langtools/javac-9-dev-r4023-1.jar
 fi
 
 cat > "${PACKAGE_DIR}/WORKSPACE" <<EOF
diff --git a/src/java_tools/buildjar/BUILD b/src/java_tools/buildjar/BUILD
index 87f74b23..08e297b 100644
--- a/src/java_tools/buildjar/BUILD
+++ b/src/java_tools/buildjar/BUILD
@@ -69,7 +69,7 @@
     genclass = ["bootstrap_genclass_deploy.jar"],
     ijar = ["//third_party/ijar"],
     javabuilder = ["bootstrap_deploy.jar"],
-    javac = ["//third_party/java/jdk/langtools:javac_jar"],
+    javac = ["//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1"],
     jvm_opts = [
         "-XX:+TieredCompilation",
         "-XX:TieredStopAtLevel=1",
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD
index fa724d1..20c8755 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD
@@ -40,7 +40,7 @@
         "//third_party:auto_value",
         "//third_party:guava",
         "//third_party:jsr305",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -71,7 +71,7 @@
         "//src/main/protobuf:worker_protocol_java_proto",
         "//third_party:guava",
         "//third_party/java/jacoco:core",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -130,12 +130,12 @@
     name = "skylark-deps",
     jars = [
         "//third_party:auto_value-jars",
-        "//third_party:bootstrap_guava_and_error_prone-jars",
+        "//third_party:bootstrap_guava_and_error_prone-jars-2.0.20-SNAPSHOT",
         "//third_party:jsr305-jars",
         "//third_party/protobuf:protobuf-jars",
         "//third_party/java/jacoco:core-jars",
     ],
-    neverlink_jars = ["//third_party/java/jdk/langtools:javac_jar"],
+    neverlink_jars = ["//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1"],
     srcjars = [
         "//src/main/protobuf:deps_java_proto_srcjar",
         "//src/main/protobuf:worker_protocol_java_proto_srcjar",
@@ -172,7 +172,7 @@
     jars = [
         "//third_party:jsr305-jars",
         "//third_party:auto_value-jars",
-        "//third_party:bootstrap_guava_and_error_prone-jars",
+        "//third_party:bootstrap_guava_and_error_prone-jars-2.0.20-SNAPSHOT",
     ],
 )
 
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/BUILD b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/BUILD
index c7c76e4..5fea291 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/BUILD
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/BUILD
@@ -16,7 +16,7 @@
     srcs = ["BlazeJavaCompilerPlugin.java"],
     deps = [
         "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar:invalid_command_line_exception",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -28,7 +28,7 @@
         "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar:JarOwner",
         "//src/main/protobuf:deps_java_proto",
         "//third_party:guava",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -38,9 +38,9 @@
     deps = [
         ":plugins",
         "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar:invalid_command_line_exception",
-        "//third_party:error_prone",
+        "//third_party:error_prone-2.0.20-SNAPSHOT",
         "//third_party:guava",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -51,7 +51,7 @@
         ":plugins",
         "//src/main/protobuf:java_compilation_java_proto",
         "//third_party:guava",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/ImplicitDependencyExtractor.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/ImplicitDependencyExtractor.java
index 27c4639..6a5230f 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/ImplicitDependencyExtractor.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/ImplicitDependencyExtractor.java
@@ -71,9 +71,6 @@
    */
   public void accumulate(Context context, Set<ClassSymbol> roots) {
     Symtab symtab = Symtab.instance(context);
-    if (symtab.classes == null) {
-      return;
-    }
 
     // Collect transitive references for root types
     for (ClassSymbol root : roots) {
@@ -83,7 +80,7 @@
     Set<String> platformJars = getPlatformJars(fileManager);
 
     // Collect all other partially resolved types
-    for (ClassSymbol cs : symtab.classes.values()) {
+    for (ClassSymbol cs : symtab.getAllClasses()) {
       // When recording we want to differentiate between jar references through completed symbols
       // and incomplete symbols
       boolean completed = cs.isCompleted();
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BUILD b/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BUILD
index d1f4e5c..bbf9502 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BUILD
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BUILD
@@ -33,7 +33,7 @@
 # Exports the canonical javac jar location
 genrule(
     name = "java-langtools-location",
-    srcs = ["//third_party/java/jdk/langtools:javac_jar"],
+    srcs = ["//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1"],
     outs = ["JavaLangtoolsLocation.java"],
     cmd = "$(location java-langtools-location.sh) $@ $(GENDIR) io_bazel/ $(SRCS)",
     tools = ["java-langtools-location.sh"],
@@ -49,7 +49,7 @@
 java_library(
     name = "JavaLangtools",
     srcs = ["JavaLangtools.java"],
-    data = ["//third_party/java/jdk/langtools:javac_jar"],
+    data = ["//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1"],
     visibility = ["//visibility:public"],
     deps = [":java-langtools-location-lib"],
 )
@@ -102,7 +102,7 @@
 java_library(
     name = "BazelJavaCompiler",
     srcs = ["BazelJavaCompiler.java"],
-    data = ["//third_party/java/jdk/langtools:javac_jar"],
+    data = ["//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1"],
     visibility = [
         "//src:__subpackages__",
         "//third_party/ijar:__subpackages__",
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/BUILD b/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/BUILD
index d6c2c90..c21cf34 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/BUILD
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/BUILD
@@ -20,7 +20,7 @@
         "//third_party:guava",
         "//third_party:jsr305",
         "//third_party:turbine",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -31,7 +31,7 @@
         "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins:dependency",
         "//third_party:guava",
         "//third_party:jsr305",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -41,7 +41,7 @@
     deps = [
         "//third_party:guava",
         "//third_party:jsr305",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -56,7 +56,7 @@
         "//third_party:guava",
         "//third_party:jimfs",
         "//third_party:jsr305",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -68,7 +68,7 @@
         ":tree_pruner",
         "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins:dependency",
         "//third_party:jsr305",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -77,7 +77,7 @@
     srcs = ["ZipUtil.java"],
     deps = [
         "//third_party:jsr305",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -87,7 +87,7 @@
     deps = [
         "//third_party:guava",
         "//third_party:jsr305",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/resourcejar/BUILD b/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/resourcejar/BUILD
index 743a493..f715928 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/resourcejar/BUILD
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/resourcejar/BUILD
@@ -12,6 +12,6 @@
         "//third_party:guava",
         "//third_party:junit4",
         "//third_party:truth",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/bazel/BUILD b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/bazel/BUILD
index 4839134..a379582 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/bazel/BUILD
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/bazel/BUILD
@@ -9,11 +9,11 @@
     size = "small",
     srcs = ["BazelJavaCompilerTest.java"],
     data = [
-        "//third_party/java/jdk/langtools:javac_jar",
+        "//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1",
     ],
     jvm_flags = [
         # Simulates how Bazel invokes JavaBuilder
-        "-Xbootclasspath/p:$(location //third_party/java/jdk/langtools:javac_jar)",
+        "-Xbootclasspath/p:$(location //third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1)",
     ],
     tags = ["jdk8"],
     test_class = "com.google.devtools.build.java.bazel.BazelJavaCompilerTest",
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/BUILD b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/BUILD
index 6ee685c..145f070 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/BUILD
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/BUILD
@@ -8,11 +8,11 @@
     name = "JavacTurbineTest",
     srcs = ["JavacTurbineTest.java"],
     data = [
-        "//third_party/java/jdk/langtools:javac_jar",
+        "//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1",
     ],
     jvm_flags = [
         # Simulates how Bazel invokes turbine
-        "-Xbootclasspath/p:$(location //third_party/java/jdk/langtools:javac_jar)",
+        "-Xbootclasspath/p:$(location //third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1)",
     ],
     tags = ["jdk8"],
     deps = [
@@ -25,7 +25,7 @@
         "//third_party:junit4",
         "//third_party:truth",
         "//third_party:turbine",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
 
@@ -38,6 +38,6 @@
         "//third_party:guava",
         "//third_party:junit4",
         "//third_party:truth",
-        "//third_party/java/jdk/langtools:javac",
+        "//third_party/java/jdk/langtools:javac-9-dev-r4023-1",
     ],
 )
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java
index 8237dc1..3b243b4 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java
@@ -1322,8 +1322,8 @@
           + " implements java.util.function.Predicate<java.lang.String>",
       "abstract enum P extends java/lang/Enum  implements java/util/function/Predicate  {",
       "",
-      "  // access flags 0x4000",
-      "  enum INNERCLASS P$1 null null",
+      "  // access flags 0x4010",
+      "  final enum INNERCLASS P$1 null null",
       "",
       "  // access flags 0x4019",
       "  public final static enum LP; INSTANCE",
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD
index ac24516..7b57c33 100644
--- a/src/main/java/com/google/devtools/build/lib/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/BUILD
@@ -1295,7 +1295,7 @@
 bootstrap_java_library(
     name = "shell-skylark",
     srcs = glob(["shell/*.java"]),
-    jars = ["//third_party:bootstrap_guava_and_error_prone-jars"],
+    jars = ["//third_party:bootstrap_guava_and_error_prone-jars-2.0.20-SNAPSHOT"],
 )
 
 ########################################################################
diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD
index ce77f9c..8121d00 100644
--- a/src/test/shell/bazel/BUILD
+++ b/src/test/shell/bazel/BUILD
@@ -13,7 +13,7 @@
 genrule(
     name = "langtools-copy",
     testonly = 1,
-    srcs = ["//third_party/java/jdk/langtools:javac_jar"],
+    srcs = ["//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1"],
     outs = ["langtools.jar"],
     cmd = "cp $< $@",
 )
@@ -39,7 +39,7 @@
         "//src/test/shell:testenv.sh",
         "//third_party:srcs",
         "//third_party/ijar",
-        "//third_party/java/jdk/langtools:test-srcs",
+        "//third_party/java/jdk/langtools:test-srcs-9-dev-r4023-1",
         "//tools:srcs",
         "@local_jdk//:bootclasspath",
         # TODO(cushon): migrate to extclasspath and delete
diff --git a/src/test/shell/testenv.sh b/src/test/shell/testenv.sh
index 9562970..7683871 100755
--- a/src/test/shell/testenv.sh
+++ b/src/test/shell/testenv.sh
@@ -381,8 +381,8 @@
 
   copy_tools_directory
 
-  [ -e third_party/java/jdk/langtools/javac-9-dev-r3297-4.jar ] \
-    || ln -s "${langtools_path}"  third_party/java/jdk/langtools/javac-9-dev-r3297-4.jar
+  [ -e third_party/java/jdk/langtools/javac-9-dev-r4023-1.jar ] \
+    || ln -s "${langtools_path}"  third_party/java/jdk/langtools/javac-9-dev-r4023-1.jar
 
   touch WORKSPACE
 }
diff --git a/tools/jdk/BUILD b/tools/jdk/BUILD
index 005ae91..011689a 100644
--- a/tools/jdk/BUILD
+++ b/tools/jdk/BUILD
@@ -114,7 +114,7 @@
 
 filegroup(
     name = "langtools",
-    srcs = ["//third_party/java/jdk/langtools:javac_jar"],
+    srcs = ["//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1"],
 )
 
 java_import(
@@ -143,7 +143,7 @@
     header_compiler = ["@bazel_tools//tools/jdk:turbine"],
     ijar = ["@bazel_tools//tools/jdk:ijar"],
     javabuilder = ["@bazel_tools//tools/jdk:javabuilder"],
-    javac = ["//third_party/java/jdk/langtools:javac_jar"],
+    javac = ["//third_party/java/jdk/langtools:javac_jar-9-dev-r4023-1"],
     javac_supports_workers = 1,
     jvm_opts = [
         "-XX:+TieredCompilation",