GslCore
GslCore copied to clipboard
BUG/FEA: line number tracking for nested functions loses interior coordinates
With the multiple source position tracking feature, the call to functionThree in the source below records the line 4 final position and the call on line but misses line 15 and line 8. There is a test to assert the number of coordinates is 4 TestNestedFunctionExpansionHasThreeSources which is currently marked ignore. This test should ideally pass (and have its <Ignore> tag removed)
#refgenome cenpk
#platform stitch
let fun1(up,down) = // line 3 (zero numbered)
&up ; &down // line 4
end
let funTwo(gene) = // line 7
fun1(&gene,&gene) // line 8
end
fun1(uADH1,dADH1) // line 11
funTwo(uADH4) // line 12
let functionThree() = // line 14
funTwo(uADH7) // line 15
end
functionThree() // line 19
Totally minor nitpick, but if I understand correctly these functions aren't "recursive" but are just nested function calls.
Fair enough - at a meta level, functions using functions are recursive as a feature but that's just a lame way of saying nested. Updated feature request and will attempt to remove wrong references from comments in PR for function line numbers.