Fortran-FOSS-Programmers / Fortran-FOSS-Programmers/ford

Graphs with long edge labels become degenerated

Open
#628 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
458
Forks
138
PR merge metrics
No merged PRs in 30d

Description

If a derived type has many components of the same type, inheritance graphs becomes degenerated, as edges length depends on length of label. In order to handle this, I added linebreaks. Additionally items from the label list are dropped if there are too many (more than 3 lines of width 40 required).

Here is a contrived example module
```
module test

implicit none
private

type, public :: t0
end type t0

type, extends(t0), public :: t1
end type t1

type, public :: t2
type(t1) :: component_1
type(t1) :: component_2
type(t1) :: component_3
type(t1) :: component_4
type(t1) :: component_5
type(t1) :: component_6
type(t1) :: component_7
type(t1) :: component_8
type(t1) :: component_9
end type t2

type, extends(t2), public :: t3
end type t3

type, extends(t3), public :: t4
end type t4

end module test
```

Contributor guide

No contributing guide indexed for this repository

Research direction

No source file, test, or entry point is named in the issue. Reproduce the supplied Fortran module and inspect the inheritance-graph generation path to find how long edge labels are laid out and truncated. Done means the graph no longer degenerates while retaining the stated line-break and label-list behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.