Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8230739

Remove default constructors from java.compiler

    XMLWordPrintable

Details

    • CSR
    • Status: Closed
    • P4
    • Resolution: Approved
    • 14
    • core-libs
    • None
    • behavioral
    • minimal
    • New deprecation warning possible.
    • Java API
    • SE

    Description

      Summary

      Add explicit constructors to two classes in the java.compiler module relying on default constructors.

      Problem

      Formal classes relying on default constructors.

      Solution

      Add explicit constructors to the classes in question.

      Specification

      --- 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&trade; programming language compiler provided
            * with this platform.
            * <p>The file manager returned by calling

      Attachments

        Issue Links

          Activity

            People

              darcy Joe Darcy
              darcy Joe Darcy
              Jonathan Gibbons
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: