Make great documentation goal 1.2, and plan the README's reorganisation and the nested-template gaps #33
@@ -257,6 +257,9 @@ func checkNodeFences(s nodeScope) error {
|
||||
return err
|
||||
}
|
||||
if refs {
|
||||
if err := s(checkOwnFamilies); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s(fence.checkDraws); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
+9
-1
@@ -24,7 +24,7 @@ func (f *drawFence) checkDrawGroup(path string, n node) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (f *drawFence) checkDraws(path string, n node) error {
|
||||
func checkOwnFamilies(path string, n node) error {
|
||||
t, ok := n.(*template)
|
||||
if !ok {
|
||||
return nil
|
||||
@@ -32,6 +32,14 @@ func (f *drawFence) checkDraws(path string, n node) error {
|
||||
if err := checkOwnFamily(t); err != nil {
|
||||
return fmt.Errorf("%s: %w", path, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (f *drawFence) checkDraws(path string, n node) error {
|
||||
t, ok := n.(*template)
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
if !f.readsPath(t) {
|
||||
return nil
|
||||
}
|
||||
|
||||
+6
-1
@@ -122,7 +122,12 @@ func (s *readSurvey) edge(from node, e renderEdge, at surveyAt) {
|
||||
s.reads = append(s.reads, pathRead{at, a, tr})
|
||||
}
|
||||
if tr != nil {
|
||||
tr.pins.each(func(t *table, r int) { at.pins = at.pins.entered(t, r) })
|
||||
tr.pins.each(func(t *table, r int) {
|
||||
if c := at.pins.clash(t, r); c != nil {
|
||||
panic(internalError("%s reads %s past a pinned row of %s, which checkOwnFamily refuses", e.reached(), t.selectorSpelling(r), c.path))
|
||||
}
|
||||
at.pins = at.pins.entered(t, r)
|
||||
})
|
||||
}
|
||||
}
|
||||
s.walk(e.to, at)
|
||||
|
||||
Reference in New Issue
Block a user