Skip to content
This repository has been archived by the owner on Sep 2, 2022. It is now read-only.

8266631: StandardJavaFileManager: getJavaFileObjects() impl violates the spec #56

Closed
wants to merge 4 commits into from
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -190,16 +190,16 @@ Iterable<? extends JavaFileObject> getJavaFileObjectsFromFiles(
* Returns file objects representing the given paths.
*
* @implSpec
* The default implementation converts each path to a file and calls
* {@link #getJavaFileObjectsFromFiles getJavaObjectsFromFiles}.
* IllegalArgumentException will be thrown if any of the paths
* cannot be converted to a file.
* The default implementation lazily converts each path to a file and calls
* {@link #getJavaFileObjectsFromFiles(Iterable) getJavaFileObjectsFromFiles}.
* {@linkplain IllegalArgumentException IllegalArgumentException} will be thrown
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest using with {@link} or {@code} but not {@linkplain}.
Given that there is a @throws which will link it, {@code} may be enough.

* if any of the paths cannot be converted to a file at the point the conversion happens.
*
* @param paths a list of paths
* @return a list of file objects
* @throws IllegalArgumentException if the list of paths includes
* a directory or if this file manager does not support any of the
* given paths.
* given paths
*
* @since 13
*/
Expand All @@ -212,10 +212,10 @@ default Iterable<? extends JavaFileObject> getJavaFileObjectsFromPaths(
* Returns file objects representing the given paths.
*
* @implSpec
* The default implementation converts each path to a file and calls
* {@link #getJavaFileObjectsFromFiles getJavaObjectsFromFiles}.
* IllegalArgumentException will be thrown if any of the paths
* cannot be converted to a file.
* The default implementation lazily converts each path to a file and calls
* {@link #getJavaFileObjectsFromPaths(Collection) getJavaFileObjectsFromPaths}.
* {@linkplain IllegalArgumentException IllegalArgumentException} will be thrown
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto use {@code}

* if any of the paths cannot be converted to a file at the point the conversion happens.
*
* @param paths a list of paths
* @return a list of file objects
Expand Down Expand Up @@ -248,7 +248,8 @@ default Iterable<? extends JavaFileObject> getJavaFileObjectsFromPaths(
* @param files an array of files
* @return a list of file objects
* @throws IllegalArgumentException if the array of files includes
* a directory
* a directory or if this file manager does not support any of the
* given paths
* @throws NullPointerException if the given array contains null
* elements
*/
Expand All @@ -262,10 +263,15 @@ default Iterable<? extends JavaFileObject> getJavaFileObjectsFromPaths(
* getJavaFileObjectsFromPaths({@linkplain java.util.Arrays#asList Arrays.asList}(paths))
* </pre>
*
* @implSpec
* The default implementation will only throw {@linkplain NullPointerException NullPointerException}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{@linkplain} should only be used for natural-language text.
Alternatively, it may work to use {@linkplain NullPointerException {@code NullPointerException}} but that seems overkill.

* if {@linkplain #getJavaFileObjectsFromPaths(Collection)} throws it.
*
* @param paths an array of paths
* @return a list of file objects
* @throws IllegalArgumentException if the array of files includes
* a directory
* a directory or if this file manager does not support any of the
* given paths
* @throws NullPointerException if the given array contains null
* elements
*
Expand Down Expand Up @@ -332,10 +338,11 @@ void setLocation(Location location, Iterable<? extends File> files)
* will be cancelled.
*
* @implSpec
* The default implementation converts each path to a file and calls
* {@link #getJavaFileObjectsFromFiles getJavaObjectsFromFiles}.
* The default implementation lazily converts each path to a file and calls
* {@link #setLocation setLocation}.
* {@linkplain IllegalArgumentException IllegalArgumentException}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto.

* will be thrown if any of the paths cannot be converted to a file.
* will be thrown if any of the paths cannot be converted to a file at
* the point the conversion happens.
*
* @param location a location
* @param paths a list of paths, if {@code null} use the default
Expand Down