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
'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 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:
'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