From c00504af8c5c1c87d085dca3fda322e43bae08a8 Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Fri, 9 Oct 2026 11:06:44 +0200 Subject: [PATCH] Answer architecture round 3: splitArm builds a resolved reference's arm in one call --- arm.go | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/arm.go b/arm.go index d4ad468..926c1ea 100644 --- a/arm.go +++ b/arm.go @@ -33,15 +33,10 @@ const ( // resolveRefs resolved it to; before that, a reference is whole. func splitArm(name string, refs map[string]resolvedRef) arm { if grammar.IsRef(name) { - r, resolved := refs[name] - if !resolved || len(r.tail) == 0 { - head := name - if resolved { - head = r.head - } - return pathArm(name, head, nil) + if r, resolved := refs[name]; resolved { + return pathArm(name, r.head, r.tail) } - return pathArm(name, r.head, r.tail) + return pathArm(name, name, nil) } segs, err := grammar.SplitPath(name) if err != nil || len(segs) == 1 {