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

JShell API: Diag constructor should not be exposed and fix typo

    Details

    • Subcomponent:
    • Introduced In Version:
      9
    • Resolved In Build:
      b117
    • CPU:
      generic
    • OS:
      generic
    • Verification:
      Not verified

      Description

      jdk.jshell.Diag

      The default constructor for Diag is unintentionally exposed both to external users and visible in the javadoc (without text). Changing Diag to an interface is not a good choice since there are package-private concrete and abstract methods on Diag. Simply explicitly defining the constructor as package-private addresses this issue.

      There is also a typo in the javadoc.

      Original report below --

      The constructor for this class has no javadoc; it look like it might be the default constructor.

      Typo:
      > public abstract boolean isError()
      >
      > Is this diagnostic *and* error (as opposed to a warning or note)


      Should this type be an interface rather than an abstract class? Why do client need to be able to create their own instances of Diag? Basically, why is the constructor public vs package private?

      interface is a good choice because of its relationship to the compiler API Diagnostic

      Joe

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rfield Robert Field
                Reporter:
                rfield Robert Field
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: