StandardJavaFileManager::setLocationForModule specification misses 'Implementation Requirements:'

XMLWordPrintable

    • Type: CSR
    • Resolution: Approved
    • Priority: P3
    • 18
    • Component/s: core-libs
    • None
    • binary
    • minimal
    • A clarification is made to the spec. There is no functional change in behavior.
    • Java API
    • SE

      Summary

      Add an @implSpec for the default method for setLocationForModule.

      Problem

      While the method in question has a suitable @throws clause, unlike other default methods, it does not have an @implSpec tag. For consistency, it would be better if it did.

      Solution

      Add a boilerplate @implSpec for consistency with the other default methods on this interface.

      Specification

      diff --git a/src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java b/src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java
      --- a/src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java	(revision 4a7ccf36e9a3978c437db3efe892dd23e8a0b772)
      +++ b/src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java	(date 1626230189255)
      @@ -372,6 +372,9 @@
            * {@linkplain #setLocation setLocation} or
            * {@linkplain #setLocationFromPaths setLocationFromPaths}.
            *
      +     * @implSpec
      +     * The default implementation throws {@link UnsupportedOperationException}.
      +     *
            * @throws IllegalStateException if the location is not a module-oriented
            *  or output location.
            * @throws UnsupportedOperationException if this operation is not supported by
      

            Assignee:
            Jonathan Gibbons
            Reporter:
            Dmitry Bessonov
            Jan Lahoda
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: