RFR: 8351556: Optimize Location.locationFor/isModuleOrientedLocation [v2]

Aleksey Shipilev shade at openjdk.org
Tue Mar 11 09:22:44 UTC 2025


On Mon, 10 Mar 2025 19:36:15 GMT, Chen Liang <liach at openjdk.org> wrote:

>> Aleksey Shipilev has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Also direct properties test
>>  - Touchups
>
> src/java.compiler/share/classes/javax/tools/StandardLocation.java line 166:
> 
>> 164:             boolean isOutputLocation = name.endsWith("_OUTPUT");
>> 165:             boolean isModuleOrientedLocation = computeIsModuleOrientedLocation(name);
>> 166:             newLoc = new Location() {
> 
> So something like:
> 
> record CustomLocation(String name, boolean isOutputLocation, boolean isModuleOrientedLocation) implements Location {
>     static final Pattern MODULE_WORD_PATTERN = Pattern.compile("\\bMODULE\\b");
>     static boolean computeIsModuleOrientedLocation(String name) {
>         return MODULE_WORD_PATTERN.matcher(name).matches();
>     }
>     @Override public String getName() { return name; }
> }
> boolean isOutputLocation = name.endsWith("_OUTPUT");
> boolean isModuleOrientedLocation = CustomLocation.computeIsModuleOrientedLocation(name);
> return new CustomLocation(name, isOutputLocation, isModuleOrientedLocation);

See https://github.com/openjdk/jdk/pull/23973/files#r1988770939

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/23973#discussion_r1988771741


More information about the compiler-dev mailing list