RFR: 8256755: Update build.tools.depend.Depend to handle record components in API signatures

Chris Hegarty chegar at openjdk.java.net
Tue Nov 24 10:06:09 UTC 2020

The `Depend` build tool creates a hash of a module's API elements, so that it can determine if downstream modules require recompilation. The build tool fails (throws an exception) when it encounters an "unknown" record attribute/component - the build tool predates records.

The components of a public record class, that is a member of an exported package, are logically part of the module's API. The name, type, and order are significant. This issue updates the build tool to include the aforementioned component characteristics.

This issue is a blocker to adding any public record types to the JDK - since the build will fail.


Commit messages:
 - Update the Depend(ency) build tool to handle the record attribute

Changes: https://git.openjdk.java.net/jdk/pull/1405/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1405&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8256755
  Stats: 33 lines in 2 files changed: 31 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1405.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1405/head:pull/1405

PR: https://git.openjdk.java.net/jdk/pull/1405

More information about the compiler-dev mailing list