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

Implement Implicitly Declared Classes and Instance Main Methods (Third Preview)

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P3 P3
    • 23
    • tools
    • None
    • source
    • minimal
    • Language construct
    • SE

      Summary

      We propose to re-preview the Implicitly Declared Classes and Instance Main Methods again. In addition to the current state of the feature, we propose to add implicit imports for java.base module (using the proposed Module Imports, JDK-8315129), and a "simple-io" (exact name is TBD) using the separatelly proposed "Simple-IO" class, please see JDK-8305457.

      Problem

      More experience is needed with the implicitly declared classes and instance main methods.

      The current experience from the last round of preview is twofold:

      • it is difficult for the inexperienced users to import manually from various packages
      • it is difficult for the inexperienced users to work with I/O.

      Solution

      The proposed solution is twofold:

      • re-preview the existing feature for another release, without changes unless otherwise noted.
      • add implicit imports for java.base and "simple-io" for the implicitly declared classes. This is similar to the long-term existing implicit import for java.lang, but the new implicit imports are only used for the implicitly declared classes. Note this aspect of the solution depends on the proposed Module Imports, JDK-8315129 and "simple-io" class, JDK-8305457, which are related, but not covered by this CSR.

      Specification

      The draft JLS and JVMS specifications are attached.

      There are no corresponding API changes.

            jlahoda Jan Lahoda
            jlaskey Jim Laskey
            Adam Sotona
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: