fix step out bug

This commit is contained in:
Dmitry Vasilev
2023-06-10 18:34:58 +03:00
parent b774063b79
commit 1a23d3eefc
2 changed files with 27 additions and 8 deletions

View File

@@ -352,14 +352,20 @@ export const eval_modules = (
const result = run(module_fns, cxt, io_cache)
const make_result = result => ({
modules: result.modules,
logs: result.logs,
eval_cxt: result.eval_cxt,
calltree: assign_code(parse_result.modules, result.calltree),
call: result.call && assign_code(parse_result.modules, result.call),
io_cache: result.eval_cxt.io_cache,
})
const make_result = result => {
const calltree = assign_code(parse_result.modules, result.calltree)
const call = result.call == null
? null
: find_node(calltree, node => node.id == result.call.id)
return {
modules: result.modules,
logs: result.logs,
eval_cxt: result.eval_cxt,
calltree,
call,
io_cache: result.eval_cxt.io_cache,
}
}
if(is_async) {
return result.__original_then(make_result)

View File

@@ -1737,6 +1737,19 @@ const y = x()`
assert_equal(e.current_calltree_node.toplevel, true)
}),
test('edit function step out', () => {
const code = `
const x = () => {
return 1
}
x()
`
const i = test_initial_state(code)
const edited = COMMANDS.input(i, code.replace('1', '100'), code.indexOf('1')).state
const left = COMMANDS.calltree.arrow_left(edited)
assert_equal(left.active_calltree_node.toplevel, true)
}),
test('expand_calltree_node', () => {
// Test expecting MAX_DEPTH = 1
const s = test_initial_state(`