On Wed, 4 Oct 2023 10:08:31 GMT, Aggelos Biboudis <abimpou...@openjdk.org> wrote:
>> src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java line 3001: >> >>> 2999: } >>> 3000: >>> 3001: static class TypePairs { >> >> I believe this could be a record between two TypeSymbols? Then you could >> have an additional constructor that takes two types and retrieves their >> `tsym` and call the canonical constructor (and then you can drop >> equals/hashcode). > > Done and simplified > https://github.com/openjdk/jdk/pull/15638/commits/ef98c040c909981077936c6ff4280b6da04b8c24. > Do you think we can simplify further (or benefit at all) by also eliminating > duplication between SwitchBootstrap and Lower? I don't think there's an easy easy way to deduplicate the code, as the code occurs in two different modules, so it's messy (as bootstrap javac compilation cannot depend on stuff that is in the latest latest JDK, as it has to compile against JDK N-1, and, on the other hand, java.base cannot depend on any other modules). So, leave it as is, maybe add a comment that the code should stay in sync :-) ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/15638#discussion_r1348607516