CodemapEx.Graph (codemap_ex v0.0.1)

表示函数调用图的数据结构。

调用图是一个有向图,表示函数之间的调用关系。每个节点代表一个函数(由模块、函数名和参数数量组成), 边表示从一个函数到另一个函数的调用关系。

Link to this section Summary

Functions

向图中添加一条边。

向图中添加一个节点。

创建一个新的调用图。

格式化打印调用图。

将调用图转换为 Mermaid 图表格式的字符串。

Link to this section Types

Link to this type

function_ref()

@type function_ref() :: {module(), atom(), non_neg_integer()}
@type t() :: %CodemapEx.Graph{
  edges: [{function_ref(), function_ref()}],
  nodes: [function_ref()],
  start: function_ref()
}

Link to this section Functions

Link to this function

add_edge(graph, from, to)

向图中添加一条边。

参数

参数

  • graph - 现有的调用图
  • from - 边的起始节点
  • to - 边的目标节点

返回值

返回值

  • 更新后的调用图
Link to this function

add_node(graph, node)

向图中添加一个节点。

参数

参数

  • graph - 现有的调用图
  • node - 要添加的节点,格式为 {模块, 函数名, 参数数量}

返回值

返回值

  • 更新后的调用图

创建一个新的调用图。

参数

参数

  • start - 起始函数,格式为 {模块, 函数名, 参数数量}

返回值

返回值

  • 新的调用图结构
Link to this function

pretty_print(graph)

格式化打印调用图。

参数

参数

  • graph - 要打印的调用图

返回值

返回值

  • 原始调用图(方便链式调用)
Link to this function

to_mermaid(graph)

将调用图转换为 Mermaid 图表格式的字符串。

参数

参数

  • graph - 要转换的调用图

返回值

返回值

  • 包含 Mermaid 图表定义的字符串