Skip to content

Commit

Permalink
HHH-15466 Compatibility with Jandex 3.0.0
Browse files Browse the repository at this point in the history
The only change in Jandex 3.0.0 relevant to Hibernate ORM is that
`Indexer.index()` used to return `ClassInfo`, but now returns `void`.
This is a breaking change, but Jandex 3.0.0 has a synthetic bridge
method with the old signature for binary compatibility -- except
it always return `null`. Therefore, with this commit, Hibernate ORM
simply ignores the return value completely, which makes it compatible
with Jandex 3.0.0 at runtime, even though it is still compiled against
Jandex 2.4. The code is also source-compatible with Jandex 3.0.0 if
that is ever needed.
  • Loading branch information
Ladicek authored and Sanne committed Aug 30, 2022
1 parent e55f09c commit 52f39f8
Showing 1 changed file with 2 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,9 @@ public void handleEntry(ArchiveEntry entry, ArchiveContext context) {
private ClassDescriptor toClassDescriptor(ArchiveEntry entry) {
try (InputStream inputStream = entry.getStreamAccess().accessInputStream()) {
Indexer indexer = new Indexer();
ClassInfo classInfo = indexer.index( inputStream );
indexer.index( inputStream );
Index index = indexer.complete();
ClassInfo classInfo = index.getKnownClasses().iterator().next();
return toClassDescriptor( classInfo, index, entry );
}
catch (IOException e) {
Expand Down

0 comments on commit 52f39f8

Please sign in to comment.