Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add procedure binding calls to call graph #524

Merged

Conversation

JosephWood2001
Copy link
Contributor

This allows for call graphs to properly pick up on more complex bindings calls by comparing the calls to the bindings of a type rather then procedures that are in the type's context. This allows for bindings that may rename a proc to be properly recognized (i.e. procedure :: new_name => original_proc_name).

Some bindings are generic bindings that map one name onto multiple procs. To handle this, bindings can now be nodes themselves in the call graphs. At the moment, I made their color the same as interfaces, and calls made from them with dotted lines.
Here is a basic example:

type :: some_type
contains
  procedure :: one
  procedure :: two
  generic :: one_two => one, two
end type some_type

example

'Simple' bindings that are just one label pointing to one proc are skipped over in the call graph, as I though it cluttered up the graph and was redundant.

This solves issue #516

@ZedThree ZedThree merged commit fd0470a into Fortran-FOSS-Programmers:master Jun 7, 2023
@JosephWood2001 JosephWood2001 deleted the renamed_bound_procs branch June 7, 2023 17:54
@ZedThree ZedThree added this to the v7.0.0 milestone Aug 16, 2023
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.

2 participants