MCPcopy Create free account
hub / github.com/HashLoad/boss / loadGraph

Function loadGraph

core/compiler/dependencies.go:25–49  ·  view source on GitHub ↗
(graph *graphs.GraphItem, dep *models.Dependency, deps []models.Dependency, father *graphs.Node)

Source from the content-addressed store, hash-verified

23}
24
25func loadGraph(graph *graphs.GraphItem, dep *models.Dependency, deps []models.Dependency, father *graphs.Node) {
26 var localFather *graphs.Node
27 if dep != nil {
28 localFather = graphs.NewNode(dep)
29 graph.AddNode(localFather)
30 }
31
32 if father != nil {
33 graph.AddEdge(father, localFather)
34 }
35
36 for _, dep := range deps {
37 pkgModule, err := models.LoadPackageOther(filepath.Join(env.GetModulesDir(), dep.GetName(), consts.FilePackage))
38 if err != nil {
39 node := graphs.NewNode(&dep)
40 graph.AddNode(node)
41 if localFather != nil {
42 graph.AddEdge(localFather, node)
43 }
44 } else {
45 deps := pkgModule.GetParsedDependencies()
46 loadGraph(graph, &dep, deps, localFather)
47 }
48 }
49}

Callers 2

loadOrderGraphFunction · 0.85
LoadOrderGraphAllFunction · 0.85

Calls 7

NewNodeFunction · 0.92
LoadPackageOtherFunction · 0.92
GetModulesDirFunction · 0.92
AddNodeMethod · 0.80
AddEdgeMethod · 0.80
GetNameMethod · 0.80
GetParsedDependenciesMethod · 0.80

Tested by

no test coverage detected