Skip to content

feat(UI): Make inheritance graphs display both super and subclass relations - #2935

Open
tim21-f0 wants to merge 1 commit into
skylot:masterfrom
tim21-f0:inheritance-graphs-update
Open

feat(UI): Make inheritance graphs display both super and subclass relations#2935
tim21-f0 wants to merge 1 commit into
skylot:masterfrom
tim21-f0:inheritance-graphs-update

Conversation

@tim21-f0

Copy link
Copy Markdown

This change displays both super-classes and subclasses of the selected class in inheritance diagrams whereas previously only super-classes were displayed.

In detail:

The change extends the ClspGraph to track both aggregate supertypes and implementations, and direct parents and sub-classes. The inheritance graph now walks this cache of .parent relationships rather than accessing .superType and .interfaces directly.

This relies on the implied assumption that ClspGraph is up to date and .superType and .interfaces cannot change after it is created. Testing suggests that this is true.

Edges are no longer labelled with implements or extends. Edges now go the other way - the source is the super-class and the destination is the subclass. Interfaces have dashed boarders and classes have full boarders. The current class is highlighted with a blue border.

The new system loses information about whether a parent is implemented or extended so for classes that cannot be resolved to a ClassNode or ClspClass we can no longer tell if they are interfaces or classes.

@tim21-f0
tim21-f0 marked this pull request as ready for review August 11, 2026 11:13
@tim21-f0
tim21-f0 force-pushed the inheritance-graphs-update branch from 0394dc2 to 05dfdda Compare August 11, 2026 12:30
@tim21-f0

Copy link
Copy Markdown
Author

Apologies - should be up to date with master now.

@tim21-f0
tim21-f0 force-pushed the inheritance-graphs-update branch from 05dfdda to 372d673 Compare August 13, 2026 09:30
@tim21-f0

Copy link
Copy Markdown
Author

Force pushed again to remove any changes in the commit history to the ADB.java file - sorry for the confusion. Originally the source branch was not up to date with master so the ADB.java file erroneously showed up as being changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant