源码索引 / CURRENT IMPLEMENTATION
docs/deep/examples/ast/manifest.json
194 行 · 点击行号可定位;函数链接随声明位置更新,不手填行号。
{
"repository": ".",
"reviewed_revision": "190ea2e238bba454cdcc335e95736c3f27f6be9a",
"source_sha256": "c39c8511ac95966b8a46a575c1d22317e3e694bf48055ae1483f62482c8f6d87",
"python": "3.9.6 (default, Apr 17 2026, 18:15:52) \n[Clang 21.0.0 (clang-2100.1.1.101)]",
"platform": "macOS-26.4.1-arm64-arm-64bit",
"module": "guest/plm.py",
"cases": [
{
"name": "independent",
"inputs": {},
"before": "a = tool('lookup', key='book')\nb = tool('lookup', key='shipping')\nresult = a + b",
"after": "_spine_future = _spine_prepare(lambda : ('lookup', {'key': 'book'}))\n_spine_future_ = _spine_prepare(lambda : ('lookup', {'key': 'shipping'}))\na = _spine_resolve(_spine_future, 'lookup', key='book')\nb = _spine_resolve(_spine_future_, 'lookup', key='shipping')\nresult = a + b",
"helpers": [
"_spine_prepare",
"_spine_resolve"
],
"changed": true,
"result": 26,
"error": null,
"events": [
[
"prepare",
"book"
],
[
"prepare",
"shipping"
],
[
"resolve",
"book"
],
[
"resolve",
"shipping"
]
],
"dump_equal": false,
"before_ast": ".local/deep/ast/independent/before.ast.txt",
"after_ast": ".local/deep/ast/independent/after.ast.txt"
},
{
"name": "dependency",
"inputs": {},
"before": "key = tool('lookup', key='choose')\nprice = tool('lookup', key=key)\nshipping = tool('lookup', key='shipping')\nresult = price + shipping",
"after": "_spine_future = _spine_prepare(lambda : ('lookup', {'key': 'choose'}))\n_spine_future__ = _spine_prepare(lambda : ('lookup', {'key': 'shipping'}))\nkey = _spine_resolve(_spine_future, 'lookup', key='choose')\n_spine_future_ = _spine_prepare(lambda : ('lookup', {'key': key}))\nprice = _spine_resolve(_spine_future_, 'lookup', key=key)\nshipping = _spine_resolve(_spine_future__, 'lookup', key='shipping')\nresult = price + shipping",
"helpers": [
"_spine_prepare",
"_spine_resolve"
],
"changed": true,
"result": 26,
"error": null,
"events": [
[
"prepare",
"choose"
],
[
"prepare",
"shipping"
],
[
"resolve",
"choose"
],
[
"prepare",
"book"
],
[
"resolve",
"book"
],
[
"resolve",
"shipping"
]
],
"dump_equal": false,
"before_ast": ".local/deep/ast/dependency/before.ast.txt",
"after_ast": ".local/deep/ast/dependency/after.ast.txt"
},
{
"name": "branch_false",
"inputs": {
"yes": false
},
"before": "if inputs['yes']:\n a = tool('lookup', key='book')\nelse:\n a = tool('lookup', key='shipping')\nresult = a",
"after": "if inputs['yes']:\n _spine_future = _spine_prepare(lambda : ('lookup', {'key': 'book'}))\n a = _spine_resolve(_spine_future, 'lookup', key='book')\nelse:\n _spine_future_ = _spine_prepare(lambda : ('lookup', {'key': 'shipping'}))\n a = _spine_resolve(_spine_future_, 'lookup', key='shipping')\nresult = a",
"helpers": [
"_spine_prepare",
"_spine_resolve"
],
"changed": true,
"result": 5,
"error": null,
"events": [
[
"prepare",
"shipping"
],
[
"resolve",
"shipping"
]
],
"dump_equal": false,
"before_ast": ".local/deep/ast/branch_false/before.ast.txt",
"after_ast": ".local/deep/ast/branch_false/after.ast.txt"
},
{
"name": "exception",
"inputs": {},
"before": "try:\n a = tool('lookup', key='book')\n b = tool('lookup', key=inputs['absent'])\nexcept KeyError:\n result = a",
"after": "try:\n _spine_future = _spine_prepare(lambda : ('lookup', {'key': 'book'}))\n _spine_future_ = _spine_prepare(lambda : ('lookup', {'key': inputs['absent']}))\n a = _spine_resolve(_spine_future, 'lookup', key='book')\n b = _spine_resolve(_spine_future_, 'lookup', key=inputs['absent'])\nexcept KeyError:\n result = a",
"helpers": [
"_spine_prepare",
"_spine_resolve"
],
"changed": true,
"result": 21,
"error": null,
"events": [
[
"prepare",
"book"
],
[
"prepare-error",
"KeyError"
],
[
"resolve",
"book"
]
],
"dump_equal": false,
"before_ast": ".local/deep/ast/exception/before.ast.txt",
"after_ast": ".local/deep/ast/exception/after.ast.txt"
},
{
"name": "unsupported_loop",
"inputs": {},
"before": "result = 0\nfor i in range(2):\n result += tool('lookup', key='book')",
"after": "result = 0\nfor i in range(2):\n result += tool('lookup', key='book')",
"helpers": null,
"changed": false,
"result": 42,
"error": null,
"events": [
[
"call",
"book"
],
[
"call",
"book"
]
],
"dump_equal": true,
"before_ast": ".local/deep/ast/unsupported_loop/before.ast.txt",
"after_ast": ".local/deep/ast/unsupported_loop/after.ast.txt"
},
{
"name": "freshname",
"inputs": {},
"before": "_spine_prepare = 'user value'\na = tool('lookup', key='book')\nresult = _spine_prepare",
"after": "_spine_prepare = 'user value'\n_spine_future = _spine_prepare_(lambda : ('lookup', {'key': 'book'}))\na = _spine_resolve(_spine_future, 'lookup', key='book')\nresult = _spine_prepare",
"helpers": [
"_spine_prepare_",
"_spine_resolve"
],
"changed": true,
"result": "user value",
"error": null,
"events": [
[
"prepare",
"book"
],
[
"resolve",
"book"
]
],
"dump_equal": false,
"before_ast": ".local/deep/ast/freshname/before.ast.txt",
"after_ast": ".local/deep/ast/freshname/after.ast.txt"
}
],
"admission": ".local/deep/ast/admission.json"
}