refactor calltree WIP

This commit is contained in:
Dmitry Vasilev
2022-11-15 16:58:15 +08:00
parent 97e952f2d3
commit a81dbe74a2
4 changed files with 37 additions and 51 deletions

View File

@@ -54,7 +54,7 @@ run([
} else {
assert_equal(parsed.ok, true)
console.time('eval')
const result = eval_modules(parsed.modules, parsed.sorted).calltree
const result = eval_modules(parsed).calltree
console.timeEnd('eval')
/* TODO remove

View File

@@ -633,7 +633,7 @@ export const tests = [
'b' : 'import {a} from "a"; export const b = a*2;',
}
)
const calltree = eval_modules(parsed.modules, parsed.sorted).calltree;
const calltree = eval_modules(parsed).calltree;
const frame = eval_frame(calltree.b.calls, calltree)
assert_equal(frame.children[1].result, {ok: true})
assert_equal(frame.children[1].children[0].children[1].result, {ok: true, value: 2})
@@ -757,7 +757,7 @@ export const tests = [
}
)
assert_equal(parsed.sorted, ['a', 'b', 'c1', 'c2', 'd'])
const result = eval_modules(parsed.modules, parsed.sorted).calltree;
const result = eval_modules(parsed).calltree;
assert_equal(result.d.exports.d, 8)
}),
@@ -779,7 +779,7 @@ export const tests = [
'leaf' : 'export const leaf = {}',
}
)
const mods = eval_modules(parsed.modules, parsed.sorted).calltree
const mods = eval_modules(parsed).calltree
// Check that the same symbol improted through different paths gives the
// same result
assert_equal(mods.root.exports.is_eq, true)