JDK 14 RFR of 8230734: Remove default constructors from java.compiler

Joe Darcy joe.darcy at oracle.com
Mon Sep 9 03:06:16 UTC 2019


Hello,

Please review the removal of two default constructors from java.compiler:

     8230734: Remove default constructors from java.compiler
     webrev: http://cr.openjdk.java.net/~darcy/8230734.0/
     CSR:https://bugs.openjdk.java.net/browse/JDK-8230739

Patch below. One constructor is deprecated for removal since the class 
otherwise only has static members.

Note that including this change will require an MR for JSR 199.

Thanks,

-Joe

--- 
old/src/java.compiler/share/classes/javax/tools/DiagnosticCollector.java 
2019-09-08 19:55:24.828001000 -0700
+++ 
new/src/java.compiler/share/classes/javax/tools/DiagnosticCollector.java 
2019-09-08 19:55:24.688001000 -0700
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights 
reserved.
+ * Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights 
reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
@@ -43,6 +43,11 @@
      private List<Diagnostic<? extends S>> diagnostics =
              Collections.synchronizedList(new ArrayList<Diagnostic<? 
extends S>>());

+    /**
+     * Creates a new instance of DiagnosticCollector.
+     */
+    public DiagnosticCollector() {}
+
      public void report(Diagnostic<? extends S> diagnostic) {
          Objects.requireNonNull(diagnostic);
          diagnostics.add(diagnostic);
--- old/src/java.compiler/share/classes/javax/tools/ToolProvider.java 
2019-09-08 19:55:25.164001000 -0700
+++ new/src/java.compiler/share/classes/javax/tools/ToolProvider.java 
2019-09-08 19:55:25.032001000 -0700
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights 
reserved.
+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights 
reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
@@ -45,6 +45,12 @@
      private static final String systemJavaCompilerName   = 
"com.sun.tools.javac.api.JavacTool";

      /**
+     * Do not call.
+     */
+    @Deprecated(forRemoval=true, since="14")
+    public ToolProvider() {}
+
+    /**
       * Returns the Java™ programming language compiler provided
       * with this platform.
       * <p>The file manager returned by calling



More information about the compiler-dev mailing list