diff --git a/src/eval.js b/src/eval.js index ba8a68c..39ccd20 100644 --- a/src/eval.js +++ b/src/eval.js @@ -70,7 +70,7 @@ const codegen_function_expr = (node, node_cxt) => { const decl = node.is_arrow ? `(${args}) => ` - : `function ${node.name}(${args})` + : `function(${args})` const call = (node.is_async ? 'async ' : '') + decl + ( // TODO gensym __obj, __fn diff --git a/test/test.js b/test/test.js index f5d338b..2ad5641 100644 --- a/test/test.js +++ b/test/test.js @@ -1227,6 +1227,26 @@ export const tests = [ ) }), + test('function decl', () => { + const code = ` + function fib(n) { + if(n == 0 || n == 1) { + return n + } else { + return fib(n - 1) + fib(n - 2) + } + } + + fib(6) + ` + const i = test_initial_state(code) + const s = COMMANDS.calltree.arrow_right(COMMANDS.calltree.arrow_down( + COMMANDS.calltree.arrow_right(COMMANDS.calltree.arrow_down(i)) + )) + const s2 = COMMANDS.calltree.arrow_down(s) + assert_equal(s2.active_calltree_node.value, 5) + }), + /* TODO use before assignment test('no use before assignment', () => {