static void AddCapture(MMap <Symbol, LNode> captures, LNode cap, Slice_ <LNode> items) { Debug.Assert(cap.Calls(S.Substitute, 1) && cap.Args.Last.IsId); if (items.Count == 1) { AddCapture(captures, cap.Args.Last.Name, items[0]); } else { AddCapture(captures, cap.Args.Last.Name, F.Call(S.Splice, items)); } }
static void AddCapture(MMap <Symbol, LNode> captures, LNode cap, Slice_ <LNode> items) { LNode capId = GetCaptureIdentifier(cap); if (items.Count == 1) { AddCapture(captures, capId.Name, items[0]); } else { AddCapture(captures, capId.Name, F.Call(S.Splice, items)); } }
static void AddCapture(MMap<Symbol, LNode> captures, LNode cap, Slice_<LNode> items) { LNode capId = GetCaptureIdentifier(cap); if (items.Count == 1) AddCapture(captures, capId.Name, items[0]); else AddCapture(captures, capId.Name, F.Call(S.Splice, items)); }
static void AddCapture(MMap<Symbol, LNode> captures, LNode cap, Slice_<LNode> items) { Debug.Assert(cap.Calls(S.Substitute, 1) && cap.Args.Last.IsId); if (items.Count == 1) AddCapture(captures, cap.Args.Last.Name, items[0]); else AddCapture(captures, cap.Args.Last.Name, F.Call(S.Splice, items)); }