asciidoctor / asciidoctorj

:coffee: Java bindings for Asciidoctor. Asciidoctor on the JVM!
http://asciidoctor.org
Apache License 2.0
627 stars 172 forks source link

Fixes #1096. Make Cell extend StructuralNode instead of ContentNode. #1099

Closed robertpanzer closed 2 years ago

robertpanzer commented 2 years ago

Thank you for opening a pull request and contributing to AsciidoctorJ!

Please take a bit of time giving some details about your pull request:

Kind of change

Description

What is the goal of this pull request?

Fix the issue #1096. Calling Document.findBy() should not result in a ClassCastException.

How does it achieve that?

Make Cell extend StructuralNode instead of ContentNode. That way the ClassCastException does not happen anymore since Document.findBy() returns a List<StructuralNode>

Are there any alternative ways to implement this?

Make Document.findBy() return a List<ContentNode>. However, afaict, this doesn't make much sense.

Are there any implications of this pull request? Anything a user must know?

No. It's currently on the main branch which eventually results in the next major version. However, according to https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html, it should even be possible to backport this to the current 2.x line and publish a new bugfix release.

Issue

If this PR fixes an open issue, please add a line of the form:

Fixes #1096