basil commented on a change in pull request #151: URL: https://github.com/apache/ant/pull/151#discussion_r674341363
########## File path: src/main/org/apache/tools/ant/AntClassLoader.java ########## @@ -982,26 +979,21 @@ protected URL findResource(final String name) { * * @param name The resource name to search for. * Must not be <code>null</code>. - * @param parentHasBeenSearched whether ClassLoader.this.parent - * has been searched - will be true if the method is (indirectly) - * called from ClassLoader.getResources + * @param searchParent whether to search the parent first - will be true if the method is + * invoked from {@link #getResources(String)} or {@link #getNamedResources(String)} and + * false if the method is invoked from {@link #findResources(String)}. Review comment: This documentation is misleading as of commit 17527b6490. Before commit 17527b6490, we didn't override `getResources(String)`. The base version from `ClassLoader` is roughly as follows: ```java public Enumeration<URL> getResources(String name) throws IOException { if (parent != null) { // parent.getResources(name); } else { // getBootstrapResources(name); } else { // findResources(name); } } ``` This was `final` in earlier versions of Java, so the `parentHasBeenSearched` semantics make sense. We didn't want to repeat this work if invoked from `ClassLoader#getResources(String)`. But as of commit 17527b6490 we now have: ```java /** {@inheritDoc} */ @Override public Enumeration<URL> getResources(String name) throws IOException { return getNamedResources(name); } ``` So we're now no longer running `ClassLoader#getResources()`, only our own code. The only thing that still is necessary is to distinguish between our own `getResources()` (which is recursive and must check the parent first) and our own `findResources()` (which is non-recursive and must not check the parent first). A more straightforward way of representing this in the code is with a `searchParent` boolean that is the inverse of the older boolean. ########## File path: src/main/org/apache/tools/ant/AntClassLoader.java ########## @@ -936,9 +936,6 @@ private URL getUrl(String name) { * data (images, audio, text, etc) that can be accessed by class * code in a way that is independent of the location of the code. * - * <p>Would override getResources if that wasn't final in Java - * 1.4.</p> Review comment: This comment was obsolete as of commit 17527b6490, which added this code: ```java /** {@inheritDoc} */ @Override public Enumeration<URL> getResources(String name) throws IOException { return getNamedResources(name); } ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org