• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mlange-42 / modo / 12756652605

13 Jan 2025 09:44PM CUT coverage: 24.042% (-0.5%) from 24.557%
12756652605

Pull #28

github

web-flow
Merge 9669d7dd9 into ac9016509
Pull Request #28: Parse cross-references

139 of 426 new or added lines in 6 files covered. (32.63%)

182 of 757 relevant lines covered (24.04%)

1.47 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/document/paths.go
1
package document
2

3
import "strings"
4

5
type elemPath struct {
6
        Elements  []string
7
        Kind      string
8
        IsSection bool
9
}
10

NEW
11
func collectPaths(doc *Docs) map[string]elemPath {
×
NEW
12
        out := map[string]elemPath{}
×
NEW
13
        collectPathsPackage(doc.Decl, []string{}, []string{}, out)
×
NEW
14
        return out
×
NEW
15
}
×
16

NEW
17
func collectPathsPackage(p *Package, elems []string, pathElem []string, out map[string]elemPath) {
×
NEW
18
        newElems := appendNew(elems, p.GetName())
×
NEW
19
        newPath := appendNew(pathElem, p.GetFileName())
×
NEW
20
        out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "package", IsSection: false}
×
NEW
21

×
NEW
22
        for _, pkg := range p.Packages {
×
NEW
23
                collectPathsPackage(pkg, newElems, newPath, out)
×
NEW
24
        }
×
NEW
25
        for _, mod := range p.Modules {
×
NEW
26
                collectPathsModule(mod, newElems, newPath, out)
×
NEW
27
        }
×
28
}
29

NEW
30
func collectPathsModule(m *Module, elems []string, pathElem []string, out map[string]elemPath) {
×
NEW
31
        newElems := appendNew(elems, m.GetName())
×
NEW
32
        newPath := appendNew(pathElem, m.GetFileName())
×
NEW
33
        out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "module", IsSection: false}
×
NEW
34

×
NEW
35
        for _, s := range m.Structs {
×
NEW
36
                collectPathsStruct(s, newElems, newPath, out)
×
NEW
37
        }
×
NEW
38
        for _, t := range m.Traits {
×
NEW
39
                collectPathsTrait(t, newElems, newPath, out)
×
NEW
40
        }
×
NEW
41
        for _, f := range m.Functions {
×
NEW
42
                newElems := appendNew(newElems, f.GetName())
×
NEW
43
                newPath := appendNew(newPath, f.GetFileName())
×
NEW
44
                out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "member", IsSection: false}
×
NEW
45
        }
×
46
}
47

NEW
48
func collectPathsStruct(s *Struct, elems []string, pathElem []string, out map[string]elemPath) {
×
NEW
49
        newElems := appendNew(elems, s.GetName())
×
NEW
50
        newPath := appendNew(pathElem, s.GetFileName())
×
NEW
51
        out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "member", IsSection: false}
×
NEW
52

×
NEW
53
        for _, f := range s.Parameters {
×
NEW
54
                newElems := appendNew(elems, f.GetName())
×
NEW
55
                newPath := appendNew(pathElem, "#Parameters")
×
NEW
56
                out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "member", IsSection: true}
×
NEW
57
        }
×
NEW
58
        for _, f := range s.Fields {
×
NEW
59
                newElems := appendNew(elems, f.GetName())
×
NEW
60
                newPath := appendNew(pathElem, "#Fields")
×
NEW
61
                out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "member", IsSection: true}
×
NEW
62
        }
×
NEW
63
        for _, f := range s.Functions {
×
NEW
64
                newElems := appendNew(elems, f.GetName())
×
NEW
65
                newPath := appendNew(pathElem, "#"+f.GetName())
×
NEW
66
                out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "member", IsSection: true}
×
NEW
67
        }
×
68
}
69

NEW
70
func collectPathsTrait(t *Trait, elems []string, pathElem []string, out map[string]elemPath) {
×
NEW
71
        newElems := appendNew(elems, t.GetName())
×
NEW
72
        newPath := appendNew(pathElem, t.GetFileName())
×
NEW
73
        out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "member", IsSection: false}
×
NEW
74

×
NEW
75
        for _, f := range t.Fields {
×
NEW
76
                newElems := appendNew(elems, f.GetName())
×
NEW
77
                newPath := appendNew(pathElem, "#Fields")
×
NEW
78
                out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "member", IsSection: true}
×
NEW
79
        }
×
NEW
80
        for _, f := range t.Functions {
×
NEW
81
                newElems := appendNew(elems, f.GetName())
×
NEW
82
                newPath := appendNew(pathElem, "#"+f.GetName())
×
NEW
83
                out[strings.Join(newElems, ".")] = elemPath{Elements: newPath, Kind: "member", IsSection: true}
×
NEW
84
        }
×
85
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc